From 76fa3426eaa6c35e831258d72fc1bd03f5423359 Mon Sep 17 00:00:00 2001
From: XXXXRT666 <157766680+XXXXRT666@users.noreply.github.com>
Date: Mon, 16 Feb 2026 22:32:23 +0000
Subject: [PATCH 1/4] Partial migration to UV to speed up installation, rename
the tools folder to reduce conflicts, update readme
---
.dockerignore | 6 +-
.github/build_windows_packages.ps1 | 4 +-
.gitignore | 6 +-
.pre-commit-config.yaml | 11 +-
Colab-Inference.ipynb | 2 +-
Colab-WebUI.ipynb | 2 +-
Docker/miniforge_install.sh | 12 +-
Dockerfile | 24 +-
GPT_SoVITS/BigVGAN/README.md | 77 +-
GPT_SoVITS/TTS_infer_pack/TTS.py | 289 +-
GPT_SoVITS/TTS_infer_pack/TextPreprocessor.py | 41 +-
GPT_SoVITS/inference_cli.py | 8 +-
GPT_SoVITS/inference_gui.py | 48 +-
GPT_SoVITS/inference_webui.py | 159 +-
GPT_SoVITS/inference_webui_fast.py | 29 +-
GPT_SoVITS/module/data_utils.py | 70 +-
GPT_SoVITS/prepare_datasets/1-get-text.py | 37 +-
.../prepare_datasets/2-get-hubert-wav32k.py | 45 +-
GPT_SoVITS/prepare_datasets/2-get-sv.py | 38 +-
GPT_SoVITS/prepare_datasets/3-get-semantic.py | 28 +-
GPT_SoVITS/process_ckpt.py | 24 +-
README.md | 287 +-
api.py | 163 +-
api_v2.py | 46 +-
config.py | 11 +-
docker-compose.yaml | 8 +-
docker_build.sh | 2 +-
docs/cn/Changelog_CN.md | 4 +-
docs/cn/README.md | 280 +-
docs/ja/README.md | 260 +-
docs/ko/README.md | 265 +-
docs/tr/README.md | 253 +-
extra-req.txt | 1 -
.../AP_BWE_main/24kto48k/readme.txt | 0
{tools => gsv_tools}/AP_BWE_main/LICENSE | 0
{tools => gsv_tools}/AP_BWE_main/README.md | 0
.../AP_BWE_main/datasets1/__init__.py | 0
.../AP_BWE_main/datasets1/dataset.py | 7 +-
.../AP_BWE_main/models/__init__.py | 0
.../AP_BWE_main/models/model.py | 40 +-
{tools => gsv_tools}/__init__.py | 0
{tools => gsv_tools}/asr/config.py | 6 +-
{tools => gsv_tools}/asr/fasterwhisper_asr.py | 55 +-
{tools => gsv_tools}/asr/funasr_asr.py | 19 +-
{tools => gsv_tools}/asr/models/.gitignore | 0
{tools => gsv_tools}/assets.py | 0
{tools => gsv_tools}/audio_sr.py | 15 +-
{tools => gsv_tools}/cmd-denoise.py | 7 +-
{tools => gsv_tools}/denoise-model/.gitignore | 0
{tools => gsv_tools}/i18n/i18n.py | 3 +-
{tools => gsv_tools}/i18n/locale/en_US.json | 0
{tools => gsv_tools}/i18n/locale/es_ES.json | 0
{tools => gsv_tools}/i18n/locale/fr_FR.json | 0
{tools => gsv_tools}/i18n/locale/it_IT.json | 0
{tools => gsv_tools}/i18n/locale/ja_JP.json | 0
{tools => gsv_tools}/i18n/locale/ko_KR.json | 0
{tools => gsv_tools}/i18n/locale/pt_BR.json | 0
{tools => gsv_tools}/i18n/locale/ru_RU.json | 0
{tools => gsv_tools}/i18n/locale/tr_TR.json | 0
{tools => gsv_tools}/i18n/locale/zh_CN.json | 0
{tools => gsv_tools}/i18n/locale/zh_HK.json | 0
{tools => gsv_tools}/i18n/locale/zh_SG.json | 0
{tools => gsv_tools}/i18n/locale/zh_TW.json | 0
{tools => gsv_tools}/i18n/scan_i18n.py | 5 +-
{tools => gsv_tools}/my_utils.py | 15 +-
{tools => gsv_tools}/slice_audio.py | 7 +-
{tools => gsv_tools}/slicer2.py | 0
{tools => gsv_tools}/subfix_webui.py | 16 +-
.../uvr5/bs_roformer/__init__.py | 0
.../uvr5/bs_roformer/attend.py | 4 +-
.../uvr5/bs_roformer/bs_roformer.py | 35 +-
.../uvr5/bs_roformer/mel_band_roformer.py | 35 +-
{tools => gsv_tools}/uvr5/bsroformer.py | 31 +-
{tools => gsv_tools}/uvr5/mdxnet.py | 24 +-
.../uvr5/uvr5_weights/.gitignore | 0
{tools => gsv_tools}/uvr5/vr.py | 43 +-
{tools => gsv_tools}/uvr5/webui.py | 18 +-
install.ps1 | 196 +-
install.sh | 250 +-
pyproject.toml | 167 +
requirements.txt | 43 -
requirements/requirements.flash-attn.txt | 3 +
requirements/requirements.main.txt | 38 +
requirements/requirements.mlx.txt | 4 +
requirements/requirements.torch.rocm.txt | 1 +
requirements/requirements.torch.txt | 3 +
tools/uvr5/lib/lib_v5/dataset.py | 167 -
tools/uvr5/lib/lib_v5/layers.py | 106 -
tools/uvr5/lib/lib_v5/layers_123812KB.py | 106 -
tools/uvr5/lib/lib_v5/layers_123821KB.py | 106 -
tools/uvr5/lib/lib_v5/layers_33966KB.py | 110 -
tools/uvr5/lib/lib_v5/layers_537227KB.py | 110 -
tools/uvr5/lib/lib_v5/layers_537238KB.py | 110 -
tools/uvr5/lib/lib_v5/layers_new.py | 111 -
tools/uvr5/lib/lib_v5/model_param_init.py | 66 -
.../modelparams/1band_sr16000_hl512.json | 19 -
.../modelparams/1band_sr32000_hl512.json | 19 -
.../modelparams/1band_sr33075_hl384.json | 19 -
.../modelparams/1band_sr44100_hl1024.json | 19 -
.../modelparams/1band_sr44100_hl256.json | 19 -
.../modelparams/1band_sr44100_hl512.json | 19 -
.../modelparams/1band_sr44100_hl512_cut.json | 19 -
.../lib/lib_v5/modelparams/2band_32000.json | 30 -
.../lib_v5/modelparams/2band_44100_lofi.json | 30 -
.../lib/lib_v5/modelparams/2band_48000.json | 30 -
.../lib/lib_v5/modelparams/3band_44100.json | 42 -
.../lib_v5/modelparams/3band_44100_mid.json | 43 -
.../lib_v5/modelparams/3band_44100_msb2.json | 43 -
.../lib/lib_v5/modelparams/4band_44100.json | 54 -
.../lib_v5/modelparams/4band_44100_mid.json | 55 -
.../lib_v5/modelparams/4band_44100_msb.json | 55 -
.../lib_v5/modelparams/4band_44100_msb2.json | 55 -
.../modelparams/4band_44100_reverse.json | 55 -
.../lib_v5/modelparams/4band_44100_sw.json | 55 -
.../uvr5/lib/lib_v5/modelparams/4band_v2.json | 54 -
.../lib/lib_v5/modelparams/4band_v2_sn.json | 55 -
.../uvr5/lib/lib_v5/modelparams/4band_v3.json | 54 -
.../uvr5/lib/lib_v5/modelparams/ensemble.json | 43 -
tools/uvr5/lib/lib_v5/nets.py | 121 -
tools/uvr5/lib/lib_v5/nets_123812KB.py | 122 -
tools/uvr5/lib/lib_v5/nets_123821KB.py | 122 -
tools/uvr5/lib/lib_v5/nets_33966KB.py | 122 -
tools/uvr5/lib/lib_v5/nets_537227KB.py | 122 -
tools/uvr5/lib/lib_v5/nets_537238KB.py | 122 -
tools/uvr5/lib/lib_v5/nets_61968KB.py | 122 -
tools/uvr5/lib/lib_v5/nets_new.py | 125 -
tools/uvr5/lib/lib_v5/spec_utils.py | 635 --
tools/uvr5/lib/name_params.json | 263 -
tools/uvr5/lib/utils.py | 113 -
uv.lock | 8100 +++++++++++++++++
webui.py | 182 +-
131 files changed, 10094 insertions(+), 5685 deletions(-)
delete mode 100644 extra-req.txt
rename {tools => gsv_tools}/AP_BWE_main/24kto48k/readme.txt (100%)
rename {tools => gsv_tools}/AP_BWE_main/LICENSE (100%)
rename {tools => gsv_tools}/AP_BWE_main/README.md (100%)
rename {tools => gsv_tools}/AP_BWE_main/datasets1/__init__.py (100%)
rename {tools => gsv_tools}/AP_BWE_main/datasets1/dataset.py (96%)
rename {tools => gsv_tools}/AP_BWE_main/models/__init__.py (100%)
rename {tools => gsv_tools}/AP_BWE_main/models/model.py (93%)
rename {tools => gsv_tools}/__init__.py (100%)
rename {tools => gsv_tools}/asr/config.py (85%)
rename {tools => gsv_tools}/asr/fasterwhisper_asr.py (82%)
rename {tools => gsv_tools}/asr/funasr_asr.py (81%)
rename {tools => gsv_tools}/asr/models/.gitignore (100%)
rename {tools => gsv_tools}/assets.py (100%)
rename {tools => gsv_tools}/audio_sr.py (83%)
rename {tools => gsv_tools}/cmd-denoise.py (86%)
rename {tools => gsv_tools}/denoise-model/.gitignore (100%)
rename {tools => gsv_tools}/i18n/i18n.py (92%)
rename {tools => gsv_tools}/i18n/locale/en_US.json (100%)
rename {tools => gsv_tools}/i18n/locale/es_ES.json (100%)
rename {tools => gsv_tools}/i18n/locale/fr_FR.json (100%)
rename {tools => gsv_tools}/i18n/locale/it_IT.json (100%)
rename {tools => gsv_tools}/i18n/locale/ja_JP.json (100%)
rename {tools => gsv_tools}/i18n/locale/ko_KR.json (100%)
rename {tools => gsv_tools}/i18n/locale/pt_BR.json (100%)
rename {tools => gsv_tools}/i18n/locale/ru_RU.json (100%)
rename {tools => gsv_tools}/i18n/locale/tr_TR.json (100%)
rename {tools => gsv_tools}/i18n/locale/zh_CN.json (100%)
rename {tools => gsv_tools}/i18n/locale/zh_HK.json (100%)
rename {tools => gsv_tools}/i18n/locale/zh_SG.json (100%)
rename {tools => gsv_tools}/i18n/locale/zh_TW.json (100%)
rename {tools => gsv_tools}/i18n/scan_i18n.py (97%)
rename {tools => gsv_tools}/my_utils.py (93%)
rename {tools => gsv_tools}/slice_audio.py (95%)
rename {tools => gsv_tools}/slicer2.py (100%)
rename {tools => gsv_tools}/subfix_webui.py (97%)
rename {tools => gsv_tools}/uvr5/bs_roformer/__init__.py (100%)
rename {tools => gsv_tools}/uvr5/bs_roformer/attend.py (98%)
rename {tools => gsv_tools}/uvr5/bs_roformer/bs_roformer.py (96%)
rename {tools => gsv_tools}/uvr5/bs_roformer/mel_band_roformer.py (97%)
rename {tools => gsv_tools}/uvr5/bsroformer.py (92%)
rename {tools => gsv_tools}/uvr5/mdxnet.py (90%)
rename {tools => gsv_tools}/uvr5/uvr5_weights/.gitignore (100%)
rename {tools => gsv_tools}/uvr5/vr.py (91%)
rename {tools => gsv_tools}/uvr5/webui.py (92%)
create mode 100644 pyproject.toml
delete mode 100644 requirements.txt
create mode 100644 requirements/requirements.flash-attn.txt
create mode 100644 requirements/requirements.main.txt
create mode 100644 requirements/requirements.mlx.txt
create mode 100644 requirements/requirements.torch.rocm.txt
create mode 100644 requirements/requirements.torch.txt
delete mode 100644 tools/uvr5/lib/lib_v5/dataset.py
delete mode 100644 tools/uvr5/lib/lib_v5/layers.py
delete mode 100644 tools/uvr5/lib/lib_v5/layers_123812KB.py
delete mode 100644 tools/uvr5/lib/lib_v5/layers_123821KB.py
delete mode 100644 tools/uvr5/lib/lib_v5/layers_33966KB.py
delete mode 100644 tools/uvr5/lib/lib_v5/layers_537227KB.py
delete mode 100644 tools/uvr5/lib/lib_v5/layers_537238KB.py
delete mode 100644 tools/uvr5/lib/lib_v5/layers_new.py
delete mode 100644 tools/uvr5/lib/lib_v5/model_param_init.py
delete mode 100644 tools/uvr5/lib/lib_v5/modelparams/1band_sr16000_hl512.json
delete mode 100644 tools/uvr5/lib/lib_v5/modelparams/1band_sr32000_hl512.json
delete mode 100644 tools/uvr5/lib/lib_v5/modelparams/1band_sr33075_hl384.json
delete mode 100644 tools/uvr5/lib/lib_v5/modelparams/1band_sr44100_hl1024.json
delete mode 100644 tools/uvr5/lib/lib_v5/modelparams/1band_sr44100_hl256.json
delete mode 100644 tools/uvr5/lib/lib_v5/modelparams/1band_sr44100_hl512.json
delete mode 100644 tools/uvr5/lib/lib_v5/modelparams/1band_sr44100_hl512_cut.json
delete mode 100644 tools/uvr5/lib/lib_v5/modelparams/2band_32000.json
delete mode 100644 tools/uvr5/lib/lib_v5/modelparams/2band_44100_lofi.json
delete mode 100644 tools/uvr5/lib/lib_v5/modelparams/2band_48000.json
delete mode 100644 tools/uvr5/lib/lib_v5/modelparams/3band_44100.json
delete mode 100644 tools/uvr5/lib/lib_v5/modelparams/3band_44100_mid.json
delete mode 100644 tools/uvr5/lib/lib_v5/modelparams/3band_44100_msb2.json
delete mode 100644 tools/uvr5/lib/lib_v5/modelparams/4band_44100.json
delete mode 100644 tools/uvr5/lib/lib_v5/modelparams/4band_44100_mid.json
delete mode 100644 tools/uvr5/lib/lib_v5/modelparams/4band_44100_msb.json
delete mode 100644 tools/uvr5/lib/lib_v5/modelparams/4band_44100_msb2.json
delete mode 100644 tools/uvr5/lib/lib_v5/modelparams/4band_44100_reverse.json
delete mode 100644 tools/uvr5/lib/lib_v5/modelparams/4band_44100_sw.json
delete mode 100644 tools/uvr5/lib/lib_v5/modelparams/4band_v2.json
delete mode 100644 tools/uvr5/lib/lib_v5/modelparams/4band_v2_sn.json
delete mode 100644 tools/uvr5/lib/lib_v5/modelparams/4band_v3.json
delete mode 100644 tools/uvr5/lib/lib_v5/modelparams/ensemble.json
delete mode 100644 tools/uvr5/lib/lib_v5/nets.py
delete mode 100644 tools/uvr5/lib/lib_v5/nets_123812KB.py
delete mode 100644 tools/uvr5/lib/lib_v5/nets_123821KB.py
delete mode 100644 tools/uvr5/lib/lib_v5/nets_33966KB.py
delete mode 100644 tools/uvr5/lib/lib_v5/nets_537227KB.py
delete mode 100644 tools/uvr5/lib/lib_v5/nets_537238KB.py
delete mode 100644 tools/uvr5/lib/lib_v5/nets_61968KB.py
delete mode 100644 tools/uvr5/lib/lib_v5/nets_new.py
delete mode 100644 tools/uvr5/lib/lib_v5/spec_utils.py
delete mode 100644 tools/uvr5/lib/name_params.json
delete mode 100644 tools/uvr5/lib/utils.py
create mode 100644 uv.lock
diff --git a/.dockerignore b/.dockerignore
index bf36b884..6b6e2996 100644
--- a/.dockerignore
+++ b/.dockerignore
@@ -1,6 +1,6 @@
GPT_SoVITS/pretrained_models/*
-tools/asr/models/*
-tools/uvr5/uvr5_weights/*
+gsv_tools/asr/models/*
+gsv_tools/uvr5/uvr5_weights/*
.git
.DS_Store
@@ -21,6 +21,8 @@ cfg.json
speakers.json
ref_audios
+pylock.toml
+
# Byte-compiled / optimized / DLL files
__pycache__/
**/__pycache__/
diff --git a/.github/build_windows_packages.ps1 b/.github/build_windows_packages.ps1
index 2e4acb2a..723efe43 100644
--- a/.github/build_windows_packages.ps1
+++ b/.github/build_windows_packages.ps1
@@ -92,13 +92,13 @@ Write-Host "[INFO] Download G2PWModel..."
DownloadAndUnzip $G2PW_URL "GPT_SoVITS\text"
Write-Host "[INFO] Download UVR5 model..."
-DownloadAndUnzip $UVR5_URL "tools\uvr5"
+DownloadAndUnzip $UVR5_URL "gsv_tools\uvr5"
Write-Host "[INFO] Downloading funasr..."
$funasrUrl = "https://huggingface.co/XXXXRT/GPT-SoVITS-Pretrained/resolve/main/funasr.zip"
$funasrZip = "$tmpDir\funasr.zip"
Invoke-WebRequest -Uri $funasrUrl -OutFile $funasrZip
-Expand-Archive -Path $funasrZip -DestinationPath "$srcDir\tools\asr\models" -Force
+Expand-Archive -Path $funasrZip -DestinationPath "$srcDir\gsv_tools\asr\models" -Force
Remove-Item $funasrZip
Write-Host "[INFO] Download ffmpeg..."
diff --git a/.gitignore b/.gitignore
index d280e459..459e3622 100644
--- a/.gitignore
+++ b/.gitignore
@@ -16,8 +16,10 @@ ffprobe*
cfg.json
speakers.json
ref_audios
-tools/AP_BWE_main/24kto48k/*
-!tools/AP_BWE_main/24kto48k/readme.txt
+gsv_tools/AP_BWE_main/24kto48k/*
+!gsv_tools/AP_BWE_main/24kto48k/readme.txt
+
+pylock.toml
# Byte-compiled / optimized / DLL files
__pycache__/
diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml
index 8432bef5..09633d50 100644
--- a/.pre-commit-config.yaml
+++ b/.pre-commit-config.yaml
@@ -3,13 +3,18 @@ ci:
repos:
- repo: https://github.com/astral-sh/ruff-pre-commit
- rev: v0.11.7
+ rev: v0.15.1
hooks:
# Run the linter.
- id: ruff
types_or: [ python, pyi ]
- args: [ --fix , "--exit-zero" ]
+ args: [ --fix , "--unsafe-fixes", "--exit-zero" ]
# Run the formatter.
- id: ruff-format
types_or: [ python, pyi ]
- args: [ --line-length, "120", --target-version, "py311" ]
+
+- repo: https://github.com/astral-sh/uv-pre-commit
+ # uv version.
+ rev: 0.10.3
+ hooks:
+ - id: uv-lock
\ No newline at end of file
diff --git a/Colab-Inference.ipynb b/Colab-Inference.ipynb
index b962c9b3..8be91bd5 100644
--- a/Colab-Inference.ipynb
+++ b/Colab-Inference.ipynb
@@ -53,7 +53,7 @@
"if conda env list | awk '{print $1}' | grep -Fxq \"GPTSoVITS\"; then\n",
" :\n",
"else\n",
- " conda create -n GPTSoVITS python=3.10 -y\n",
+ " conda create -n GPTSoVITS python=3.11 -y\n",
"fi\n",
"\n",
"source activate GPTSoVITS\n",
diff --git a/Colab-WebUI.ipynb b/Colab-WebUI.ipynb
index b1403f33..62b7171a 100644
--- a/Colab-WebUI.ipynb
+++ b/Colab-WebUI.ipynb
@@ -52,7 +52,7 @@
"if conda env list | awk '{print $1}' | grep -Fxq \"GPTSoVITS\"; then\n",
" :\n",
"else\n",
- " conda create -n GPTSoVITS python=3.10 -y\n",
+ " conda create -n GPTSoVITS python=3.11 -y\n",
"fi\n",
"\n",
"source activate GPTSoVITS\n",
diff --git a/Docker/miniforge_install.sh b/Docker/miniforge_install.sh
index c270fa7e..e564af0c 100644
--- a/Docker/miniforge_install.sh
+++ b/Docker/miniforge_install.sh
@@ -57,21 +57,21 @@ source "$HOME/.bashrc"
"$HOME/conda/bin/conda" install python=3.12 -y
-"$HOME/conda/bin/conda" install gcc=11 gxx ffmpeg cmake make unzip $SYSROOT_PKG "libstdcxx-ng>=11" -y
+"$HOME/conda/bin/conda" install gcc=11 gxx ffmpeg uv cmake make unzip $SYSROOT_PKG "libstdcxx-ng>=11" -y
if [ "$CUDA_VERSION" = "12.8" ]; then
- "$HOME/conda/bin/pip" install torch torchcodec --no-cache-dir --index-url https://download.pytorch.org/whl/cu128
+ "$HOME/conda/bin/uv" pip install torch torchcodec --no-cache-dir --index-url https://download.pytorch.org/whl/cu128
"$HOME/conda/bin/conda" install cuda-nvcc=12.8 -y
elif [ "$CUDA_VERSION" = "12.6" ]; then
- "$HOME/conda/bin/pip" install torch torchcodec --no-cache-dir --index-url https://download.pytorch.org/whl/cu126
+ "$HOME/conda/bin/uv" pip install torch torchcodec --no-cache-dir --index-url https://download.pytorch.org/whl/cu126
"$HOME/conda/bin/conda" install cuda-nvcc=12.6 -y
fi
export PATH="$HOME/conda/bin:$PATH"
-"$HOME/conda/bin/pip" install psutil ninja packaging wheel "setuptools>=42" einops
-"$HOME/conda/bin/pip" install flash-attn -i https://xxxxrt666.github.io/PIP-Index/ --no-build-isolation
-"$HOME/conda/bin/pip" cache purge
+"$HOME/conda/bin/uv" pip install psutil ninja packaging wheel "setuptools>=42" einops
+"$HOME/conda/bin/uv" pip install flash-attn -i https://xxxxrt666.github.io/PIP-Index/ --no-build-isolation
+"$HOME/conda/bin/uv" cache clean
rm $LOG_PATH
diff --git a/Dockerfile b/Dockerfile
index 30cd3eaf..9fea16a7 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -15,7 +15,7 @@ SHELL ["/bin/bash", "-c"]
WORKDIR /workspace/GPT-SoVITS
-COPY Docker /workspace/GPT-SoVITS/Docker/
+COPY . /workspace/GPT-SoVITS
ARG LITE=false
ENV LITE=${LITE}
@@ -26,12 +26,6 @@ ENV WORKFLOW=${WORKFLOW}
ARG TARGETPLATFORM
ENV TARGETPLATFORM=${TARGETPLATFORM}
-COPY extra-req.txt /workspace/GPT-SoVITS/
-
-COPY requirements.txt /workspace/GPT-SoVITS/
-
-COPY install.sh /workspace/GPT-SoVITS/
-
RUN bash Docker/install_wrapper.sh
EXPOSE 9871 9872 9873 9874 9880
@@ -40,21 +34,13 @@ ENV PYTHONPATH="/workspace/GPT-SoVITS"
RUN conda init bash && echo "conda activate base" >> ~/.bashrc
-WORKDIR /workspace
-
-RUN rm -rf /workspace/GPT-SoVITS
-
-WORKDIR /workspace/GPT-SoVITS
-
-COPY . /workspace/GPT-SoVITS
-
CMD ["/bin/bash", "-c", "\
rm -rf /workspace/GPT-SoVITS/GPT_SoVITS/pretrained_models && \
rm -rf /workspace/GPT-SoVITS/GPT_SoVITS/text/G2PWModel && \
- rm -rf /workspace/GPT-SoVITS/tools/asr/models && \
- rm -rf /workspace/GPT-SoVITS/tools/uvr5/uvr5_weights && \
+ rm -rf /workspace/GPT-SoVITS/gsv_tools/asr/models && \
+ rm -rf /workspace/GPT-SoVITS/gsv_tools/uvr5/uvr5_weights && \
ln -s /workspace/models/pretrained_models /workspace/GPT-SoVITS/GPT_SoVITS/pretrained_models && \
ln -s /workspace/models/G2PWModel /workspace/GPT-SoVITS/GPT_SoVITS/text/G2PWModel && \
- ln -s /workspace/models/asr_models /workspace/GPT-SoVITS/tools/asr/models && \
- ln -s /workspace/models/uvr5_weights /workspace/GPT-SoVITS/tools/uvr5/uvr5_weights && \
+ ln -s /workspace/models/asr_models /workspace/GPT-SoVITS/gsv_tools/asr/models && \
+ ln -s /workspace/models/uvr5_weights /workspace/GPT-SoVITS/gsv_tools/uvr5/uvr5_weights && \
exec bash"]
\ No newline at end of file
diff --git a/GPT_SoVITS/BigVGAN/README.md b/GPT_SoVITS/BigVGAN/README.md
index 2fa70cee..0eb85f7a 100644
--- a/GPT_SoVITS/BigVGAN/README.md
+++ b/GPT_SoVITS/BigVGAN/README.md
@@ -9,6 +9,7 @@
## News
+
- **Sep 2024 (v2.4):**
- We have updated the pretrained checkpoints trained for 5M steps. This is final release of the BigVGAN-v2 checkpoints.
@@ -31,7 +32,7 @@
The codebase has been tested on Python `3.10` and PyTorch `2.3.1` conda packages with either `pytorch-cuda=12.1` or `pytorch-cuda=11.8`. Below is an example command to create the conda environment:
```shell
-conda create -n bigvgan python=3.10 pytorch torchvision torchaudio pytorch-cuda=12.1 -c pytorch -c nvidia
+conda create -n bigvgan python=3.11 pytorch torchvision torchaudio pytorch-cuda=12.1 -c pytorch -c nvidia
conda activate bigvgan
```
@@ -186,17 +187,17 @@ If you see `[Fail] test CUDA fused vs. plain torch BigVGAN inference`, it means
We provide the [pretrained models on Hugging Face Collections](https://huggingface.co/collections/nvidia/bigvgan-66959df3d97fd7d98d97dc9a).
One can download the checkpoints of the generator weight (named `bigvgan_generator.pt`) and its discriminator/optimizer states (named `bigvgan_discriminator_optimizer.pt`) within the listed model repositories.
-| Model Name | Sampling Rate | Mel band | fmax | Upsampling Ratio | Params | Dataset | Steps | Fine-Tuned |
-|:--------------------------------------------------------------------------------------------------------:|:-------------:|:--------:|:-----:|:----------------:|:------:|:--------------------------:|:-----:|:----------:|
-| [bigvgan_v2_44khz_128band_512x](https://huggingface.co/nvidia/bigvgan_v2_44khz_128band_512x) | 44 kHz | 128 | 22050 | 512 | 122M | Large-scale Compilation | 5M | No |
-| [bigvgan_v2_44khz_128band_256x](https://huggingface.co/nvidia/bigvgan_v2_44khz_128band_256x) | 44 kHz | 128 | 22050 | 256 | 112M | Large-scale Compilation | 5M | No |
-| [bigvgan_v2_24khz_100band_256x](https://huggingface.co/nvidia/bigvgan_v2_24khz_100band_256x) | 24 kHz | 100 | 12000 | 256 | 112M | Large-scale Compilation | 5M | No |
-| [bigvgan_v2_22khz_80band_256x](https://huggingface.co/nvidia/bigvgan_v2_22khz_80band_256x) | 22 kHz | 80 | 11025 | 256 | 112M | Large-scale Compilation | 5M | No |
-| [bigvgan_v2_22khz_80band_fmax8k_256x](https://huggingface.co/nvidia/bigvgan_v2_22khz_80band_fmax8k_256x) | 22 kHz | 80 | 8000 | 256 | 112M | Large-scale Compilation | 5M | No |
-| [bigvgan_24khz_100band](https://huggingface.co/nvidia/bigvgan_24khz_100band) | 24 kHz | 100 | 12000 | 256 | 112M | LibriTTS | 5M | No |
-| [bigvgan_base_24khz_100band](https://huggingface.co/nvidia/bigvgan_base_24khz_100band) | 24 kHz | 100 | 12000 | 256 | 14M | LibriTTS | 5M | No |
-| [bigvgan_22khz_80band](https://huggingface.co/nvidia/bigvgan_22khz_80band) | 22 kHz | 80 | 8000 | 256 | 112M | LibriTTS + VCTK + LJSpeech | 5M | No |
-| [bigvgan_base_22khz_80band](https://huggingface.co/nvidia/bigvgan_base_22khz_80band) | 22 kHz | 80 | 8000 | 256 | 14M | LibriTTS + VCTK + LJSpeech | 5M | No |
+| Model Name | Sampling Rate | Mel band | fmax | Upsampling Ratio | Params | Dataset | Steps | Fine-Tuned |
+| :------------------------------------------------------------------------------------------------------: | :-----------: | :------: | :---: | :--------------: | :----: | :------------------------: | :---: | :--------: |
+| [bigvgan_v2_44khz_128band_512x](https://huggingface.co/nvidia/bigvgan_v2_44khz_128band_512x) | 44 kHz | 128 | 22050 | 512 | 122M | Large-scale Compilation | 5M | No |
+| [bigvgan_v2_44khz_128band_256x](https://huggingface.co/nvidia/bigvgan_v2_44khz_128band_256x) | 44 kHz | 128 | 22050 | 256 | 112M | Large-scale Compilation | 5M | No |
+| [bigvgan_v2_24khz_100band_256x](https://huggingface.co/nvidia/bigvgan_v2_24khz_100band_256x) | 24 kHz | 100 | 12000 | 256 | 112M | Large-scale Compilation | 5M | No |
+| [bigvgan_v2_22khz_80band_256x](https://huggingface.co/nvidia/bigvgan_v2_22khz_80band_256x) | 22 kHz | 80 | 11025 | 256 | 112M | Large-scale Compilation | 5M | No |
+| [bigvgan_v2_22khz_80band_fmax8k_256x](https://huggingface.co/nvidia/bigvgan_v2_22khz_80band_fmax8k_256x) | 22 kHz | 80 | 8000 | 256 | 112M | Large-scale Compilation | 5M | No |
+| [bigvgan_24khz_100band](https://huggingface.co/nvidia/bigvgan_24khz_100band) | 24 kHz | 100 | 12000 | 256 | 112M | LibriTTS | 5M | No |
+| [bigvgan_base_24khz_100band](https://huggingface.co/nvidia/bigvgan_base_24khz_100band) | 24 kHz | 100 | 12000 | 256 | 14M | LibriTTS | 5M | No |
+| [bigvgan_22khz_80band](https://huggingface.co/nvidia/bigvgan_22khz_80band) | 22 kHz | 80 | 8000 | 256 | 112M | LibriTTS + VCTK + LJSpeech | 5M | No |
+| [bigvgan_base_22khz_80band](https://huggingface.co/nvidia/bigvgan_base_22khz_80band) | 22 kHz | 80 | 8000 | 256 | 14M | LibriTTS + VCTK + LJSpeech | 5M | No |
The paper results are based on the original 24kHz BigVGAN models (`bigvgan_24khz_100band` and `bigvgan_base_24khz_100band`) trained on LibriTTS dataset.
We also provide 22kHz BigVGAN models with band-limited setup (i.e., fmax=8000) for TTS applications.
@@ -219,37 +220,37 @@ When training BigVGAN-v2 from scratch with small batch size, it can potentially
Below are the objective results of the 24kHz model (`bigvgan_v2_24khz_100band_256x`) obtained from the LibriTTS `dev` sets. BigVGAN-v2 shows noticeable improvements of the metrics. The model also exhibits reduced perceptual artifacts, especially for non-speech audio.
-| Model | Dataset | Steps | PESQ(↑) | M-STFT(↓) | MCD(↓) | Periodicity(↓) | V/UV F1(↑) |
-|:----------:|:-----------------------:|:-----:|:---------:|:----------:|:----------:|:--------------:|:----------:|
-| BigVGAN | LibriTTS | 1M | 4.027 | 0.7997 | 0.3745 | 0.1018 | 0.9598 |
-| BigVGAN | LibriTTS | 5M | 4.256 | 0.7409 | 0.2988 | 0.0809 | 0.9698 |
-| BigVGAN-v2 | Large-scale Compilation | 3M | 4.359 | 0.7134 | 0.3060 | 0.0621 | 0.9777 |
-| BigVGAN-v2 | Large-scale Compilation | 5M | **4.362** | **0.7026** | **0.2903** | **0.0593** | **0.9793** |
+| Model | Dataset | Steps | PESQ(↑) | M-STFT(↓) | MCD(↓) | Periodicity(↓) | V/UV F1(↑) |
+| :--------: | :---------------------: | :---: | :-------: | :--------: | :--------: | :------------: | :--------: |
+| BigVGAN | LibriTTS | 1M | 4.027 | 0.7997 | 0.3745 | 0.1018 | 0.9598 |
+| BigVGAN | LibriTTS | 5M | 4.256 | 0.7409 | 0.2988 | 0.0809 | 0.9698 |
+| BigVGAN-v2 | Large-scale Compilation | 3M | 4.359 | 0.7134 | 0.3060 | 0.0621 | 0.9777 |
+| BigVGAN-v2 | Large-scale Compilation | 5M | **4.362** | **0.7026** | **0.2903** | **0.0593** | **0.9793** |
## Speed Benchmark
Below are the speed and VRAM usage benchmark results of BigVGAN from `tests/test_cuda_vs_torch_model.py`, using `bigvgan_v2_24khz_100band_256x` as a reference model.
-| GPU | num_mel_frame | use_cuda_kernel | Speed (kHz) | Real-time Factor | VRAM (GB) |
-|:--------------------------:|:-------------:|:---------------:|:-----------:|:----------------:|:---------:|
-| NVIDIA A100 | 256 | False | 1672.1 | 69.7x | 1.3 |
-| | | True | 3916.5 | 163.2x | 1.3 |
-| | 2048 | False | 1899.6 | 79.2x | 1.7 |
-| | | True | 5330.1 | 222.1x | 1.7 |
-| | 16384 | False | 1973.8 | 82.2x | 5.0 |
-| | | True | 5761.7 | 240.1x | 4.4 |
-| NVIDIA GeForce RTX 3080 | 256 | False | 841.1 | 35.0x | 1.3 |
-| | | True | 1598.1 | 66.6x | 1.3 |
-| | 2048 | False | 929.9 | 38.7x | 1.7 |
-| | | True | 1971.3 | 82.1x | 1.6 |
-| | 16384 | False | 943.4 | 39.3x | 5.0 |
-| | | True | 2026.5 | 84.4x | 3.9 |
-| NVIDIA GeForce RTX 2080 Ti | 256 | False | 515.6 | 21.5x | 1.3 |
-| | | True | 811.3 | 33.8x | 1.3 |
-| | 2048 | False | 576.5 | 24.0x | 1.7 |
-| | | True | 1023.0 | 42.6x | 1.5 |
-| | 16384 | False | 589.4 | 24.6x | 5.0 |
-| | | True | 1068.1 | 44.5x | 3.2 |
+| GPU | num_mel_frame | use_cuda_kernel | Speed (kHz) | Real-time Factor | VRAM (GB) |
+| :------------------------: | :-----------: | :-------------: | :---------: | :--------------: | :-------: |
+| NVIDIA A100 | 256 | False | 1672.1 | 69.7x | 1.3 |
+| | | True | 3916.5 | 163.2x | 1.3 |
+| | 2048 | False | 1899.6 | 79.2x | 1.7 |
+| | | True | 5330.1 | 222.1x | 1.7 |
+| | 16384 | False | 1973.8 | 82.2x | 5.0 |
+| | | True | 5761.7 | 240.1x | 4.4 |
+| NVIDIA GeForce RTX 3080 | 256 | False | 841.1 | 35.0x | 1.3 |
+| | | True | 1598.1 | 66.6x | 1.3 |
+| | 2048 | False | 929.9 | 38.7x | 1.7 |
+| | | True | 1971.3 | 82.1x | 1.6 |
+| | 16384 | False | 943.4 | 39.3x | 5.0 |
+| | | True | 2026.5 | 84.4x | 3.9 |
+| NVIDIA GeForce RTX 2080 Ti | 256 | False | 515.6 | 21.5x | 1.3 |
+| | | True | 811.3 | 33.8x | 1.3 |
+| | 2048 | False | 576.5 | 24.0x | 1.7 |
+| | | True | 1023.0 | 42.6x | 1.5 |
+| | 16384 | False | 589.4 | 24.6x | 5.0 |
+| | | True | 1068.1 | 44.5x | 3.2 |
## Acknowledgements
diff --git a/GPT_SoVITS/TTS_infer_pack/TTS.py b/GPT_SoVITS/TTS_infer_pack/TTS.py
index 9c8344b0..21596c7e 100644
--- a/GPT_SoVITS/TTS_infer_pack/TTS.py
+++ b/GPT_SoVITS/TTS_infer_pack/TTS.py
@@ -10,10 +10,10 @@ from copy import deepcopy
import torchaudio
from tqdm import tqdm
+
now_dir = os.getcwd()
sys.path.append(now_dir)
import os
-from typing import List, Tuple, Union
import ffmpeg
import librosa
@@ -25,23 +25,24 @@ from AR.models.t2s_lightning_module import Text2SemanticLightningModule
from BigVGAN.bigvgan import BigVGAN
from feature_extractor.cnhubert import CNHubert
from module.mel_processing import mel_spectrogram_torch, spectrogram_torch
-from module.models import SynthesizerTrn, SynthesizerTrnV3, Generator
+from module.models import Generator, SynthesizerTrn, SynthesizerTrnV3
from peft import LoraConfig, get_peft_model
from process_ckpt import get_sovits_version_from_path_fast, load_sovits_new
+from sv import SV
from transformers import AutoModelForMaskedLM, AutoTokenizer
-from tools.audio_sr import AP_BWE
-from tools.i18n.i18n import I18nAuto, scan_language_list
+from gsv_tools.audio_sr import AP_BWE
+from gsv_tools.i18n.i18n import I18nAuto, scan_language_list
from TTS_infer_pack.text_segmentation_method import splits
from TTS_infer_pack.TextPreprocessor import TextPreprocessor
-from sv import SV
+
resample_transform_dict = {}
def resample(audio_tensor, sr0, sr1, device):
global resample_transform_dict
- key = "%s-%s-%s" % (sr0, sr1, str(device))
+ key = f"{sr0}-{sr1}-{str(device)}"
if key not in resample_transform_dict:
resample_transform_dict[key] = torchaudio.transforms.Resample(sr0, sr1).to(device)
return resample_transform_dict[key](audio_tensor)
@@ -64,33 +65,36 @@ def denorm_spec(x):
return (x + 1) / 2 * (spec_max - spec_min) + spec_min
-mel_fn = lambda x: mel_spectrogram_torch(
- x,
- **{
- "n_fft": 1024,
- "win_size": 1024,
- "hop_size": 256,
- "num_mels": 100,
- "sampling_rate": 24000,
- "fmin": 0,
- "fmax": None,
- "center": False,
- },
-)
+def mel_fn(x):
+ return mel_spectrogram_torch(
+ x,
+ **{
+ "n_fft": 1024,
+ "win_size": 1024,
+ "hop_size": 256,
+ "num_mels": 100,
+ "sampling_rate": 24000,
+ "fmin": 0,
+ "fmax": None,
+ "center": False,
+ },
+ )
-mel_fn_v4 = lambda x: mel_spectrogram_torch(
- x,
- **{
- "n_fft": 1280,
- "win_size": 1280,
- "hop_size": 320,
- "num_mels": 100,
- "sampling_rate": 32000,
- "fmin": 0,
- "fmax": None,
- "center": False,
- },
-)
+
+def mel_fn_v4(x):
+ return mel_spectrogram_torch(
+ x,
+ **{
+ "n_fft": 1280,
+ "win_size": 1280,
+ "hop_size": 320,
+ "num_mels": 100,
+ "sampling_rate": 32000,
+ "fmin": 0,
+ "fmax": None,
+ "center": False,
+ },
+ )
def speed_change(input_audio: np.ndarray, speed: float, sr: int):
@@ -132,7 +136,7 @@ class DictToAttrRecursive(dict):
def __setattr__(self, key, value):
if isinstance(value, dict):
value = DictToAttrRecursive(value)
- super(DictToAttrRecursive, self).__setitem__(key, value)
+ super().__setitem__(key, value)
super().__setattr__(key, value)
def __delattr__(self, item):
@@ -276,12 +280,12 @@ class TTS_Config:
v2_languages: list = ["auto", "auto_yue", "en", "zh", "ja", "yue", "ko", "all_zh", "all_ja", "all_yue", "all_ko"]
languages: list = v2_languages
mute_tokens: dict = {
- "v1" : 486,
- "v2" : 486,
+ "v1": 486,
+ "v2": 486,
"v2Pro": 486,
"v2ProPlus": 486,
- "v3" : 486,
- "v4" : 486,
+ "v3": 486,
+ "v4": 486,
}
mute_emb_sim_matrix: torch.Tensor = None
# "all_zh",#全部按中文识别
@@ -296,7 +300,7 @@ class TTS_Config:
# "auto",#多语种启动切分识别语种
# "auto_yue",#多语种启动切分识别语种
- def __init__(self, configs: Union[dict, str] = None):
+ def __init__(self, configs: dict | str = None):
# 设置默认配置文件路径
configs_base_path: str = "GPT_SoVITS/configs/"
os.makedirs(configs_base_path, exist_ok=True)
@@ -325,7 +329,7 @@ class TTS_Config:
self.is_half = self.configs.get("is_half", False)
if str(self.device) == "cpu" and self.is_half:
- print(f"Warning: Half precision is not supported on CPU, set is_half to False.")
+ print("Warning: Half precision is not supported on CPU, set is_half to False.")
self.is_half = False
version = self.configs.get("version", None)
@@ -369,7 +373,7 @@ class TTS_Config:
else:
print(i18n("路径不存在,使用默认配置"))
self.save_configs(configs_path)
- with open(configs_path, "r", encoding="utf-8") as f:
+ with open(configs_path, encoding="utf-8") as f:
configs = yaml.load(f, Loader=yaml.FullLoader)
return configs
@@ -419,14 +423,14 @@ class TTS_Config:
class TTS:
- def __init__(self, configs: Union[dict, str, TTS_Config]):
+ def __init__(self, configs: dict | str | TTS_Config):
if isinstance(configs, TTS_Config):
self.configs = configs
else:
self.configs: TTS_Config = TTS_Config(configs)
self.t2s_model: Text2SemanticLightningModule = None
- self.vits_model: Union[SynthesizerTrn, SynthesizerTrnV3] = None
+ self.vits_model: SynthesizerTrn | SynthesizerTrnV3 = None
self.bert_tokenizer: AutoTokenizer = None
self.bert_model: AutoModelForMaskedLM = None
self.cnhuhbert_model: CNHubert = None
@@ -497,8 +501,8 @@ class TTS:
self.init_sv_model()
path_sovits = self.configs.default_configs[model_version]["vits_weights_path"]
- if if_lora_v3 == True and os.path.exists(path_sovits) == False:
- info = path_sovits + i18n("SoVITS %s 底模缺失,无法加载相应 LoRA 权重" % model_version)
+ if if_lora_v3 and not os.path.exists(path_sovits):
+ info = path_sovits + i18n(f"SoVITS {model_version} 底模缺失,无法加载相应 LoRA 权重")
raise FileExistsError(info)
# dict_s2 = torch.load(weights_path, map_location=self.configs.device,weights_only=False)
@@ -558,7 +562,7 @@ class TTS:
self.is_v2pro = model_version in {"v2Pro", "v2ProPlus"}
- if if_lora_v3 == False:
+ if not if_lora_v3:
print(
f"Loading VITS weights from {weights_path}. {vits_model.load_state_dict(dict_s2['weight'], strict=False)}"
)
@@ -589,8 +593,6 @@ class TTS:
self.configs.save_configs()
-
-
def init_t2s_weights(self, weights_path: str):
print(f"Loading Text2Semantic weights from {weights_path}")
self.configs.t2s_weights_path = weights_path
@@ -622,7 +624,7 @@ class TTS:
self.empty_cache()
self.vocoder = BigVGAN.from_pretrained(
- "%s/GPT_SoVITS/pretrained_models/models--nvidia--bigvgan_v2_24khz_100band_256x" % (now_dir,),
+ f"{now_dir}/GPT_SoVITS/pretrained_models/models--nvidia--bigvgan_v2_24khz_100band_256x",
use_cuda_kernel=False,
) # if True, RuntimeError: Ninja is required to load C++ extensions
# remove weight norm in the model and set to eval mode
@@ -655,7 +657,7 @@ class TTS:
)
self.vocoder.remove_weight_norm()
state_dict_g = torch.load(
- "%s/GPT_SoVITS/pretrained_models/gsv-v4-pretrained/vocoder.pth" % (now_dir,),
+ f"{now_dir}/GPT_SoVITS/pretrained_models/gsv-v4-pretrained/vocoder.pth",
map_location="cpu",
weights_only=False,
)
@@ -668,7 +670,7 @@ class TTS:
self.vocoder_configs["overlapped_len"] = 12
self.vocoder = self.vocoder.eval()
- if self.configs.is_half == True:
+ if self.configs.is_half:
self.vocoder = self.vocoder.half().to(self.configs.device)
else:
self.vocoder = self.vocoder.to(self.configs.device)
@@ -798,7 +800,7 @@ class TTS:
)
if self.configs.is_half:
spec = spec.half()
- if self.is_v2pro == True:
+ if self.is_v2pro:
audio = resample(audio, self.configs.sampling_rate, 16000, self.configs.device)
if self.configs.is_half:
audio = audio.half()
@@ -832,7 +834,7 @@ class TTS:
prompt_semantic = codes[0, 0].to(self.configs.device)
self.prompt_cache["prompt_semantic"] = prompt_semantic
- def batch_sequences(self, sequences: List[torch.Tensor], axis: int = 0, pad_value: int = 0, max_length: int = None):
+ def batch_sequences(self, sequences: list[torch.Tensor], axis: int = 0, pad_value: int = 0, max_length: int = None):
seq = sequences[0]
ndim = seq.dim()
if axis < 0:
@@ -846,7 +848,7 @@ class TTS:
max_length = max(seq_lengths) if max_length < max(seq_lengths) else max_length
padded_sequences = []
- for seq, length in zip(sequences, seq_lengths):
+ for seq, length in zip(sequences, seq_lengths, strict=False):
padding = [0] * axis + [0, max_length - length] + [0] * (ndim - axis - 1)
padded_seq = torch.nn.functional.pad(seq, padding, value=pad_value)
padded_sequences.append(padded_seq)
@@ -898,7 +900,7 @@ class TTS:
batch_index_list.append([])
batch_index_list[-1].append(i)
- for batch_idx, index_list in enumerate(batch_index_list):
+ for _batch_idx, index_list in enumerate(batch_index_list):
item_list = [data[idx] for idx in index_list]
phones_list = []
phones_len_list = []
@@ -1051,7 +1053,7 @@ class TTS:
fragment_interval = inputs.get("fragment_interval", 0.3)
seed = inputs.get("seed", -1)
seed = -1 if seed in ["", None] else seed
- actual_seed = set_seed(seed)
+ set_seed(seed)
parallel_infer = inputs.get("parallel_infer", True)
repetition_penalty = inputs.get("repetition_penalty", 1.35)
sample_steps = inputs.get("sample_steps", 32)
@@ -1060,7 +1062,7 @@ class TTS:
overlap_length = inputs.get("overlap_length", 2)
min_chunk_length = inputs.get("min_chunk_length", 16)
fixed_length_chunk = inputs.get("fixed_length_chunk", False)
- chunk_split_thershold = 0.0 # 该值代表语义token与mute token的余弦相似度阈值,若大于该阈值,则视为可切分点。
+ chunk_split_thershold = 0.0 # 该值代表语义token与mute token的余弦相似度阈值,若大于该阈值,则视为可切分点。
if parallel_infer and not streaming_mode:
print(i18n("并行推理模式已开启"))
@@ -1093,7 +1095,6 @@ class TTS:
print(i18n("分段返回模式/流式推理模式不支持分桶处理,已自动关闭分桶处理"))
split_bucket = False
-
if split_bucket and speed_factor == 1.0 and not (self.configs.use_vocoder and parallel_infer):
print(i18n("分桶处理模式已开启"))
elif speed_factor != 1.0:
@@ -1171,7 +1172,7 @@ class TTS:
if not (return_fragment or streaming_mode):
data = self.text_preprocessor.preprocess(text, text_lang, text_split_method, self.configs.version)
if len(data) == 0:
- yield 16000, np.zeros(int(16000), dtype=np.int16)
+ yield 16000, np.zeros(16000, dtype=np.int16)
return
batch_index_list: list = None
@@ -1237,9 +1238,9 @@ class TTS:
if item is None:
continue
- batch_phones: List[torch.LongTensor] = item["phones"]
+ batch_phones: list[torch.LongTensor] = item["phones"]
# batch_phones:torch.LongTensor = item["phones"]
- batch_phones_len: torch.LongTensor = item["phones_len"]
+ item["phones_len"]
all_phoneme_ids: torch.LongTensor = item["all_phones"]
all_phoneme_lens: torch.LongTensor = item["all_phones_len"]
all_bert_features: torch.LongTensor = item["all_bert_features"]
@@ -1255,7 +1256,7 @@ class TTS:
)
refer_audio_spec = []
-
+
sv_emb = [] if self.is_v2pro else None
for spec, audio_tensor in self.prompt_cache["refer_spec"]:
spec = spec.to(dtype=self.precision, device=self.configs.device)
@@ -1281,7 +1282,6 @@ class TTS:
t4 = time.perf_counter()
t_34 += t4 - t3
-
batch_audio_fragment = []
# ## vits并行推理 method 1
@@ -1301,7 +1301,9 @@ class TTS:
if speed_factor == 1.0:
print(f"{i18n('并行合成中')}...")
# ## vits并行推理 method 2
- pred_semantic_list = [item[-idx:] for item, idx in zip(pred_semantic_list, idx_list)]
+ pred_semantic_list = [
+ item[-idx:] for item, idx in zip(pred_semantic_list, idx_list, strict=False)
+ ]
upsample_rate = math.prod(self.vits_model.upsample_rates)
audio_frag_idx = [
pred_semantic_list[i].shape[0] * 2 * upsample_rate
@@ -1314,8 +1316,8 @@ class TTS:
_batch_phones = torch.cat(batch_phones).unsqueeze(0).to(self.configs.device)
_batch_audio_fragment = self.vits_model.decode(
- all_pred_semantic, _batch_phones, refer_audio_spec, speed=speed_factor, sv_emb=sv_emb
- ).detach()[0, 0, :]
+ all_pred_semantic, _batch_phones, refer_audio_spec, speed=speed_factor, sv_emb=sv_emb
+ ).detach()[0, 0, :]
audio_frag_end_idx.insert(0, 0)
batch_audio_fragment = [
@@ -1330,14 +1332,18 @@ class TTS:
pred_semantic_list[i][-idx:].unsqueeze(0).unsqueeze(0)
) # .unsqueeze(0)#mq要多unsqueeze一次
audio_fragment = self.vits_model.decode(
- _pred_semantic, phones, refer_audio_spec, speed=speed_factor, sv_emb=sv_emb
- ).detach()[0, 0, :]
+ _pred_semantic, phones, refer_audio_spec, speed=speed_factor, sv_emb=sv_emb
+ ).detach()[0, 0, :]
batch_audio_fragment.append(audio_fragment) ###试试重建不带上prompt部分
else:
if parallel_infer:
print(f"{i18n('并行合成中')}...")
audio_fragments = self.using_vocoder_synthesis_batched_infer(
- idx_list, pred_semantic_list, batch_phones, speed=speed_factor, sample_steps=sample_steps
+ idx_list,
+ pred_semantic_list,
+ batch_phones,
+ speed=speed_factor,
+ sample_steps=sample_steps,
)
batch_audio_fragment.extend(audio_fragments)
else:
@@ -1356,7 +1362,7 @@ class TTS:
# item.to(dtype=self.precision, device=self.configs.device)
# for item in self.prompt_cache["refer_spec"]
# ]
- semantic_token_generator =self.t2s_model.model.infer_panel(
+ semantic_token_generator = self.t2s_model.model.infer_panel(
all_phoneme_ids[0].unsqueeze(0),
all_phoneme_lens,
prompt,
@@ -1381,30 +1387,34 @@ class TTS:
# if speed_factor == 1.0:
# upsample_rate = math.prod(self.vits_model.upsample_rates)*(2 if self.vits_model.semantic_frame_rate == "25hz" else 1)
# else:
- upsample_rate = math.prod(self.vits_model.upsample_rates)*((2 if self.vits_model.semantic_frame_rate == "25hz" else 1)/speed_factor)
+ upsample_rate = math.prod(self.vits_model.upsample_rates) * (
+ (2 if self.vits_model.semantic_frame_rate == "25hz" else 1) / speed_factor
+ )
else:
# if speed_factor == 1.0:
# upsample_rate = self.vocoder_configs["upsample_rate"]*(3.875 if self.configs.version == "v3" else 4)
# else:
- upsample_rate = self.vocoder_configs["upsample_rate"]*((3.875 if self.configs.version == "v3" else 4)/speed_factor)
+ upsample_rate = self.vocoder_configs["upsample_rate"] * (
+ (3.875 if self.configs.version == "v3" else 4) / speed_factor
+ )
last_audio_chunk = None
# last_tokens = None
last_latent = None
previous_tokens = []
overlap_len = overlap_length
- overlap_size = math.ceil(overlap_length*upsample_rate)
+ overlap_size = math.ceil(overlap_length * upsample_rate)
for semantic_tokens, is_final in semantic_token_generator:
if semantic_tokens is None and last_audio_chunk is not None:
yield self.audio_postprocess(
- [[last_audio_chunk[-overlap_size:]]],
- output_sr,
- None,
- speed_factor,
- False,
- 0.0,
- super_sampling if self.configs.use_vocoder and self.configs.version == "v3" else False,
- )
+ [[last_audio_chunk[-overlap_size:]]],
+ output_sr,
+ None,
+ speed_factor,
+ False,
+ 0.0,
+ super_sampling if self.configs.use_vocoder and self.configs.version == "v3" else False,
+ )
break
_semantic_tokens = semantic_tokens
@@ -1415,11 +1425,10 @@ class TTS:
_semantic_tokens = torch.cat(previous_tokens, dim=-1)
if not is_first_chunk and semantic_tokens.shape[-1] < 10:
- overlap_len = overlap_length+(10-semantic_tokens.shape[-1])
+ overlap_len = overlap_length + (10 - semantic_tokens.shape[-1])
else:
overlap_len = overlap_length
-
if not self.configs.use_vocoder:
token_padding_length = 0
# token_padding_length = int(phones.shape[-1]*2)-_semantic_tokens.shape[-1]
@@ -1429,58 +1438,64 @@ class TTS:
# token_padding_length = 0
audio_chunk, latent, latent_mask = self.vits_model.decode_streaming(
- _semantic_tokens.unsqueeze(0),
- phones, refer_audio_spec,
- speed=speed_factor,
- sv_emb=sv_emb,
- result_length=semantic_tokens.shape[-1]+overlap_len if not is_first_chunk else None,
- overlap_frames=last_latent[:,:,-overlap_len*(2 if self.vits_model.semantic_frame_rate == "25hz" else 1):] \
- if last_latent is not None else None,
- padding_length=token_padding_length
- )
- audio_chunk=audio_chunk.detach()[0, 0, :]
+ _semantic_tokens.unsqueeze(0),
+ phones,
+ refer_audio_spec,
+ speed=speed_factor,
+ sv_emb=sv_emb,
+ result_length=semantic_tokens.shape[-1] + overlap_len if not is_first_chunk else None,
+ overlap_frames=last_latent[
+ :, :, -overlap_len * (2 if self.vits_model.semantic_frame_rate == "25hz" else 1) :
+ ]
+ if last_latent is not None
+ else None,
+ padding_length=token_padding_length,
+ )
+ audio_chunk = audio_chunk.detach()[0, 0, :]
else:
raise RuntimeError(i18n("SoVits V3/4模型不支持流式推理模式"))
-
- if overlap_len>overlap_length:
- audio_chunk=audio_chunk[-int((overlap_length+semantic_tokens.shape[-1])*upsample_rate):]
+
+ if overlap_len > overlap_length:
+ audio_chunk = audio_chunk[
+ -int((overlap_length + semantic_tokens.shape[-1]) * upsample_rate) :
+ ]
audio_chunk_ = audio_chunk
if is_first_chunk and not is_final:
is_first_chunk = False
audio_chunk_ = audio_chunk_[:-overlap_size]
- elif is_first_chunk and is_final:
+ elif is_first_chunk and is_final:
is_first_chunk = False
elif not is_first_chunk and not is_final:
audio_chunk_ = self.sola_algorithm([last_audio_chunk, audio_chunk_], overlap_size)
audio_chunk_ = (
- audio_chunk_[last_audio_chunk.shape[0]-overlap_size:-overlap_size] if not is_final \
- else audio_chunk_[last_audio_chunk.shape[0]-overlap_size:]
- )
+ audio_chunk_[last_audio_chunk.shape[0] - overlap_size : -overlap_size]
+ if not is_final
+ else audio_chunk_[last_audio_chunk.shape[0] - overlap_size :]
+ )
last_latent = latent
last_audio_chunk = audio_chunk
yield self.audio_postprocess(
- [[audio_chunk_]],
- output_sr,
- None,
- speed_factor,
- False,
- 0.0,
- super_sampling if self.configs.use_vocoder and self.configs.version == "v3" else False,
- )
-
- if is_first_package:
- print(f"first_package_delay: {time.perf_counter()-t0:.3f}")
+ [[audio_chunk_]],
+ output_sr,
+ None,
+ speed_factor,
+ False,
+ 0.0,
+ super_sampling if self.configs.use_vocoder and self.configs.version == "v3" else False,
+ )
+
+ if is_first_package:
+ print(f"first_package_delay: {time.perf_counter() - t0:.3f}")
is_first_package = False
-
- yield output_sr, np.zeros(int(output_sr*fragment_interval), dtype=np.int16)
+ yield output_sr, np.zeros(int(output_sr * fragment_interval), dtype=np.int16)
t5 = time.perf_counter()
t_45 += t5 - t4
if return_fragment:
- print("%.3f\t%.3f\t%.3f\t%.3f" % (t1 - t0, t2 - t1, t4 - t3, t5 - t4))
+ print(f"{t1 - t0:.3f}\t{t2 - t1:.3f}\t{t4 - t3:.3f}\t{t5 - t4:.3f}")
yield self.audio_postprocess(
[batch_audio_fragment],
output_sr,
@@ -1490,7 +1505,8 @@ class TTS:
fragment_interval,
super_sampling if self.configs.use_vocoder and self.configs.version == "v3" else False,
)
- elif streaming_mode:...
+ elif streaming_mode:
+ ...
else:
audio.append(batch_audio_fragment)
@@ -1499,7 +1515,7 @@ class TTS:
return
if not (return_fragment or streaming_mode):
- print("%.3f\t%.3f\t%.3f\t%.3f" % (t1 - t0, t2 - t1, t_34, t_45))
+ print(f"{t1 - t0:.3f}\t{t2 - t1:.3f}\t{t_34:.3f}\t{t_45:.3f}")
if len(audio) == 0:
yield output_sr, np.zeros(int(output_sr), dtype=np.int16)
return
@@ -1516,7 +1532,7 @@ class TTS:
except Exception as e:
traceback.print_exc()
# 必须返回一个空音频, 否则会导致显存不释放。
- yield 16000, np.zeros(int(16000), dtype=np.int16)
+ yield 16000, np.zeros(16000, dtype=np.int16)
# 重置模型, 否则会导致显存释放不完全。
del self.t2s_model
del self.vits_model
@@ -1540,15 +1556,15 @@ class TTS:
def audio_postprocess(
self,
- audio: List[torch.Tensor],
+ audio: list[torch.Tensor],
sr: int,
batch_index_list: list = None,
speed_factor: float = 1.0,
split_bucket: bool = True,
fragment_interval: float = 0.3,
super_sampling: bool = False,
- ) -> Tuple[int, np.ndarray]:
- if fragment_interval>0:
+ ) -> tuple[int, np.ndarray]:
+ if fragment_interval > 0:
zero_wav = torch.zeros(
int(self.configs.sampling_rate * fragment_interval), dtype=self.precision, device=self.configs.device
)
@@ -1558,7 +1574,9 @@ class TTS:
max_audio = torch.abs(audio_fragment).max() # 简单防止16bit爆音
if max_audio > 1:
audio_fragment /= max_audio
- audio_fragment: torch.Tensor = torch.cat([audio_fragment, zero_wav], dim=0) if fragment_interval>0 else audio_fragment
+ audio_fragment: torch.Tensor = (
+ torch.cat([audio_fragment, zero_wav], dim=0) if fragment_interval > 0 else audio_fragment
+ )
audio[i][j] = audio_fragment
if split_bucket:
@@ -1589,7 +1607,6 @@ class TTS:
audio = (audio * 32768).astype(np.int16)
-
# try:
# if speed_factor != 1.0:
# audio = speed_change(audio, speed=speed_factor, sr=int(sr))
@@ -1665,12 +1682,12 @@ class TTS:
def using_vocoder_synthesis_batched_infer(
self,
- idx_list: List[int],
- semantic_tokens_list: List[torch.Tensor],
- batch_phones: List[torch.Tensor],
+ idx_list: list[int],
+ semantic_tokens_list: list[torch.Tensor],
+ batch_phones: list[torch.Tensor],
speed: float = 1.0,
sample_steps: int = 32,
- ) -> List[torch.Tensor]:
+ ) -> list[torch.Tensor]:
prompt_semantic_tokens = self.prompt_cache["prompt_semantic"].unsqueeze(0).unsqueeze(0).to(self.configs.device)
prompt_phones = torch.LongTensor(self.prompt_cache["phones"]).unsqueeze(0).to(self.configs.device)
raw_entry = self.prompt_cache["refer_spec"][0]
@@ -1778,40 +1795,32 @@ class TTS:
return audio_fragments
- def sola_algorithm(
- self,
- audio_fragments: List[torch.Tensor],
- overlap_len: int,
- search_len:int= 320
- ):
+ def sola_algorithm(self, audio_fragments: list[torch.Tensor], overlap_len: int, search_len: int = 320):
# overlap_len-=search_len
dtype = audio_fragments[0].dtype
-
+
for i in range(len(audio_fragments) - 1):
f1 = audio_fragments[i].float()
f2 = audio_fragments[i + 1].float()
w1 = f1[-overlap_len:]
- w2 = f2[:overlap_len+search_len]
+ w2 = f2[: overlap_len + search_len]
# w2 = w2[-w2.shape[-1]//2:]
# assert w1.shape == w2.shape
corr_norm = F.conv1d(w2.view(1, 1, -1), w1.view(1, 1, -1)).view(-1)
- corr_den = F.conv1d(w2.view(1, 1, -1)**2, torch.ones_like(w1).view(1, 1, -1)).view(-1)+ 1e-8
- idx = (corr_norm/corr_den.sqrt()).argmax()
+ corr_den = F.conv1d(w2.view(1, 1, -1) ** 2, torch.ones_like(w1).view(1, 1, -1)).view(-1) + 1e-8
+ idx = (corr_norm / corr_den.sqrt()).argmax()
print(f"seg_idx: {idx}")
# idx = corr.argmax()
- f1_ = f1[: -overlap_len]
+ f1_ = f1[:-overlap_len]
audio_fragments[i] = f1_
f2_ = f2[idx:]
window = torch.hann_window((overlap_len) * 2, device=f1.device, dtype=f1.dtype)
- f2_[: overlap_len] = (
- window[: overlap_len] * f2_[: overlap_len]
- + window[overlap_len :] * f1[-overlap_len :]
- )
+ f2_[:overlap_len] = window[:overlap_len] * f2_[:overlap_len] + window[overlap_len:] * f1[-overlap_len:]
# window = torch.sin(torch.arange((overlap_len - idx), device=f1.device) * np.pi / (overlap_len - idx))
# f2_[: (overlap_len - idx)] = (
diff --git a/GPT_SoVITS/TTS_infer_pack/TextPreprocessor.py b/GPT_SoVITS/TTS_infer_pack/TextPreprocessor.py
index 283e91c3..655573c8 100644
--- a/GPT_SoVITS/TTS_infer_pack/TextPreprocessor.py
+++ b/GPT_SoVITS/TTS_infer_pack/TextPreprocessor.py
@@ -4,20 +4,21 @@ import threading
from tqdm import tqdm
+
now_dir = os.getcwd()
sys.path.append(now_dir)
import re
-import torch
-from text.LangSegmenter import LangSegmenter
-from text import chinese
-from typing import Dict, List, Tuple
-from text.cleaner import clean_text
-from text import cleaned_text_to_sequence
-from transformers import AutoModelForMaskedLM, AutoTokenizer
-from TTS_infer_pack.text_segmentation_method import split_big_text, splits, get_method as get_seg_method
-from tools.i18n.i18n import I18nAuto, scan_language_list
+import torch
+from text import cleaned_text_to_sequence
+from text.cleaner import clean_text
+from text.LangSegmenter import LangSegmenter
+from transformers import AutoModelForMaskedLM, AutoTokenizer
+
+from gsv_tools.i18n.i18n import I18nAuto, scan_language_list
+from TTS_infer_pack.text_segmentation_method import get_method as get_seg_method, split_big_text, splits
+
language = os.environ.get("language", "Auto")
language = sys.argv[-1] if sys.argv[-1] in scan_language_list() else language
@@ -56,7 +57,7 @@ class TextPreprocessor:
self.device = device
self.bert_lock = threading.RLock()
- def preprocess(self, text: str, lang: str, text_split_method: str, version: str = "v2") -> List[Dict]:
+ def preprocess(self, text: str, lang: str, text_split_method: str, version: str = "v2") -> list[dict]:
print(f"############ {i18n('切分文本')} ############")
text = self.replace_consecutive_punctuation(text)
texts = self.pre_seg_text(text, lang, text_split_method)
@@ -98,7 +99,7 @@ class TextPreprocessor:
# 解决输入目标文本的空行导致报错的问题
if len(text.strip()) == 0:
continue
- if not re.sub("\W+", "", text):
+ if not re.sub(r"\W+", "", text):
# 检测一下,如果是纯符号,就跳过。
continue
if text[-1] not in splits:
@@ -116,30 +117,30 @@ class TextPreprocessor:
def segment_and_extract_feature_for_text(
self, text: str, language: str, version: str = "v1"
- ) -> Tuple[list, torch.Tensor, str]:
+ ) -> tuple[list, torch.Tensor, str]:
return self.get_phones_and_bert(text, language, version)
def get_phones_and_bert(self, text: str, language: str, version: str, final: bool = False):
with self.bert_lock:
- text = re.sub(r' {2,}', ' ', text)
+ text = re.sub(r" {2,}", " ", text)
textlist = []
langlist = []
if language == "all_zh":
- for tmp in LangSegmenter.getTexts(text,"zh"):
+ for tmp in LangSegmenter.getTexts(text, "zh"):
langlist.append(tmp["lang"])
textlist.append(tmp["text"])
elif language == "all_yue":
- for tmp in LangSegmenter.getTexts(text,"zh"):
+ for tmp in LangSegmenter.getTexts(text, "zh"):
if tmp["lang"] == "zh":
tmp["lang"] = "yue"
langlist.append(tmp["lang"])
textlist.append(tmp["text"])
elif language == "all_ja":
- for tmp in LangSegmenter.getTexts(text,"ja"):
+ for tmp in LangSegmenter.getTexts(text, "ja"):
langlist.append(tmp["lang"])
textlist.append(tmp["text"])
elif language == "all_ko":
- for tmp in LangSegmenter.getTexts(text,"ko"):
+ for tmp in LangSegmenter.getTexts(text, "ko"):
langlist.append(tmp["lang"])
textlist.append(tmp["text"])
elif language == "en":
@@ -158,7 +159,9 @@ class TextPreprocessor:
else:
for tmp in LangSegmenter.getTexts(text):
if langlist:
- if (tmp["lang"] == "en" and langlist[-1] == "en") or (tmp["lang"] != "en" and langlist[-1] != "en"):
+ if (tmp["lang"] == "en" and langlist[-1] == "en") or (
+ tmp["lang"] != "en" and langlist[-1] != "en"
+ ):
textlist[-1] += tmp["text"]
continue
if tmp["lang"] == "en":
@@ -236,4 +239,4 @@ class TextPreprocessor:
punctuations = "".join(re.escape(p) for p in punctuation)
pattern = f"([{punctuations}])([{punctuations}])+"
result = re.sub(pattern, r"\1", text)
- return result
\ No newline at end of file
+ return result
diff --git a/GPT_SoVITS/inference_cli.py b/GPT_SoVITS/inference_cli.py
index 459a3d36..c9e288f0 100644
--- a/GPT_SoVITS/inference_cli.py
+++ b/GPT_SoVITS/inference_cli.py
@@ -1,9 +1,11 @@
import argparse
import os
+
import soundfile as sf
-from tools.i18n.i18n import I18nAuto
from GPT_SoVITS.inference_webui import change_gpt_weights, change_sovits_weights, get_tts_wav
+from gsv_tools.i18n.i18n import I18nAuto
+
i18n = I18nAuto()
@@ -19,11 +21,11 @@ def synthesize(
output_path,
):
# Read reference text
- with open(ref_text_path, "r", encoding="utf-8") as file:
+ with open(ref_text_path, encoding="utf-8") as file:
ref_text = file.read()
# Read target text
- with open(target_text_path, "r", encoding="utf-8") as file:
+ with open(target_text_path, encoding="utf-8") as file:
target_text = file.read()
# Change model weights
diff --git a/GPT_SoVITS/inference_gui.py b/GPT_SoVITS/inference_gui.py
index 379f7fa8..c74c59fd 100644
--- a/GPT_SoVITS/inference_gui.py
+++ b/GPT_SoVITS/inference_gui.py
@@ -1,15 +1,29 @@
import os
import sys
-from PyQt5.QtCore import QEvent
-from PyQt5.QtWidgets import QApplication, QMainWindow, QLabel, QLineEdit, QPushButton, QTextEdit
-from PyQt5.QtWidgets import QGridLayout, QVBoxLayout, QWidget, QFileDialog, QStatusBar, QComboBox
-import soundfile as sf
-from tools.i18n.i18n import I18nAuto
+import soundfile as sf
+from PyQt5.QtCore import QEvent
+from PyQt5.QtWidgets import (
+ QApplication,
+ QComboBox,
+ QFileDialog,
+ QGridLayout,
+ QLabel,
+ QLineEdit,
+ QMainWindow,
+ QPushButton,
+ QStatusBar,
+ QTextEdit,
+ QVBoxLayout,
+ QWidget,
+)
+
+from gsv_tools.i18n.i18n import I18nAuto
+
i18n = I18nAuto()
-from inference_webui import gpt_path, sovits_path, change_gpt_weights, change_sovits_weights, get_tts_wav
+from inference_webui import change_gpt_weights, change_sovits_weights, get_tts_wav, gpt_path, sovits_path
class GPTSoVITSGUI(QMainWindow):
@@ -24,11 +38,11 @@ class GPTSoVITSGUI(QMainWindow):
self.setStyleSheet("""
QWidget {
- background-color: #a3d3b1;
+ background-color: #a3d3b1;
}
QTabWidget::pane {
- background-color: #a3d3b1;
+ background-color: #a3d3b1;
}
QTabWidget::tab-bar {
@@ -36,29 +50,29 @@ class GPTSoVITSGUI(QMainWindow):
}
QTabBar::tab {
- background: #8da4bf;
- color: #ffffff;
+ background: #8da4bf;
+ color: #ffffff;
padding: 8px;
}
QTabBar::tab:selected {
- background: #2a3f54;
+ background: #2a3f54;
}
QLabel {
- color: #000000;
+ color: #000000;
}
QPushButton {
- background-color: #4CAF50;
- color: white;
+ background-color: #4CAF50;
+ color: white;
padding: 8px;
border: 1px solid #4CAF50;
border-radius: 4px;
}
QPushButton:hover {
- background-color: #45a049;
+ background-color: #45a049;
border: 1px solid #45a049;
box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.1);
}
@@ -239,14 +253,14 @@ class GPTSoVITSGUI(QMainWindow):
def upload_ref_text(self):
file_path, _ = QFileDialog.getOpenFileName(self, "选择文本文件", "", "Text Files (*.txt)")
if file_path:
- with open(file_path, "r", encoding="utf-8") as file:
+ with open(file_path, encoding="utf-8") as file:
content = file.read()
self.ref_text_input.setText(content)
def upload_target_text(self):
file_path, _ = QFileDialog.getOpenFileName(self, "选择文本文件", "", "Text Files (*.txt)")
if file_path:
- with open(file_path, "r", encoding="utf-8") as file:
+ with open(file_path, encoding="utf-8") as file:
content = file.read()
self.target_text_input.setText(content)
diff --git a/GPT_SoVITS/inference_webui.py b/GPT_SoVITS/inference_webui.py
index a361ed58..987c1341 100644
--- a/GPT_SoVITS/inference_webui.py
+++ b/GPT_SoVITS/inference_webui.py
@@ -6,23 +6,27 @@
全部按英文识别
全部按日文识别
"""
-import psutil
+
import os
+import psutil
+
+
def set_high_priority():
"""把当前 Python 进程设为 HIGH_PRIORITY_CLASS"""
if os.name != "nt":
- return # 仅 Windows 有效
+ return # 仅 Windows 有效
p = psutil.Process(os.getpid())
try:
p.nice(psutil.HIGH_PRIORITY_CLASS)
print("已将进程优先级设为 High")
except psutil.AccessDenied:
print("权限不足,无法修改优先级(请用管理员运行)")
+
+
set_high_priority()
import json
import logging
-import os
import re
import sys
import traceback
@@ -32,6 +36,7 @@ import torch
import torchaudio
from text.LangSegmenter import LangSegmenter
+
logging.getLogger("markdown_it").setLevel(logging.ERROR)
logging.getLogger("urllib3").setLevel(logging.ERROR)
logging.getLogger("httpcore").setLevel(logging.ERROR)
@@ -46,9 +51,11 @@ version = model_version = os.environ.get("version", "v2")
from config import change_choices, get_weights_names, name2gpt_path, name2sovits_path
+
SoVITS_names, GPT_names = get_weights_names()
from config import pretrained_sovits_name
+
path_sovits_v3 = pretrained_sovits_name["v3"]
path_sovits_v4 = pretrained_sovits_name["v4"]
is_exist_s2gv3 = os.path.exists(path_sovits_v3)
@@ -60,7 +67,7 @@ else:
with open("./weight.json", "w", encoding="utf-8") as file:
json.dump({"GPT": {}, "SoVITS": {}}, file)
-with open("./weight.json", "r", encoding="utf-8") as file:
+with open("./weight.json", encoding="utf-8") as file:
weight_data = file.read()
weight_data = json.loads(weight_data)
gpt_path = os.environ.get("gpt_path", weight_data.get("GPT", {}).get(version, GPT_names[-1]))
@@ -96,6 +103,7 @@ import numpy as np
from feature_extractor import cnhubert
from transformers import AutoModelForMaskedLM, AutoTokenizer
+
cnhubert.cnhubert_base_path = cnhubert_base_path
import random
@@ -123,8 +131,9 @@ from peft import LoraConfig, get_peft_model
from text import cleaned_text_to_sequence
from text.cleaner import clean_text
-from tools.assets import css, js, top_html
-from tools.i18n.i18n import I18nAuto, scan_language_list
+from gsv_tools.assets import css, js, top_html
+from gsv_tools.i18n.i18n import I18nAuto, scan_language_list
+
language = os.environ.get("language", "Auto")
language = sys.argv[-1] if sys.argv[-1] in scan_language_list() else language
@@ -162,7 +171,7 @@ dict_language = dict_language_v1 if version == "v1" else dict_language_v2
tokenizer = AutoTokenizer.from_pretrained(bert_path)
bert_model = AutoModelForMaskedLM.from_pretrained(bert_path)
-if is_half == True:
+if is_half:
bert_model = bert_model.half().to(device)
else:
bert_model = bert_model.to(device)
@@ -202,7 +211,7 @@ class DictToAttrRecursive(dict):
def __setattr__(self, key, value):
if isinstance(value, dict):
value = DictToAttrRecursive(value)
- super(DictToAttrRecursive, self).__setitem__(key, value)
+ super().__setitem__(key, value)
super().__setattr__(key, value)
def __delattr__(self, item):
@@ -213,7 +222,7 @@ class DictToAttrRecursive(dict):
ssl_model = cnhubert.get_model()
-if is_half == True:
+if is_half:
ssl_model = ssl_model.half().to(device)
else:
ssl_model = ssl_model.to(device)
@@ -223,6 +232,7 @@ else:
# symbol_version-model_version-if_lora_v3
from process_ckpt import get_sovits_version_from_path_fast, load_sovits_new
+
v3v4set = {"v3", "v4"}
@@ -234,8 +244,8 @@ def change_sovits_weights(sovits_path, prompt_language=None, text_language=None)
print(sovits_path, version, model_version, if_lora_v3)
is_exist = is_exist_s2gv3 if model_version == "v3" else is_exist_s2gv4
path_sovits = path_sovits_v3 if model_version == "v3" else path_sovits_v4
- if if_lora_v3 == True and is_exist == False:
- info = path_sovits + "SoVITS %s" % model_version + i18n("底模缺失,无法加载相应 LoRA 权重")
+ if if_lora_v3 and not is_exist:
+ info = path_sovits + f"SoVITS {model_version}" + i18n("底模缺失,无法加载相应 LoRA 权重")
gr.Warning(info)
raise FileExistsError(info)
dict_language = dict_language_v1 if version == "v1" else dict_language_v2
@@ -314,17 +324,17 @@ def change_sovits_weights(sovits_path, prompt_language=None, text_language=None)
del vq_model.enc_q
except:
pass
- if is_half == True:
+ if is_half:
vq_model = vq_model.half().to(device)
else:
vq_model = vq_model.to(device)
vq_model.eval()
- if if_lora_v3 == False:
- print("loading sovits_%s" % model_version, vq_model.load_state_dict(dict_s2["weight"], strict=False))
+ if not if_lora_v3:
+ print(f"loading sovits_{model_version}", vq_model.load_state_dict(dict_s2["weight"], strict=False))
else:
path_sovits = path_sovits_v3 if model_version == "v3" else path_sovits_v4
print(
- "loading sovits_%spretrained_G" % model_version,
+ f"loading sovits_{model_version}pretrained_G",
vq_model.load_state_dict(load_sovits_new(path_sovits)["weight"], strict=False),
)
lora_rank = dict_s2["lora_rank"]
@@ -335,7 +345,7 @@ def change_sovits_weights(sovits_path, prompt_language=None, text_language=None)
init_lora_weights=True,
)
vq_model.cfm = get_peft_model(vq_model.cfm, lora_config)
- print("loading sovits_%s_lora%s" % (model_version, lora_rank))
+ print(f"loading sovits_{model_version}_lora{lora_rank}")
vq_model.load_state_dict(dict_s2["weight"], strict=False)
vq_model.cfm = vq_model.cfm.merge_and_unload()
# torch.save(vq_model.state_dict(),"merge_win.pth")
@@ -383,7 +393,7 @@ def change_gpt_weights(gpt_path):
max_sec = config["data"]["max_sec"]
t2s_model = Text2SemanticLightningModule(config, "****", is_train=False)
t2s_model.load_state_dict(dict_s1["weight"])
- if is_half == True:
+ if is_half:
t2s_model = t2s_model.half()
t2s_model = t2s_model.to(device)
t2s_model.eval()
@@ -401,6 +411,7 @@ change_gpt_weights(gpt_path)
os.environ["HF_ENDPOINT"] = "https://hf-mirror.com"
import torch
+
now_dir = os.getcwd()
@@ -442,7 +453,7 @@ def init_bigvgan():
from BigVGAN import bigvgan
bigvgan_model = bigvgan.BigVGAN.from_pretrained(
- "%s/GPT_SoVITS/pretrained_models/models--nvidia--bigvgan_v2_24khz_100band_256x" % (now_dir,),
+ f"{now_dir}/GPT_SoVITS/pretrained_models/models--nvidia--bigvgan_v2_24khz_100band_256x",
use_cuda_kernel=False,
) # if True, RuntimeError: Ninja is required to load C++ extensions
# remove weight norm in the model and set to eval mode
@@ -450,7 +461,7 @@ def init_bigvgan():
bigvgan_model = bigvgan_model.eval()
clean_hifigan_model()
clean_sv_cn_model()
- if is_half == True:
+ if is_half:
bigvgan_model = bigvgan_model.half().to(device)
else:
bigvgan_model = bigvgan_model.to(device)
@@ -472,14 +483,14 @@ def init_hifigan():
hifigan_model.eval()
hifigan_model.remove_weight_norm()
state_dict_g = torch.load(
- "%s/GPT_SoVITS/pretrained_models/gsv-v4-pretrained/vocoder.pth" % (now_dir,),
+ f"{now_dir}/GPT_SoVITS/pretrained_models/gsv-v4-pretrained/vocoder.pth",
map_location="cpu",
weights_only=False,
)
print("loading vocoder", hifigan_model.load_state_dict(state_dict_g))
clean_bigvgan_model()
clean_sv_cn_model()
- if is_half == True:
+ if is_half:
hifigan_model = hifigan_model.half().to(device)
else:
hifigan_model = hifigan_model.to(device)
@@ -508,7 +519,7 @@ resample_transform_dict = {}
def resample(audio_tensor, sr0, sr1, device):
global resample_transform_dict
- key = "%s-%s-%s" % (sr0, sr1, str(device))
+ key = f"{sr0}-{sr1}-{str(device)}"
if key not in resample_transform_dict:
resample_transform_dict[key] = torchaudio.transforms.Resample(sr0, sr1).to(device)
return resample_transform_dict[key](audio_tensor)
@@ -544,7 +555,7 @@ def get_spepc(hps, filename, dtype, device, is_v2pro=False):
center=False,
)
spec = spec.to(dtype)
- if is_v2pro == True:
+ if is_v2pro:
audio = resample(audio, sr1, 16000, device).to(dtype)
return spec, audio
@@ -556,7 +567,7 @@ def clean_text_inf(text, language, version):
return phones, word2ph, norm_text
-dtype = torch.float16 if is_half == True else torch.float32
+dtype = torch.float16 if is_half else torch.float32
def get_bert_inf(phones, word2ph, norm_text, language):
@@ -566,7 +577,7 @@ def get_bert_inf(phones, word2ph, norm_text, language):
else:
bert = torch.zeros(
(1024, len(phones)),
- dtype=torch.float16 if is_half == True else torch.float32,
+ dtype=torch.float16 if is_half else torch.float32,
).to(device)
return bert
@@ -595,29 +606,26 @@ def get_first(text):
return text
-from text import chinese
-
-
def get_phones_and_bert(text, language, version, final=False):
- text = re.sub(r' {2,}', ' ', text)
+ text = re.sub(r" {2,}", " ", text)
textlist = []
langlist = []
if language == "all_zh":
- for tmp in LangSegmenter.getTexts(text,"zh"):
+ for tmp in LangSegmenter.getTexts(text, "zh"):
langlist.append(tmp["lang"])
textlist.append(tmp["text"])
elif language == "all_yue":
- for tmp in LangSegmenter.getTexts(text,"zh"):
+ for tmp in LangSegmenter.getTexts(text, "zh"):
if tmp["lang"] == "zh":
tmp["lang"] = "yue"
langlist.append(tmp["lang"])
textlist.append(tmp["text"])
elif language == "all_ja":
- for tmp in LangSegmenter.getTexts(text,"ja"):
+ for tmp in LangSegmenter.getTexts(text, "ja"):
langlist.append(tmp["lang"])
textlist.append(tmp["text"])
elif language == "all_ko":
- for tmp in LangSegmenter.getTexts(text,"ko"):
+ for tmp in LangSegmenter.getTexts(text, "ko"):
langlist.append(tmp["lang"])
textlist.append(tmp["text"])
elif language == "en":
@@ -669,6 +677,7 @@ def get_phones_and_bert(text, language, version, final=False):
from module.mel_processing import mel_spectrogram_torch, spectrogram_torch
+
spec_min = -12
spec_max = 2
@@ -681,32 +690,36 @@ def denorm_spec(x):
return (x + 1) / 2 * (spec_max - spec_min) + spec_min
-mel_fn = lambda x: mel_spectrogram_torch(
- x,
- **{
- "n_fft": 1024,
- "win_size": 1024,
- "hop_size": 256,
- "num_mels": 100,
- "sampling_rate": 24000,
- "fmin": 0,
- "fmax": None,
- "center": False,
- },
-)
-mel_fn_v4 = lambda x: mel_spectrogram_torch(
- x,
- **{
- "n_fft": 1280,
- "win_size": 1280,
- "hop_size": 320,
- "num_mels": 100,
- "sampling_rate": 32000,
- "fmin": 0,
- "fmax": None,
- "center": False,
- },
-)
+def mel_fn(x):
+ return mel_spectrogram_torch(
+ x,
+ **{
+ "n_fft": 1024,
+ "win_size": 1024,
+ "hop_size": 256,
+ "num_mels": 100,
+ "sampling_rate": 24000,
+ "fmin": 0,
+ "fmax": None,
+ "center": False,
+ },
+ )
+
+
+def mel_fn_v4(x):
+ return mel_spectrogram_torch(
+ x,
+ **{
+ "n_fft": 1280,
+ "win_size": 1280,
+ "hop_size": 320,
+ "num_mels": 100,
+ "sampling_rate": 32000,
+ "fmin": 0,
+ "fmax": None,
+ "center": False,
+ },
+ )
def merge_short_text_in_array(texts, threshold):
@@ -732,8 +745,8 @@ sr_model = None
def audio_sr(audio, sr):
global sr_model
- if sr_model == None:
- from tools.audio_sr import AP_BWE
+ if sr_model is None:
+ from gsv_tools.audio_sr import AP_BWE
try:
sr_model = AP_BWE(device, DictToAttrRecursive)
@@ -801,10 +814,10 @@ def get_tts_wav(
print(i18n("实际输入的目标文本:"), text)
zero_wav = np.zeros(
int(hps.data.sampling_rate * pause_second),
- dtype=np.float16 if is_half == True else np.float32,
+ dtype=np.float16 if is_half else np.float32,
)
zero_wav_torch = torch.from_numpy(zero_wav)
- if is_half == True:
+ if is_half:
zero_wav_torch = zero_wav_torch.half().to(device)
else:
zero_wav_torch = zero_wav_torch.to(device)
@@ -815,7 +828,7 @@ def get_tts_wav(
gr.Warning(i18n("参考音频在3~10秒范围外,请更换!"))
raise OSError(i18n("参考音频在3~10秒范围外,请更换!"))
wav16k = torch.from_numpy(wav16k)
- if is_half == True:
+ if is_half:
wav16k = wav16k.half().to(device)
else:
wav16k = wav16k.to(device)
@@ -871,7 +884,7 @@ def get_tts_wav(
t2 = ttime()
# cache_key="%s-%s-%s-%s-%s-%s-%s-%s"%(ref_wav_path,prompt_text,prompt_language,text,text_language,top_k,top_p,temperature)
# print(cache.keys(),if_freeze)
- if i_text in cache and if_freeze == True:
+ if i_text in cache and if_freeze:
pred_semantic = cache[i_text]
else:
with torch.no_grad():
@@ -896,7 +909,7 @@ def get_tts_wav(
refers = []
if is_v2pro:
sv_emb = []
- if sv_cn_model == None:
+ if sv_cn_model is None:
init_sv_cn()
if inp_refs:
for path in inp_refs:
@@ -965,10 +978,10 @@ def get_tts_wav(
cfm_res = torch.cat(cfm_resss, 2)
cfm_res = denorm_spec(cfm_res)
if model_version == "v3":
- if bigvgan_model == None:
+ if bigvgan_model is None:
init_bigvgan()
else: # v4
- if hifigan_model == None:
+ if hifigan_model is None:
init_hifigan()
vocoder_model = bigvgan_model if model_version == "v3" else hifigan_model
with torch.inference_mode():
@@ -982,7 +995,7 @@ def get_tts_wav(
t4 = ttime()
t.extend([t2 - t1, t3 - t2, t4 - t3])
t1 = ttime()
- print("%.3f\t%.3f\t%.3f\t%.3f" % (t[0], sum(t[1::3]), sum(t[2::3]), sum(t[3::3])))
+ print(f"{t[0]:.3f}\t{sum(t[1::3]):.3f}\t{sum(t[2::3]):.3f}\t{sum(t[3::3]):.3f}")
audio_opt = torch.cat(audio_opt, 0) # np.concatenate
if model_version in {"v1", "v2", "v2Pro", "v2ProPlus"}:
opt_sr = 32000
@@ -990,7 +1003,7 @@ def get_tts_wav(
opt_sr = 24000
else:
opt_sr = 48000 # v4
- if if_sr == True and opt_sr == 24000:
+ if if_sr and opt_sr == 24000:
print(i18n("音频超分中"))
audio_opt, opt_sr = audio_sr(audio_opt.unsqueeze(0), opt_sr)
max_audio = np.abs(audio_opt).max()
@@ -1062,7 +1075,7 @@ def cut2(inp):
def cut3(inp):
inp = inp.strip("\n")
- opts = ["%s" % item for item in inp.strip("。").split("。")]
+ opts = [f"{item}" for item in inp.strip("。").split("。")]
opts = [item for item in opts if not set(item).issubset(punctuation)]
return "\n".join(opts)
@@ -1077,7 +1090,7 @@ def cut4(inp):
# contributed by https://github.com/AI-Hobbyist/GPT-SoVITS/blob/main/GPT_SoVITS/inference_webui.py
def cut5(inp):
inp = inp.strip("\n")
- punds = {",", ".", ";", "?", "!", "、", ",", "。", "?", "!", ";", ":", "…"}
+ punds = {",", ".", ";", "?", "!", "、", ",", "。", "?", "!", ":", "…"}
mergeitems = []
items = []
@@ -1101,7 +1114,7 @@ def cut5(inp):
def custom_sort_key(s):
# 使用正则表达式提取字符串中的数字部分和非数字部分
- parts = re.split("(\d+)", s)
+ parts = re.split(r"(\d+)", s)
# 将数字部分转换为整数,非数字部分保持不变
parts = [int(part) if part.isdigit() else part for part in parts]
return parts
diff --git a/GPT_SoVITS/inference_webui_fast.py b/GPT_SoVITS/inference_webui_fast.py
index 92d145b3..b566285e 100644
--- a/GPT_SoVITS/inference_webui_fast.py
+++ b/GPT_SoVITS/inference_webui_fast.py
@@ -6,32 +6,37 @@
全部按英文识别
全部按日文识别
"""
-import psutil
+
import os
+import psutil
+
+
def set_high_priority():
"""把当前 Python 进程设为 HIGH_PRIORITY_CLASS"""
if os.name != "nt":
- return # 仅 Windows 有效
+ return # 仅 Windows 有效
p = psutil.Process(os.getpid())
try:
p.nice(psutil.HIGH_PRIORITY_CLASS)
print("已将进程优先级设为 High")
except psutil.AccessDenied:
print("权限不足,无法修改优先级(请用管理员运行)")
+
+
set_high_priority()
import json
import logging
-import os
import random
import re
import sys
import torch
+
now_dir = os.getcwd()
sys.path.append(now_dir)
-sys.path.append("%s/GPT_SoVITS" % (now_dir))
+sys.path.append(f"{now_dir}/GPT_SoVITS")
logging.getLogger("markdown_it").setLevel(logging.ERROR)
logging.getLogger("urllib3").setLevel(logging.ERROR)
@@ -60,8 +65,9 @@ import gradio as gr
from TTS_infer_pack.text_segmentation_method import get_method
from TTS_infer_pack.TTS import NO_PROMPT_ERROR, TTS, TTS_Config
-from tools.assets import css, js, top_html
-from tools.i18n.i18n import I18nAuto, scan_language_list
+from gsv_tools.assets import css, js, top_html
+from gsv_tools.i18n.i18n import I18nAuto, scan_language_list
+
language = os.environ.get("language", "Auto")
language = sys.argv[-1] if sys.argv[-1] in scan_language_list() else language
@@ -114,9 +120,11 @@ cut_method = {
from config import change_choices, get_weights_names, name2gpt_path, name2sovits_path
+
SoVITS_names, GPT_names = get_weights_names()
from config import pretrained_sovits_name
+
path_sovits_v3 = pretrained_sovits_name["v3"]
path_sovits_v4 = pretrained_sovits_name["v4"]
is_exist_s2gv3 = os.path.exists(path_sovits_v3)
@@ -203,7 +211,7 @@ def inference(
def custom_sort_key(s):
# 使用正则表达式提取字符串中的数字部分和非数字部分
- parts = re.split("(\d+)", s)
+ parts = re.split(r"(\d+)", s)
# 将数字部分转换为整数,非数字部分保持不变
parts = [int(part) if part.isdigit() else part for part in parts]
return parts
@@ -215,7 +223,7 @@ else:
with open("./weight.json", "w", encoding="utf-8") as file:
json.dump({"GPT": {}, "SoVITS": {}}, file)
-with open("./weight.json", "r", encoding="utf-8") as file:
+with open("./weight.json", encoding="utf-8") as file:
weight_data = file.read()
weight_data = json.loads(weight_data)
gpt_path = os.environ.get("gpt_path", weight_data.get("GPT", {}).get(version, GPT_names[-1]))
@@ -227,6 +235,7 @@ with open("./weight.json", "r", encoding="utf-8") as file:
from process_ckpt import get_sovits_version_from_path_fast
+
v3v4set = {"v3", "v4"}
@@ -238,8 +247,8 @@ def change_sovits_weights(sovits_path, prompt_language=None, text_language=None)
# print(sovits_path,version, model_version, if_lora_v3)
is_exist = is_exist_s2gv3 if model_version == "v3" else is_exist_s2gv4
path_sovits = path_sovits_v3 if model_version == "v3" else path_sovits_v4
- if if_lora_v3 == True and is_exist == False:
- info = path_sovits + "SoVITS %s" % model_version + i18n("底模缺失,无法加载相应 LoRA 权重")
+ if if_lora_v3 and not is_exist:
+ info = path_sovits + f"SoVITS {model_version}" + i18n("底模缺失,无法加载相应 LoRA 权重")
gr.Warning(info)
raise FileExistsError(info)
dict_language = dict_language_v1 if version == "v1" else dict_language_v2
diff --git a/GPT_SoVITS/module/data_utils.py b/GPT_SoVITS/module/data_utils.py
index 46eff5fb..08935ef3 100644
--- a/GPT_SoVITS/module/data_utils.py
+++ b/GPT_SoVITS/module/data_utils.py
@@ -1,14 +1,16 @@
import os
import random
import traceback
+
import torch
+import torch.nn.functional as F
import torch.utils.data
+from text import cleaned_text_to_sequence
from tqdm import tqdm
-from module.mel_processing import spectrogram_torch, spec_to_mel_torch
-from text import cleaned_text_to_sequence
-import torch.nn.functional as F
-from tools.my_utils import load_audio
+from gsv_tools.my_utils import load_audio
+from module.mel_processing import spec_to_mel_torch, spectrogram_torch
+
version = os.environ.get("version", None)
@@ -23,22 +25,22 @@ class TextAudioSpeakerLoader(torch.utils.data.Dataset):
def __init__(self, hparams, version=None, val=False):
exp_dir = hparams.exp_dir
- self.path2 = "%s/2-name2text.txt" % exp_dir
- self.path4 = "%s/4-cnhubert" % exp_dir
- self.path5 = "%s/5-wav32k" % exp_dir
+ self.path2 = f"{exp_dir}/2-name2text.txt"
+ self.path4 = f"{exp_dir}/4-cnhubert"
+ self.path5 = f"{exp_dir}/5-wav32k"
assert os.path.exists(self.path2)
assert os.path.exists(self.path4)
assert os.path.exists(self.path5)
self.is_v2Pro = version in {"v2Pro", "v2ProPlus"}
if self.is_v2Pro:
- self.path7 = "%s/7-sv_cn" % exp_dir
+ self.path7 = f"{exp_dir}/7-sv_cn"
assert os.path.exists(self.path7)
names4 = set([name[:-3] for name in list(os.listdir(self.path4))]) # 去除.pt后缀
names5 = set(os.listdir(self.path5))
if self.is_v2Pro:
names6 = set([name[:-3] for name in list(os.listdir(self.path7))]) # 去除.pt后缀
self.phoneme_data = {}
- with open(self.path2, "r", encoding="utf8") as f:
+ with open(self.path2, encoding="utf8") as f:
lines = f.read().strip("\n").split("\n")
for line in lines:
@@ -85,7 +87,7 @@ class TextAudioSpeakerLoader(torch.utils.data.Dataset):
skipped_phone += 1
continue
- size = os.path.getsize("%s/%s" % (self.path5, audiopath))
+ size = os.path.getsize(f"{self.path5}/{audiopath}")
duration = size / self.sampling_rate / 2
if duration == 0:
@@ -110,15 +112,15 @@ class TextAudioSpeakerLoader(torch.utils.data.Dataset):
audiopath, phoneme_ids = audiopath_sid_text
text = torch.FloatTensor(phoneme_ids)
try:
- spec, wav = self.get_audio("%s/%s" % (self.path5, audiopath))
+ spec, wav = self.get_audio(f"{self.path5}/{audiopath}")
with torch.no_grad():
- ssl = torch.load("%s/%s.pt" % (self.path4, audiopath), map_location="cpu")
+ ssl = torch.load(f"{self.path4}/{audiopath}.pt", map_location="cpu")
if ssl.shape[-1] != spec.shape[-1]:
typee = ssl.dtype
ssl = F.pad(ssl.float(), (0, 1), mode="replicate").to(typee)
ssl.requires_grad = False
if self.is_v2Pro:
- sv_emb = torch.load("%s/%s.pt" % (self.path7, audiopath), map_location="cpu")
+ sv_emb = torch.load(f"{self.path7}/{audiopath}.pt", map_location="cpu")
except:
traceback.print_exc()
spec = torch.zeros(1025, 100)
@@ -285,16 +287,16 @@ class TextAudioSpeakerLoaderV3(torch.utils.data.Dataset):
def __init__(self, hparams, val=False):
exp_dir = hparams.exp_dir
- self.path2 = "%s/2-name2text.txt" % exp_dir
- self.path4 = "%s/4-cnhubert" % exp_dir
- self.path5 = "%s/5-wav32k" % exp_dir
+ self.path2 = f"{exp_dir}/2-name2text.txt"
+ self.path4 = f"{exp_dir}/4-cnhubert"
+ self.path5 = f"{exp_dir}/5-wav32k"
assert os.path.exists(self.path2)
assert os.path.exists(self.path4)
assert os.path.exists(self.path5)
names4 = set([name[:-3] for name in list(os.listdir(self.path4))]) # 去除.pt后缀
names5 = set(os.listdir(self.path5))
self.phoneme_data = {}
- with open(self.path2, "r", encoding="utf8") as f:
+ with open(self.path2, encoding="utf8") as f:
lines = f.read().strip("\n").split("\n")
for line in lines:
@@ -339,7 +341,7 @@ class TextAudioSpeakerLoaderV3(torch.utils.data.Dataset):
skipped_phone += 1
continue
- size = os.path.getsize("%s/%s" % (self.path5, audiopath))
+ size = os.path.getsize(f"{self.path5}/{audiopath}")
duration = size / self.sampling_rate / 2
if duration == 0:
@@ -376,9 +378,9 @@ class TextAudioSpeakerLoaderV3(torch.utils.data.Dataset):
audiopath, phoneme_ids = audiopath_sid_text
text = torch.FloatTensor(phoneme_ids)
try:
- spec, mel = self.get_audio("%s/%s" % (self.path5, audiopath))
+ spec, mel = self.get_audio(f"{self.path5}/{audiopath}")
with torch.no_grad():
- ssl = torch.load("%s/%s.pt" % (self.path4, audiopath), map_location="cpu")
+ ssl = torch.load(f"{self.path4}/{audiopath}.pt", map_location="cpu")
if ssl.shape[-1] != spec.shape[-1]:
typee = ssl.dtype
ssl = F.pad(ssl.float(), (0, 1), mode="replicate").to(typee)
@@ -523,16 +525,16 @@ class TextAudioSpeakerLoaderV4(torch.utils.data.Dataset):
def __init__(self, hparams, val=False):
exp_dir = hparams.exp_dir
- self.path2 = "%s/2-name2text.txt" % exp_dir
- self.path4 = "%s/4-cnhubert" % exp_dir
- self.path5 = "%s/5-wav32k" % exp_dir
+ self.path2 = f"{exp_dir}/2-name2text.txt"
+ self.path4 = f"{exp_dir}/4-cnhubert"
+ self.path5 = f"{exp_dir}/5-wav32k"
assert os.path.exists(self.path2)
assert os.path.exists(self.path4)
assert os.path.exists(self.path5)
names4 = set([name[:-3] for name in list(os.listdir(self.path4))]) # 去除.pt后缀
names5 = set(os.listdir(self.path5))
self.phoneme_data = {}
- with open(self.path2, "r", encoding="utf8") as f:
+ with open(self.path2, encoding="utf8") as f:
lines = f.read().strip("\n").split("\n")
for line in lines:
@@ -577,7 +579,7 @@ class TextAudioSpeakerLoaderV4(torch.utils.data.Dataset):
skipped_phone += 1
continue
- size = os.path.getsize("%s/%s" % (self.path5, audiopath))
+ size = os.path.getsize(f"{self.path5}/{audiopath}")
duration = size / self.sampling_rate / 2
if duration == 0:
@@ -614,9 +616,9 @@ class TextAudioSpeakerLoaderV4(torch.utils.data.Dataset):
audiopath, phoneme_ids = audiopath_sid_text
text = torch.FloatTensor(phoneme_ids)
try:
- spec, mel = self.get_audio("%s/%s" % (self.path5, audiopath))
+ spec, mel = self.get_audio(f"{self.path5}/{audiopath}")
with torch.no_grad():
- ssl = torch.load("%s/%s.pt" % (self.path4, audiopath), map_location="cpu")
+ ssl = torch.load(f"{self.path4}/{audiopath}.pt", map_location="cpu")
if ssl.shape[-1] != spec.shape[-1]:
typee = ssl.dtype
ssl = F.pad(ssl.float(), (0, 1), mode="replicate").to(typee)
@@ -734,16 +736,16 @@ class TextAudioSpeakerLoaderV3b(torch.utils.data.Dataset):
def __init__(self, hparams, val=False):
exp_dir = hparams.exp_dir
- self.path2 = "%s/2-name2text.txt" % exp_dir
- self.path4 = "%s/4-cnhubert" % exp_dir
- self.path5 = "%s/5-wav32k" % exp_dir
+ self.path2 = f"{exp_dir}/2-name2text.txt"
+ self.path4 = f"{exp_dir}/4-cnhubert"
+ self.path5 = f"{exp_dir}/5-wav32k"
assert os.path.exists(self.path2)
assert os.path.exists(self.path4)
assert os.path.exists(self.path5)
names4 = set([name[:-3] for name in list(os.listdir(self.path4))]) # 去除.pt后缀
names5 = set(os.listdir(self.path5))
self.phoneme_data = {}
- with open(self.path2, "r", encoding="utf8") as f:
+ with open(self.path2, encoding="utf8") as f:
lines = f.read().strip("\n").split("\n")
for line in lines:
@@ -788,7 +790,7 @@ class TextAudioSpeakerLoaderV3b(torch.utils.data.Dataset):
skipped_phone += 1
continue
- size = os.path.getsize("%s/%s" % (self.path5, audiopath))
+ size = os.path.getsize(f"{self.path5}/{audiopath}")
duration = size / self.sampling_rate / 2
if duration == 0:
@@ -825,9 +827,9 @@ class TextAudioSpeakerLoaderV3b(torch.utils.data.Dataset):
audiopath, phoneme_ids = audiopath_sid_text
text = torch.FloatTensor(phoneme_ids)
try:
- spec, mel, wav = self.get_audio("%s/%s" % (self.path5, audiopath))
+ spec, mel, wav = self.get_audio(f"{self.path5}/{audiopath}")
with torch.no_grad():
- ssl = torch.load("%s/%s.pt" % (self.path4, audiopath), map_location="cpu")
+ ssl = torch.load(f"{self.path4}/{audiopath}.pt", map_location="cpu")
if ssl.shape[-1] != spec.shape[-1]:
typee = ssl.dtype
ssl = F.pad(ssl.float(), (0, 1), mode="replicate").to(typee)
diff --git a/GPT_SoVITS/prepare_datasets/1-get-text.py b/GPT_SoVITS/prepare_datasets/1-get-text.py
index 8d83e79a..f685485e 100644
--- a/GPT_SoVITS/prepare_datasets/1-get-text.py
+++ b/GPT_SoVITS/prepare_datasets/1-get-text.py
@@ -1,7 +1,6 @@
-# -*- coding: utf-8 -*-
-
import os
+
inp_text = os.environ.get("inp_text")
inp_wav_dir = os.environ.get("inp_wav_dir")
exp_name = os.environ.get("exp_name")
@@ -13,13 +12,12 @@ opt_dir = os.environ.get("opt_dir")
bert_pretrained_dir = os.environ.get("bert_pretrained_dir")
import torch
+
is_half = eval(os.environ.get("is_half", "True")) and torch.cuda.is_available()
version = os.environ.get("version", None)
-import traceback
import os.path
-from text.cleaner import clean_text
-from transformers import AutoModelForMaskedLM, AutoTokenizer
-from tools.my_utils import clean_path
+import shutil
+import traceback
# inp_text=sys.argv[1]
# inp_wav_dir=sys.argv[2]
@@ -29,23 +27,26 @@ from tools.my_utils import clean_path
# os.environ["CUDA_VISIBLE_DEVICES"]=sys.argv[6]#i_gpu
# opt_dir="/data/docker/liujing04/gpt-vits/fine_tune_dataset/%s"%exp_name
# bert_pretrained_dir="/data/docker/liujing04/bert-vits2/Bert-VITS2-master20231106/bert/chinese-roberta-wwm-ext-large"
-
from time import time as ttime
-import shutil
+
+from text.cleaner import clean_text
+from transformers import AutoModelForMaskedLM, AutoTokenizer
+
+from gsv_tools.my_utils import clean_path
def my_save(fea, path): #####fix issue: torch.save doesn't support chinese path
dir = os.path.dirname(path)
name = os.path.basename(path)
# tmp_path="%s/%s%s.pth"%(dir,ttime(),i_part)
- tmp_path = "%s%s.pth" % (ttime(), i_part)
+ tmp_path = f"{ttime()}{i_part}.pth"
torch.save(fea, tmp_path)
- shutil.move(tmp_path, "%s/%s" % (dir, name))
+ shutil.move(tmp_path, f"{dir}/{name}")
-txt_path = "%s/2-name2text-%s.txt" % (opt_dir, i_part)
-if os.path.exists(txt_path) == False:
- bert_dir = "%s/3-bert" % (opt_dir)
+txt_path = f"{opt_dir}/2-name2text-{i_part}.txt"
+if not os.path.exists(txt_path):
+ bert_dir = f"{opt_dir}/3-bert"
os.makedirs(opt_dir, exist_ok=True)
os.makedirs(bert_dir, exist_ok=True)
if torch.cuda.is_available():
@@ -60,7 +61,7 @@ if os.path.exists(txt_path) == False:
raise FileNotFoundError(bert_pretrained_dir)
tokenizer = AutoTokenizer.from_pretrained(bert_pretrained_dir)
bert_model = AutoModelForMaskedLM.from_pretrained(bert_pretrained_dir)
- if is_half == True:
+ if is_half:
bert_model = bert_model.half().to(device)
else:
bert_model = bert_model.to(device)
@@ -90,8 +91,8 @@ if os.path.exists(txt_path) == False:
name = os.path.basename(name)
print(name)
phones, word2ph, norm_text = clean_text(text.replace("%", "-").replace("¥", ","), lan, version)
- path_bert = "%s/%s.pt" % (bert_dir, name)
- if os.path.exists(path_bert) == False and lan == "zh":
+ path_bert = f"{bert_dir}/{name}.pt"
+ if not os.path.exists(path_bert) and lan == "zh":
bert_feature = get_bert_feature(norm_text, word2ph)
assert bert_feature.shape[-1] == len(phones)
# torch.save(bert_feature, path_bert)
@@ -104,7 +105,7 @@ if os.path.exists(txt_path) == False:
todo = []
res = []
- with open(inp_text, "r", encoding="utf8") as f:
+ with open(inp_text, encoding="utf8") as f:
lines = f.read().strip("\n").split("\n")
language_v1_to_language_v2 = {
@@ -138,6 +139,6 @@ if os.path.exists(txt_path) == False:
process(todo, res)
opt = []
for name, phones, word2ph, norm_text in res:
- opt.append("%s\t%s\t%s\t%s" % (name, phones, word2ph, norm_text))
+ opt.append(f"{name}\t{phones}\t{word2ph}\t{norm_text}")
with open(txt_path, "w", encoding="utf8") as f:
f.write("\n".join(opt) + "\n")
diff --git a/GPT_SoVITS/prepare_datasets/2-get-hubert-wav32k.py b/GPT_SoVITS/prepare_datasets/2-get-hubert-wav32k.py
index 3a84c014..3fb4eb67 100644
--- a/GPT_SoVITS/prepare_datasets/2-get-hubert-wav32k.py
+++ b/GPT_SoVITS/prepare_datasets/2-get-hubert-wav32k.py
@@ -1,7 +1,6 @@
-# -*- coding: utf-8 -*-
-
-import sys
import os
+import sys
+
inp_text = os.environ.get("inp_text")
inp_wav_dir = os.environ.get("inp_wav_dir")
@@ -12,20 +11,24 @@ if "_CUDA_VISIBLE_DEVICES" in os.environ:
os.environ["CUDA_VISIBLE_DEVICES"] = os.environ["_CUDA_VISIBLE_DEVICES"]
from feature_extractor import cnhubert
+
opt_dir = os.environ.get("opt_dir")
cnhubert.cnhubert_base_path = os.environ.get("cnhubert_base_dir")
import torch
+
is_half = eval(os.environ.get("is_half", "True")) and torch.cuda.is_available()
import traceback
+
+import librosa
import numpy as np
from scipy.io import wavfile
-import librosa
+
now_dir = os.getcwd()
sys.path.append(now_dir)
-from tools.my_utils import load_audio, clean_path
+import shutil
# from config import cnhubert_base_path
# cnhubert.cnhubert_base_path=cnhubert_base_path
@@ -37,22 +40,22 @@ from tools.my_utils import load_audio, clean_path
# os.environ["CUDA_VISIBLE_DEVICES"]=sys.argv[6]
# cnhubert.cnhubert_base_path=sys.argv[7]
# opt_dir="/data/docker/liujing04/gpt-vits/fine_tune_dataset/%s"%exp_name
-
from time import time as ttime
-import shutil
+
+from gsv_tools.my_utils import clean_path, load_audio
def my_save(fea, path): #####fix issue: torch.save doesn't support chinese path
dir = os.path.dirname(path)
name = os.path.basename(path)
# tmp_path="%s/%s%s.pth"%(dir,ttime(),i_part)
- tmp_path = "%s%s.pth" % (ttime(), i_part)
+ tmp_path = f"{ttime()}{i_part}.pth"
torch.save(fea, tmp_path)
- shutil.move(tmp_path, "%s/%s" % (dir, name))
+ shutil.move(tmp_path, f"{dir}/{name}")
-hubert_dir = "%s/4-cnhubert" % (opt_dir)
-wav32dir = "%s/5-wav32k" % (opt_dir)
+hubert_dir = f"{opt_dir}/4-cnhubert"
+wav32dir = f"{opt_dir}/5-wav32k"
os.makedirs(opt_dir, exist_ok=True)
os.makedirs(hubert_dir, exist_ok=True)
os.makedirs(wav32dir, exist_ok=True)
@@ -67,7 +70,7 @@ else:
device = "cpu"
model = cnhubert.get_model()
# is_half=False
-if is_half == True:
+if is_half:
model = model.half().to(device)
else:
model = model.to(device)
@@ -76,36 +79,36 @@ nan_fails = []
def name2go(wav_name, wav_path):
- hubert_path = "%s/%s.pt" % (hubert_dir, wav_name)
+ hubert_path = f"{hubert_dir}/{wav_name}.pt"
if os.path.exists(hubert_path):
return
tmp_audio = load_audio(wav_path, 32000)
tmp_max = np.abs(tmp_audio).max()
if tmp_max > 2.2:
- print("%s-filtered,%s" % (wav_name, tmp_max))
+ print(f"{wav_name}-filtered,{tmp_max}")
return
tmp_audio32 = (tmp_audio / tmp_max * (maxx * alpha * 32768)) + ((1 - alpha) * 32768) * tmp_audio
tmp_audio32b = (tmp_audio / tmp_max * (maxx * alpha * 1145.14)) + ((1 - alpha) * 1145.14) * tmp_audio
tmp_audio = librosa.resample(tmp_audio32b, orig_sr=32000, target_sr=16000) # 不是重采样问题
tensor_wav16 = torch.from_numpy(tmp_audio)
- if is_half == True:
+ if is_half:
tensor_wav16 = tensor_wav16.half().to(device)
else:
tensor_wav16 = tensor_wav16.to(device)
ssl = model.model(tensor_wav16.unsqueeze(0))["last_hidden_state"].transpose(1, 2).cpu() # torch.Size([1, 768, 215])
if np.isnan(ssl.detach().numpy()).sum() != 0:
nan_fails.append((wav_name, wav_path))
- print("nan filtered:%s" % wav_name)
+ print(f"nan filtered:{wav_name}")
return
wavfile.write(
- "%s/%s" % (wav32dir, wav_name),
+ f"{wav32dir}/{wav_name}",
32000,
tmp_audio32.astype("int16"),
)
my_save(ssl, hubert_path)
-with open(inp_text, "r", encoding="utf8") as f:
+with open(inp_text, encoding="utf8") as f:
lines = f.read().strip("\n").split("\n")
for line in lines[int(i_part) :: int(all_parts)]:
@@ -113,9 +116,9 @@ for line in lines[int(i_part) :: int(all_parts)]:
# wav_name,text=line.split("\t")
wav_name, spk_name, language, text = line.split("|")
wav_name = clean_path(wav_name)
- if inp_wav_dir != "" and inp_wav_dir != None:
+ if inp_wav_dir != "" and inp_wav_dir is not None:
wav_name = os.path.basename(wav_name)
- wav_path = "%s/%s" % (inp_wav_dir, wav_name)
+ wav_path = f"{inp_wav_dir}/{wav_name}"
else:
wav_path = wav_name
@@ -124,7 +127,7 @@ for line in lines[int(i_part) :: int(all_parts)]:
except:
print(line, traceback.format_exc())
-if len(nan_fails) > 0 and is_half == True:
+if len(nan_fails) > 0 and is_half:
is_half = False
model = model.float()
for wav in nan_fails:
diff --git a/GPT_SoVITS/prepare_datasets/2-get-sv.py b/GPT_SoVITS/prepare_datasets/2-get-sv.py
index 80b0ad69..5c7dcf3f 100644
--- a/GPT_SoVITS/prepare_datasets/2-get-sv.py
+++ b/GPT_SoVITS/prepare_datasets/2-get-sv.py
@@ -1,7 +1,6 @@
-# -*- coding: utf-8 -*-
-
-import sys
import os
+import sys
+
inp_text = os.environ.get("inp_text")
inp_wav_dir = os.environ.get("inp_wav_dir")
@@ -15,32 +14,37 @@ opt_dir = os.environ.get("opt_dir")
sv_path = os.environ.get("sv_path")
import torch
+
is_half = eval(os.environ.get("is_half", "True")) and torch.cuda.is_available()
import traceback
+
import torchaudio
+
now_dir = os.getcwd()
sys.path.append(now_dir)
sys.path.append(f"{now_dir}/GPT_SoVITS/eres2net")
-from tools.my_utils import clean_path
-from time import time as ttime
import shutil
-from ERes2NetV2 import ERes2NetV2
+from time import time as ttime
+
import kaldi as Kaldi
+from ERes2NetV2 import ERes2NetV2
+
+from gsv_tools.my_utils import clean_path
def my_save(fea, path): #####fix issue: torch.save doesn't support chinese path
dir = os.path.dirname(path)
name = os.path.basename(path)
# tmp_path="%s/%s%s.pth"%(dir,ttime(),i_part)
- tmp_path = "%s%s.pth" % (ttime(), i_part)
+ tmp_path = f"{ttime()}{i_part}.pth"
torch.save(fea, tmp_path)
- shutil.move(tmp_path, "%s/%s" % (dir, name))
+ shutil.move(tmp_path, f"{dir}/{name}")
-sv_cn_dir = "%s/7-sv_cn" % (opt_dir)
-wav32dir = "%s/5-wav32k" % (opt_dir)
+sv_cn_dir = f"{opt_dir}/7-sv_cn"
+wav32dir = f"{opt_dir}/5-wav32k"
os.makedirs(opt_dir, exist_ok=True)
os.makedirs(sv_cn_dir, exist_ok=True)
os.makedirs(wav32dir, exist_ok=True)
@@ -63,7 +67,7 @@ class SV:
embedding_model.eval()
self.embedding_model = embedding_model
self.res = torchaudio.transforms.Resample(32000, 16000).to(device)
- if is_half == False:
+ if not is_half:
self.embedding_model = self.embedding_model.to(device)
else:
self.embedding_model = self.embedding_model.half().to(device)
@@ -72,7 +76,7 @@ class SV:
def compute_embedding3(self, wav): # (1,x)#-1~1
with torch.no_grad():
wav = self.res(wav)
- if self.is_half == True:
+ if self.is_half:
wav = wav.half()
feat = torch.stack(
[Kaldi.fbank(wav0.unsqueeze(0), num_mel_bins=80, sample_frequency=16000, dither=0) for wav0 in wav]
@@ -85,10 +89,10 @@ sv = SV(device, is_half)
def name2go(wav_name, wav_path):
- sv_cn_path = "%s/%s.pt" % (sv_cn_dir, wav_name)
+ sv_cn_path = f"{sv_cn_dir}/{wav_name}.pt"
if os.path.exists(sv_cn_path):
return
- wav_path = "%s/%s" % (wav32dir, wav_name)
+ wav_path = f"{wav32dir}/{wav_name}"
wav32k, sr0 = torchaudio.load(wav_path)
assert sr0 == 32000
wav32k = wav32k.to(device)
@@ -96,16 +100,16 @@ def name2go(wav_name, wav_path):
my_save(emb, sv_cn_path)
-with open(inp_text, "r", encoding="utf8") as f:
+with open(inp_text, encoding="utf8") as f:
lines = f.read().strip("\n").split("\n")
for line in lines[int(i_part) :: int(all_parts)]:
try:
wav_name, spk_name, language, text = line.split("|")
wav_name = clean_path(wav_name)
- if inp_wav_dir != "" and inp_wav_dir != None:
+ if inp_wav_dir != "" and inp_wav_dir is not None:
wav_name = os.path.basename(wav_name)
- wav_path = "%s/%s" % (inp_wav_dir, wav_name)
+ wav_path = f"{inp_wav_dir}/{wav_name}"
else:
wav_path = wav_name
diff --git a/GPT_SoVITS/prepare_datasets/3-get-semantic.py b/GPT_SoVITS/prepare_datasets/3-get-semantic.py
index ddb0607c..28d8c017 100644
--- a/GPT_SoVITS/prepare_datasets/3-get-semantic.py
+++ b/GPT_SoVITS/prepare_datasets/3-get-semantic.py
@@ -1,5 +1,6 @@
import os
+
inp_text = os.environ.get("inp_text")
exp_name = os.environ.get("exp_name")
i_part = os.environ.get("i_part")
@@ -28,20 +29,25 @@ else:
version = "v3"
import torch
+
is_half = eval(os.environ.get("is_half", "True")) and torch.cuda.is_available()
-import traceback
import sys
+import traceback
+
now_dir = os.getcwd()
sys.path.append(now_dir)
import logging
+
import utils
+
if version != "v3":
from module.models import SynthesizerTrn
else:
from module.models import SynthesizerTrnV3 as SynthesizerTrn
-from tools.my_utils import clean_path
+from gsv_tools.my_utils import clean_path
+
logging.getLogger("numba").setLevel(logging.WARNING)
# from config import pretrained_s2G
@@ -54,9 +60,9 @@ logging.getLogger("numba").setLevel(logging.WARNING)
# opt_dir="/data/docker/liujing04/gpt-vits/fine_tune_dataset/%s"%exp_name
-hubert_dir = "%s/4-cnhubert" % (opt_dir)
-semantic_path = "%s/6-name2semantic-%s.tsv" % (opt_dir, i_part)
-if os.path.exists(semantic_path) == False:
+hubert_dir = f"{opt_dir}/4-cnhubert"
+semantic_path = f"{opt_dir}/6-name2semantic-{i_part}.tsv"
+if not os.path.exists(semantic_path):
os.makedirs(opt_dir, exist_ok=True)
if torch.cuda.is_available():
@@ -73,7 +79,7 @@ if os.path.exists(semantic_path) == False:
version=version,
**hps.model,
)
- if is_half == True:
+ if is_half:
vq_model = vq_model.half().to(device)
else:
vq_model = vq_model.to(device)
@@ -87,19 +93,19 @@ if os.path.exists(semantic_path) == False:
)
def name2go(wav_name, lines):
- hubert_path = "%s/%s.pt" % (hubert_dir, wav_name)
- if os.path.exists(hubert_path) == False:
+ hubert_path = f"{hubert_dir}/{wav_name}.pt"
+ if not os.path.exists(hubert_path):
return
ssl_content = torch.load(hubert_path, map_location="cpu")
- if is_half == True:
+ if is_half:
ssl_content = ssl_content.half().to(device)
else:
ssl_content = ssl_content.to(device)
codes = vq_model.extract_latent(ssl_content)
semantic = " ".join([str(i) for i in codes[0, 0, :].tolist()])
- lines.append("%s\t%s" % (wav_name, semantic))
+ lines.append(f"{wav_name}\t{semantic}")
- with open(inp_text, "r", encoding="utf8") as f:
+ with open(inp_text, encoding="utf8") as f:
lines = f.read().strip("\n").split("\n")
lines1 = []
diff --git a/GPT_SoVITS/process_ckpt.py b/GPT_SoVITS/process_ckpt.py
index 20db9b19..5d85a7b4 100644
--- a/GPT_SoVITS/process_ckpt.py
+++ b/GPT_SoVITS/process_ckpt.py
@@ -1,10 +1,13 @@
+import os
+import shutil
import traceback
from collections import OrderedDict
from time import time as ttime
-import shutil
-import os
+
import torch
-from tools.i18n.i18n import I18nAuto
+
+from gsv_tools.i18n.i18n import I18nAuto
+
i18n = I18nAuto()
@@ -12,13 +15,14 @@ i18n = I18nAuto()
def my_save(fea, path): #####fix issue: torch.save doesn't support chinese path
dir = os.path.dirname(path)
name = os.path.basename(path)
- tmp_path = "%s.pth" % (ttime())
+ tmp_path = f"{ttime()}.pth"
torch.save(fea, tmp_path)
- shutil.move(tmp_path, "%s/%s" % (dir, name))
+ shutil.move(tmp_path, f"{dir}/{name}")
from io import BytesIO
+
model_version2byte = {
"v3": b"03",
"v4": b"04",
@@ -47,14 +51,14 @@ def savee(ckpt, name, epoch, steps, hps, model_version=None, lora_rank=None):
continue
opt["weight"][key] = ckpt[key].half()
opt["config"] = hps
- opt["info"] = "%sepoch_%siteration" % (epoch, steps)
+ opt["info"] = f"{epoch}epoch_{steps}iteration"
if lora_rank:
opt["lora_rank"] = lora_rank
- my_save2(opt, "%s/%s.pth" % (hps.save_weight_dir, name), model_version)
- elif model_version != None and "Pro" in model_version:
- my_save2(opt, "%s/%s.pth" % (hps.save_weight_dir, name), model_version)
+ my_save2(opt, f"{hps.save_weight_dir}/{name}.pth", model_version)
+ elif model_version is not None and "Pro" in model_version:
+ my_save2(opt, f"{hps.save_weight_dir}/{name}.pth", model_version)
else:
- my_save(opt, "%s/%s.pth" % (hps.save_weight_dir, name))
+ my_save(opt, f"{hps.save_weight_dir}/{name}.pth")
return "Success."
except:
return traceback.format_exc()
diff --git a/README.md b/README.md
index 923f9a0a..d697363d 100644
--- a/README.md
+++ b/README.md
@@ -1,3 +1,5 @@
+#
+
GPT-SoVITS-WebUI
@@ -7,8 +9,6 @@ A Powerful Few-shot Voice Conversion and Text-to-Speech WebUI.
-
-
[](https://www.python.org)
[](https://github.com/RVC-Boss/gpt-sovits/releases)
@@ -27,7 +27,11 @@ A Powerful Few-shot Voice Conversion and Text-to-Speech WebUI.
---
-## Features:
+
+
+## Features
+
+
1. **Zero-shot TTS:** Input a 5-second vocal sample and experience instant text-to-speech conversion.
@@ -41,51 +45,56 @@ A Powerful Few-shot Voice Conversion and Text-to-Speech WebUI.
Unseen speakers few-shot fine-tuning demo:
-https://github.com/RVC-Boss/GPT-SoVITS/assets/129054828/05bee1fa-bdd8-4d85-9350-80c060ab47fb
+
**RTF(inference speed) of GPT-SoVITS v2 ProPlus**:
0.028 tested in 4060Ti, 0.014 tested in 4090 (1400words~=4min, inference time is 3.36s), 0.526 in M4 CPU. You can test our [huggingface demo](https://lj1995-gpt-sovits-proplus.hf.space/) (half H200) to experience high-speed inference .
-请不要尬黑GPT-SoVITS推理速度慢,谢谢!
-
**User guide: [简体中文](https://www.yuque.com/baicaigongchang1145haoyuangong/ib3g1e) | [English](https://rentry.co/GPT-SoVITS-guide#/)**
+
+
## Installation
-For users in China, you can [click here](https://www.codewithgpu.com/i/RVC-Boss/GPT-SoVITS/GPT-SoVITS-Official) to use AutoDL Cloud Docker to experience the full functionality online.
+For users in China, you can [Click Here to use](https://www.codewithgpu.com/i/RVC-Boss/GPT-SoVITS/GPT-SoVITS-Official) AutoDL Cloud Docker to experience the full functionality online.
### Tested Environments
-| Python Version | PyTorch Version | Device |
-| -------------- | ---------------- | ------------- |
-| Python 3.10 | PyTorch 2.5.1 | CUDA 12.4 |
-| Python 3.11 | PyTorch 2.5.1 | CUDA 12.4 |
-| Python 3.11 | PyTorch 2.7.0 | CUDA 12.8 |
-| Python 3.9 | PyTorch 2.8.0dev | CUDA 12.8 |
-| Python 3.9 | PyTorch 2.5.1 | Apple silicon |
-| Python 3.11 | PyTorch 2.7.0 | Apple silicon |
-| Python 3.9 | PyTorch 2.2.2 | CPU |
+| Python Version | PyTorch Version | Device |
+| -------------- | --------------- | ------------- |
+| Python 3.10 | PyTorch 2.8.0 | CUDA 12.6 |
+| Python 3.11 | PyTorch 2.9.0 | CUDA 12.6 |
+| Python 3.11 | PyTorch 2.7.0 | CUDA 12.8 |
+| Python 3.11 | PyTorch 2.10.0 | CUDA 12.8 |
+| Python 3.10 | PyTorch 2.8.0 | Apple silicon |
+| Python 3.11 | PyTorch 2.9.0 | Apple silicon |
+| Python 3.12 | PyTorch 2.10.0 | Apple silicon |
+| Python 3.10 | PyTorch 2.9.0 | CPU |
+
+
### Windows
-If you are a Windows user (tested with win>=10), you can [download the integrated package](https://huggingface.co/lj1995/GPT-SoVITS-windows-package/resolve/main/GPT-SoVITS-v3lora-20250228.7z?download=true) and double-click on _go-webui.bat_ to start GPT-SoVITS-WebUI.
+If you are a Windows user (tested with win>=10), you can [download the integrated package](https://huggingface.co/lj1995/GPT-SoVITS-windows-package/tree/main) and double-click on `go-webui.bat` to start GPT-SoVITS-WebUI.
**Users in China can [download the package here](https://www.yuque.com/baicaigongchang1145haoyuangong/ib3g1e/dkxgpiy9zb96hob4#KTvnO).**
Install the program by running the following commands:
```pwsh
-conda create -n GPTSoVits python=3.10
-conda activate GPTSoVits
-pwsh -F install.ps1 --Device --Source [--DownloadUVR5]
+conda create -n GPTSoVITS python=3.11
+conda activate GPTSoVITS
+pwsh -F install.ps1 --help
```
### Linux
+Install the program by running the following commands:
+
```bash
-conda create -n GPTSoVits python=3.10
-conda activate GPTSoVits
-bash install.sh --device --source [--download-uvr5]
+conda create -n GPTSoVITS python=3.11
+conda activate GPTSoVITS
+bash install.sh --help
```
### macOS
@@ -95,54 +104,51 @@ bash install.sh --device --source --source [--download-uvr5]
+conda create -n GPTSoVITS python=3.11
+conda activate GPTSoVITS
+bash install.sh --help
```
### Install Manually
-#### Install Dependences
+Install the program by running the following commands:
```bash
-conda create -n GPTSoVits python=3.10
-conda activate GPTSoVits
+conda create -n GPTSoVITS python=3.11
+conda activate GPTSoVITS
+conda install uv ffmpeg -c conda-forge
-pip install -r extra-req.txt --no-deps
-pip install -r requirements.txt
+uv export --extra main -o pylock.toml -q --extra [mlx|cu126|cu128|rocm|cpu]
+uv pip sync pylock.toml --no-break-system-packages --preview-features pylock
+uv pip install ".[flash-attn]"
```
-#### Install FFmpeg
+### Pretrained Models
-##### Conda Users
+**If `install.sh` runs successfully, you may skip No.1,2,3**
-```bash
-conda activate GPTSoVits
-conda install ffmpeg
-```
+**Users in China can [download all these models here](https://www.yuque.com/baicaigongchang1145haoyuangong/ib3g1e/dkxgpiy9zb96hob4#nVNhX).**
-##### Ubuntu/Debian Users
+1. Download pretrained models from [GPT-SoVITS Models](https://huggingface.co/lj1995/GPT-SoVITS) and place them in `GPT_SoVITS/pretrained_models`.
-```bash
-sudo apt install ffmpeg
-sudo apt install libsox-dev
-```
+2. Download G2PW models from [G2PWModel.zip (HF)](https://huggingface.co/XXXXRT/GPT-SoVITS-Pretrained/resolve/main/G2PWModel.zip)| [G2PWModel.zip (ModelScope)](https://www.modelscope.cn/models/XXXXRT/GPT-SoVITS-Pretrained/resolve/master/G2PWModel.zip), unzip and rename to `G2PWModel`, and then place them in `GPT_SoVITS/text`. (Chinese TTS Only)
-##### Windows Users
+3. For UVR5 (Vocals/Accompaniment Separation & Reverberation Removal, additionally), download models from [UVR5 Weights](https://huggingface.co/lj1995/VoiceConversionWebUI/tree/main/uvr5_weights) and place them in `gsv_tools/uvr5/uvr5_weights`.
+ - If you want to use `bs_roformer` or `mel_band_roformer` models for UVR5, you can manually download the model and corresponding configuration file, and put them in `gsv_tools/uvr5/uvr5_weights`. **Rename the model file and configuration file, ensure that the model and configuration files have the same and corresponding names except for the suffix**. In addition, the model and configuration file names **must include `roformer`** in order to be recognized as models of the roformer class.
-Download and place [ffmpeg.exe](https://huggingface.co/lj1995/VoiceConversionWebUI/blob/main/ffmpeg.exe) and [ffprobe.exe](https://huggingface.co/lj1995/VoiceConversionWebUI/blob/main/ffprobe.exe) in the GPT-SoVITS root
+ - The suggestion is to **directly specify the model type** in the model name and configuration file name, such as `mel_mand_roformer`, `bs_roformer`. If not specified, the features will be compared from the configuration file to determine which type of model it is. For example, the model `bs_roformer_ep_368_sdr_12.9628.ckpt` and its corresponding configuration file `bs_roformer_ep_368_sdr_12.9628.yaml` are a pair, `kim_mel_band_roformer.ckpt` and `kim_mel_band_roformer.yaml` are also a pair.
-Install [Visual Studio 2017](https://aka.ms/vs/17/release/vc_redist.x86.exe)
+4. For Chinese ASR (additionally), download models from [Damo ASR Model](https://modelscope.cn/models/damo/speech_paraformer-large_asr_nat-zh-cn-16k-common-vocab8404-pytorch/files), [Damo VAD Model](https://modelscope.cn/models/damo/speech_fsmn_vad_zh-cn-16k-common-pytorch/files), and [Damo Punc Model](https://modelscope.cn/models/damo/punc_ct-transformer_zh-cn-common-vocab272727-pytorch/files) and place them in `gsv_tools/asr/models`.
-##### MacOS Users
+5. For English or Japanese ASR (additionally), download models from [Faster Whisper Large V3](https://huggingface.co/Systran/faster-whisper-large-v3) and place them in `gsv_tools/asr/models`. Also, [other models](https://huggingface.co/Systran) may have the similar effect with smaller disk footprint.
-```bash
-brew install ffmpeg
-```
+
-### Running GPT-SoVITS with Docker
+## Running GPT-SoVITS with Docker
-#### Docker Image Selection
+
+
+### Docker Image Selection
Due to rapid development in the codebase and a slower Docker image release cycle, please:
@@ -153,15 +159,15 @@ Due to rapid development in the codebase and a slower Docker image release cycle
- Docker Compose will mount **all files** in the current directory. Please switch to the project root directory and **pull the latest code** before using the Docker image
- Optionally, build the image locally using the provided Dockerfile for the most up-to-date changes
-#### Environment Variables
+### Environment Variables
- `is_half`: Controls whether half-precision (fp16) is enabled. Set to `true` if your GPU supports it to reduce memory usage.
-#### Shared Memory Configuration
+### Shared Memory Configuration
On Windows (Docker Desktop), the default shared memory size is small and may cause unexpected behavior. Increase `shm_size` (e.g., to `16g`) in your Docker Compose file based on your available system memory.
-#### Choosing a Service
+### Choosing a Service
The `docker-compose.yaml` defines two services:
@@ -174,7 +180,7 @@ To run a specific service with Docker Compose, use:
docker compose run --service-ports
```
-#### Building the Docker Image Locally
+### Building the Docker Image Locally
If you want to build the image yourself, use:
@@ -182,7 +188,7 @@ If you want to build the image yourself, use:
bash docker_build.sh --cuda <12.6|12.8> [--lite]
```
-#### Accessing the Running Container (Bash Shell)
+### Accessing the Running Container (Bash Shell)
Once the container is running in the background, you can access it using:
@@ -190,31 +196,15 @@ Once the container is running in the background, you can access it using:
docker exec -it bash
```
-## Pretrained Models
-
-**If `install.sh` runs successfully, you may skip No.1,2,3**
-
-**Users in China can [download all these models here](https://www.yuque.com/baicaigongchang1145haoyuangong/ib3g1e/dkxgpiy9zb96hob4#nVNhX).**
-
-1. Download pretrained models from [GPT-SoVITS Models](https://huggingface.co/lj1995/GPT-SoVITS) and place them in `GPT_SoVITS/pretrained_models`.
-
-2. Download G2PW models from [G2PWModel.zip(HF)](https://huggingface.co/XXXXRT/GPT-SoVITS-Pretrained/resolve/main/G2PWModel.zip)| [G2PWModel.zip(ModelScope)](https://www.modelscope.cn/models/XXXXRT/GPT-SoVITS-Pretrained/resolve/master/G2PWModel.zip), unzip and rename to `G2PWModel`, and then place them in `GPT_SoVITS/text`.(Chinese TTS Only)
-
-3. For UVR5 (Vocals/Accompaniment Separation & Reverberation Removal, additionally), download models from [UVR5 Weights](https://huggingface.co/lj1995/VoiceConversionWebUI/tree/main/uvr5_weights) and place them in `tools/uvr5/uvr5_weights`.
-
- - If you want to use `bs_roformer` or `mel_band_roformer` models for UVR5, you can manually download the model and corresponding configuration file, and put them in `tools/uvr5/uvr5_weights`. **Rename the model file and configuration file, ensure that the model and configuration files have the same and corresponding names except for the suffix**. In addition, the model and configuration file names **must include `roformer`** in order to be recognized as models of the roformer class.
-
- - The suggestion is to **directly specify the model type** in the model name and configuration file name, such as `mel_mand_roformer`, `bs_roformer`. If not specified, the features will be compared from the configuration file to determine which type of model it is. For example, the model `bs_roformer_ep_368_sdr_12.9628.ckpt` and its corresponding configuration file `bs_roformer_ep_368_sdr_12.9628.yaml` are a pair, `kim_mel_band_roformer.ckpt` and `kim_mel_band_roformer.yaml` are also a pair.
-
-4. For Chinese ASR (additionally), download models from [Damo ASR Model](https://modelscope.cn/models/damo/speech_paraformer-large_asr_nat-zh-cn-16k-common-vocab8404-pytorch/files), [Damo VAD Model](https://modelscope.cn/models/damo/speech_fsmn_vad_zh-cn-16k-common-pytorch/files), and [Damo Punc Model](https://modelscope.cn/models/damo/punc_ct-transformer_zh-cn-common-vocab272727-pytorch/files) and place them in `tools/asr/models`.
-
-5. For English or Japanese ASR (additionally), download models from [Faster Whisper Large V3](https://huggingface.co/Systran/faster-whisper-large-v3) and place them in `tools/asr/models`. Also, [other models](https://huggingface.co/Systran) may have the similar effect with smaller disk footprint.
+
## Dataset Format
-The TTS annotation .list file format:
+
-```
+The TTS annotation `.list` file format:
+
+```text
vocal_path|speaker_name|language|text
@@ -230,20 +220,23 @@ Language dictionary:
Example:
-```
+```text
D:\GPT-SoVITS\xxx/xxx.wav|xxx|en|I like playing Genshin.
```
+
+
## Finetune and inference
+
+
### Open WebUI
#### Integrated Package Users
Double-click `go-webui.bat`or use `go-webui.ps1`
-if you want to switch to V1,then double-click`go-webui-v1.bat` or use `go-webui-v1.ps1`
#### Others
@@ -251,21 +244,13 @@ if you want to switch to V1,then double-click`go-webui-v1.bat` or use `go-webui-
python webui.py
```
-if you want to switch to V1,then
-
-```bash
-python webui.py v1
-```
-
-Or maunally switch version in WebUI
-
### Finetune
#### Path Auto-filling is now supported
1. Fill in the audio path
2. Slice the audio into small chunks
-3. Denoise(optinal)
+3. Denoise (optinal)
4. ASR
5. Proofreading ASR transcriptions
6. Go to the next Tab, then finetune the model
@@ -274,7 +259,7 @@ Or maunally switch version in WebUI
#### Integrated Package Users
-Double-click `go-webui-v2.bat` or use `go-webui-v2.ps1` ,then open the inference webui at `1-GPT-SoVITS-TTS/1C-inference`
+Double-click `go-webui.bat` or use `go-webui.ps1` ,then open the inference webui at `1-GPT-SoVITS-TTS/1C-inference`
#### Others
@@ -290,8 +275,12 @@ python webui.py
then open the inference webui at `1-GPT-SoVITS-TTS/1C-inference`
+
+
## V2 Release Notes
+
+
New Features:
1. Support Korean and Cantonese
@@ -304,18 +293,12 @@ New Features:
[more details]()
-Use v2 from v1 environment:
-
-1. `pip install -r requirements.txt` to update some packages
-
-2. Clone the latest codes from github.
-
-3. Download v2 pretrained models from [huggingface](https://huggingface.co/lj1995/GPT-SoVITS/tree/main/gsv-v2final-pretrained) and put them into `GPT_SoVITS/pretrained_models/gsv-v2final-pretrained`.
-
- Chinese v2 additional: [G2PWModel.zip(HF)](https://huggingface.co/XXXXRT/GPT-SoVITS-Pretrained/resolve/main/G2PWModel.zip)| [G2PWModel.zip(ModelScope)](https://www.modelscope.cn/models/XXXXRT/GPT-SoVITS-Pretrained/resolve/master/G2PWModel.zip)(Download G2PW models, unzip and rename to `G2PWModel`, and then place them in `GPT_SoVITS/text`.)
+
## V3 Release Notes
+
+
New Features:
1. The timbre similarity is higher, requiring less training data to approximate the target speaker (the timbre similarity is significantly improved using the base model directly without fine-tuning).
@@ -324,111 +307,59 @@ New Features:
[more details]()
-Use v3 from v2 environment:
-
-1. `pip install -r requirements.txt` to update some packages
-
-2. Clone the latest codes from github.
-
-3. Download v3 pretrained models (s1v3.ckpt, s2Gv3.pth and models--nvidia--bigvgan_v2_24khz_100band_256x folder) from [huggingface](https://huggingface.co/lj1995/GPT-SoVITS/tree/main) and put them into `GPT_SoVITS/pretrained_models`.
-
- additional: for Audio Super Resolution model, you can read [how to download](./tools/AP_BWE_main/24kto48k/readme.txt)
+
## V4 Release Notes
+
+
New Features:
1. Version 4 fixes the issue of metallic artifacts in Version 3 caused by non-integer multiple upsampling, and natively outputs 48k audio to prevent muffled sound (whereas Version 3 only natively outputs 24k audio). The author considers Version 4 a direct replacement for Version 3, though further testing is still needed.
[more details]()
-Use v4 from v1/v2/v3 environment:
-
-1. `pip install -r requirements.txt` to update some packages
-
-2. Clone the latest codes from github.
-
-3. Download v4 pretrained models (gsv-v4-pretrained/s2v4.pth, and gsv-v4-pretrained/vocoder.pth) from [huggingface](https://huggingface.co/lj1995/GPT-SoVITS/tree/main) and put them into `GPT_SoVITS/pretrained_models`.
+
## V2Pro Release Notes
+
+
New Features:
1. Slightly higher VRAM usage than v2, surpassing v4's performance, with v2's hardware cost and speed.
[more details]()
-2.v1/v2 and the v2Pro series share the same characteristics, while v3/v4 have similar features. For training sets with average audio quality, v1/v2/v2Pro can deliver decent results, but v3/v4 cannot. Additionally, the synthesized tone and timebre of v3/v4 lean more toward the reference audio rather than the overall training set.
+2. v1/v2 and the v2Pro series share the same characteristics, while v3/v4 have similar features. For training sets with average audio quality, v1/v2/v2Pro can deliver decent results, but v3/v4 cannot. Additionally, the synthesized tone and timebre of v3/v4 lean more toward the reference audio rather than the overall training set.
-Use v2Pro from v1/v2/v3/v4 environment:
-
-1. `pip install -r requirements.txt` to update some packages
-
-2. Clone the latest codes from github.
-
-3. Download v2Pro pretrained models (v2Pro/s2Dv2Pro.pth, v2Pro/s2Gv2Pro.pth, v2Pro/s2Dv2ProPlus.pth, v2Pro/s2Gv2ProPlus.pth, and sv/pretrained_eres2netv2w24s4ep4.ckpt) from [huggingface](https://huggingface.co/lj1995/GPT-SoVITS/tree/main) and put them into `GPT_SoVITS/pretrained_models`.
+
## Todo List
-- [x] **High Priority:**
+
- - [x] Localization in Japanese and English.
- - [x] User guide.
- - [x] Japanese and English dataset fine tune training.
+- [x] **High Priority:**
+ - [x] Localization in Japanese and English
+ - [x] User guide
+ - [x] Japanese and English dataset fine tune training
- [ ] **Features:**
- - [x] Zero-shot voice conversion (5s) / few-shot voice conversion (1min).
- - [x] TTS speaking speed control.
- - [ ] ~~Enhanced TTS emotion control.~~ Maybe use pretrained finetuned preset GPT models for better emotion.
- - [ ] Experiment with changing SoVITS token inputs to probability distribution of GPT vocabs (transformer latent).
- - [x] Improve English and Japanese text frontend.
- - [ ] Develop tiny and larger-sized TTS models.
- - [x] Colab scripts.
- - [x] Try expand training dataset (2k hours -> 10k hours).
+ - [x] Zero-shot voice conversion (5s) / few-shot voice conversion (1min)
+ - [x] TTS speaking speed control
+ - [ ] ~~Enhanced TTS emotion control~~ Maybe use pretrained finetuned preset GPT models for better emotion
+ - [ ] Experiment with changing SoVITS token inputs to probability distribution of GPT vocabs (transformer latent)
+ - [x] Improve English and Japanese text frontend
+ - [ ] Develop tiny and larger-sized TTS models
+ - [x] Colab scripts
+ - [x] Try expand training dataset (2k hours -> 10k hours)
- [x] better sovits base model (enhanced audio quality)
- [ ] model mix
-## (Additional) Method for running from the command line
-
-Use the command line to open the WebUI for UVR5
-
-```bash
-python tools/uvr5/webui.py ""
-```
-
-
-
-This is how the audio segmentation of the dataset is done using the command line
-
-```bash
-python audio_slicer.py \
- --input_path "" \
- --output_root "" \
- --threshold \
- --min_length \
- --min_interval
- --hop_size
-```
-
-This is how dataset ASR processing is done using the command line(Only Chinese)
-
-```bash
-python tools/asr/funasr_asr.py -i -o
-```
-
-ASR processing is performed through Faster_Whisper(ASR marking except Chinese)
-
-(No progress bars, GPU performance may cause time delays)
-
-```bash
-python ./tools/asr/fasterwhisper_asr.py -i -o -l -p
-```
-
-A custom list save path is enabled
+
## Credits
+
+
Special thanks to the following projects and contributors:
### Theoretical Research
@@ -439,7 +370,7 @@ Special thanks to the following projects and contributors:
- [TransferTTS](https://github.com/hcy71o/TransferTTS/blob/master/models.py#L556)
- [contentvec](https://github.com/auspicious3000/contentvec/)
- [hifi-gan](https://github.com/jik876/hifi-gan)
-- [fish-speech](https://github.com/fishaudio/fish-speech/blob/main/tools/llama/generate.py#L41)
+- [fish-speech](https://github.com/fishaudio/fish-speech/blob/d3df50503b36314a964f66cac1af1e19e95bcfa3/fish_speech/models/text2semantic/inference.py#L81)
- [f5-TTS](https://github.com/SWivid/F5-TTS/blob/main/src/f5_tts/model/backbones/dit.py)
- [shortcut flow matching](https://github.com/kvfrans/shortcut-models/blob/main/targets_shortcut.py)
@@ -471,8 +402,12 @@ Special thanks to the following projects and contributors:
Thankful to @Naozumi520 for providing the Cantonese training set and for the guidance on Cantonese-related knowledge.
+
+
## Thanks to all contributors for their efforts
+
+
-
+
diff --git a/api.py b/api.py
index cc0896a2..37d4555f 100644
--- a/api.py
+++ b/api.py
@@ -145,33 +145,36 @@ import os
import re
import sys
+
now_dir = os.getcwd()
sys.path.append(now_dir)
-sys.path.append("%s/GPT_SoVITS" % (now_dir))
+sys.path.append(f"{now_dir}/GPT_SoVITS")
+import logging
import signal
-from text.LangSegmenter import LangSegmenter
+import subprocess
+from io import BytesIO
from time import time as ttime
+
+import librosa
+import numpy as np
+import soundfile as sf
import torch
import torchaudio
-import librosa
-import soundfile as sf
-from fastapi import FastAPI, Request, Query
-from fastapi.responses import StreamingResponse, JSONResponse
import uvicorn
-from transformers import AutoModelForMaskedLM, AutoTokenizer
-import numpy as np
+from AR.models.t2s_lightning_module import Text2SemanticLightningModule
+from fastapi import FastAPI, Query, Request
+from fastapi.responses import JSONResponse, StreamingResponse
from feature_extractor import cnhubert
-from io import BytesIO
+from module.mel_processing import spectrogram_torch
from module.models import Generator, SynthesizerTrn, SynthesizerTrnV3
from peft import LoraConfig, get_peft_model
-from AR.models.t2s_lightning_module import Text2SemanticLightningModule
from text import cleaned_text_to_sequence
from text.cleaner import clean_text
-from module.mel_processing import spectrogram_torch
+from text.LangSegmenter import LangSegmenter
+from transformers import AutoModelForMaskedLM, AutoTokenizer
+
import config as global_config
-import logging
-import subprocess
class DefaultRefer:
@@ -239,14 +242,14 @@ def init_bigvgan():
from BigVGAN import bigvgan
bigvgan_model = bigvgan.BigVGAN.from_pretrained(
- "%s/GPT_SoVITS/pretrained_models/models--nvidia--bigvgan_v2_24khz_100band_256x" % (now_dir,),
+ f"{now_dir}/GPT_SoVITS/pretrained_models/models--nvidia--bigvgan_v2_24khz_100band_256x",
use_cuda_kernel=False,
) # if True, RuntimeError: Ninja is required to load C++ extensions
# remove weight norm in the model and set to eval mode
bigvgan_model.remove_weight_norm()
bigvgan_model = bigvgan_model.eval()
- if is_half == True:
+ if is_half:
bigvgan_model = bigvgan_model.half().to(device)
else:
bigvgan_model = bigvgan_model.to(device)
@@ -268,12 +271,12 @@ def init_hifigan():
hifigan_model.eval()
hifigan_model.remove_weight_norm()
state_dict_g = torch.load(
- "%s/GPT_SoVITS/pretrained_models/gsv-v4-pretrained/vocoder.pth" % (now_dir,),
+ f"{now_dir}/GPT_SoVITS/pretrained_models/gsv-v4-pretrained/vocoder.pth",
map_location="cpu",
weights_only=False,
)
print("loading vocoder", hifigan_model.load_state_dict(state_dict_g))
- if is_half == True:
+ if is_half:
hifigan_model = hifigan_model.half().to(device)
else:
hifigan_model = hifigan_model.to(device)
@@ -292,7 +295,7 @@ resample_transform_dict = {}
def resample(audio_tensor, sr0, sr1, device):
global resample_transform_dict
- key = "%s-%s-%s" % (sr0, sr1, str(device))
+ key = f"{sr0}-{sr1}-{str(device)}"
if key not in resample_transform_dict:
resample_transform_dict[key] = torchaudio.transforms.Resample(sr0, sr1).to(device)
return resample_transform_dict[key](audio_tensor)
@@ -300,6 +303,7 @@ def resample(audio_tensor, sr0, sr1, device):
from module.mel_processing import mel_spectrogram_torch
+
spec_min = -12
spec_max = 2
@@ -312,32 +316,36 @@ def denorm_spec(x):
return (x + 1) / 2 * (spec_max - spec_min) + spec_min
-mel_fn = lambda x: mel_spectrogram_torch(
- x,
- **{
- "n_fft": 1024,
- "win_size": 1024,
- "hop_size": 256,
- "num_mels": 100,
- "sampling_rate": 24000,
- "fmin": 0,
- "fmax": None,
- "center": False,
- },
-)
-mel_fn_v4 = lambda x: mel_spectrogram_torch(
- x,
- **{
- "n_fft": 1280,
- "win_size": 1280,
- "hop_size": 320,
- "num_mels": 100,
- "sampling_rate": 32000,
- "fmin": 0,
- "fmax": None,
- "center": False,
- },
-)
+def mel_fn(x):
+ return mel_spectrogram_torch(
+ x,
+ **{
+ "n_fft": 1024,
+ "win_size": 1024,
+ "hop_size": 256,
+ "num_mels": 100,
+ "sampling_rate": 24000,
+ "fmin": 0,
+ "fmax": None,
+ "center": False,
+ },
+ )
+
+
+def mel_fn_v4(x):
+ return mel_spectrogram_torch(
+ x,
+ **{
+ "n_fft": 1280,
+ "win_size": 1280,
+ "hop_size": 320,
+ "num_mels": 100,
+ "sampling_rate": 32000,
+ "fmin": 0,
+ "fmax": None,
+ "center": False,
+ },
+ )
sr_model = None
@@ -345,8 +353,8 @@ sr_model = None
def audio_sr(audio, sr):
global sr_model
- if sr_model == None:
- from tools.audio_sr import AP_BWE
+ if sr_model is None:
+ from gsv_tools.audio_sr import AP_BWE
try:
sr_model = AP_BWE(device, DictToAttrRecursive)
@@ -390,8 +398,8 @@ def get_sovits_weights(sovits_path):
is_exist = is_exist_s2gv3 if model_version == "v3" else is_exist_s2gv4
path_sovits = path_sovits_v3 if model_version == "v3" else path_sovits_v4
- if if_lora_v3 == True and is_exist == False:
- logger.info("SoVITS %s 底模缺失,无法加载相应 LoRA 权重" % model_version)
+ if if_lora_v3 and not is_exist:
+ logger.info(f"SoVITS {model_version} 底模缺失,无法加载相应 LoRA 权重")
dict_s2 = load_sovits_new(sovits_path)
hps = dict_s2["config"]
@@ -408,7 +416,7 @@ def get_sovits_weights(sovits_path):
if model_version not in {"v3", "v4"}:
if "Pro" in model_version:
hps.model.version = model_version
- if sv_cn_model == None:
+ if sv_cn_model is None:
init_sv_cn()
vq_model = SynthesizerTrn(
@@ -437,12 +445,12 @@ def get_sovits_weights(sovits_path):
del vq_model.enc_q
except:
pass
- if is_half == True:
+ if is_half:
vq_model = vq_model.half().to(device)
else:
vq_model = vq_model.to(device)
vq_model.eval()
- if if_lora_v3 == False:
+ if not if_lora_v3:
vq_model.load_state_dict(dict_s2["weight"], strict=False)
else:
path_sovits = path_sovits_v3 if model_version == "v3" else path_sovits_v4
@@ -480,7 +488,7 @@ def get_gpt_weights(gpt_path):
max_sec = config["data"]["max_sec"]
t2s_model = Text2SemanticLightningModule(config, "****", is_train=False)
t2s_model.load_state_dict(dict_s1["weight"])
- if is_half == True:
+ if is_half:
t2s_model = t2s_model.half()
t2s_model = t2s_model.to(device)
t2s_model.eval()
@@ -533,35 +541,32 @@ def get_bert_inf(phones, word2ph, norm_text, language):
else:
bert = torch.zeros(
(1024, len(phones)),
- dtype=torch.float16 if is_half == True else torch.float32,
+ dtype=torch.float16 if is_half else torch.float32,
).to(device)
return bert
-from text import chinese
-
-
def get_phones_and_bert(text, language, version, final=False):
- text = re.sub(r' {2,}', ' ', text)
+ text = re.sub(r" {2,}", " ", text)
textlist = []
langlist = []
if language == "all_zh":
- for tmp in LangSegmenter.getTexts(text,"zh"):
+ for tmp in LangSegmenter.getTexts(text, "zh"):
langlist.append(tmp["lang"])
textlist.append(tmp["text"])
elif language == "all_yue":
- for tmp in LangSegmenter.getTexts(text,"zh"):
+ for tmp in LangSegmenter.getTexts(text, "zh"):
if tmp["lang"] == "zh":
tmp["lang"] = "yue"
langlist.append(tmp["lang"])
textlist.append(tmp["text"])
elif language == "all_ja":
- for tmp in LangSegmenter.getTexts(text,"ja"):
+ for tmp in LangSegmenter.getTexts(text, "ja"):
langlist.append(tmp["lang"])
textlist.append(tmp["text"])
elif language == "all_ko":
- for tmp in LangSegmenter.getTexts(text,"ko"):
+ for tmp in LangSegmenter.getTexts(text, "ko"):
langlist.append(tmp["lang"])
textlist.append(tmp["text"])
elif language == "en":
@@ -606,7 +611,7 @@ def get_phones_and_bert(text, language, version, final=False):
if not final and len(phones) < 6:
return get_phones_and_bert("." + text, language, version, final=True)
- return phones, bert.to(torch.float16 if is_half == True else torch.float32), norm_text
+ return phones, bert.to(torch.float16 if is_half else torch.float32), norm_text
class DictToAttrRecursive(dict):
@@ -627,7 +632,7 @@ class DictToAttrRecursive(dict):
def __setattr__(self, key, value):
if isinstance(value, dict):
value = DictToAttrRecursive(value)
- super(DictToAttrRecursive, self).__setitem__(key, value)
+ super().__setitem__(key, value)
super().__setattr__(key, value)
def __delattr__(self, item):
@@ -662,7 +667,7 @@ def get_spepc(hps, filename, dtype, device, is_v2pro=False):
center=False,
)
spec = spec.to(dtype)
- if is_v2pro == True:
+ if is_v2pro:
audio = resample(audio, sr1, 16000, device).to(dtype)
return spec, audio
@@ -715,11 +720,11 @@ def pack_ogg(audio_bytes, data, rate):
pack_ogg_thread.join()
except RuntimeError as e:
# If changing the thread stack size is unsupported, a RuntimeError is raised.
- print("RuntimeError: {}".format(e))
+ print(f"RuntimeError: {e}")
print("Changing the thread stack size is unsupported.")
except ValueError as e:
# If the specified stack size is invalid, a ValueError is raised and the stack size is unmodified.
- print("ValueError: {}".format(e))
+ print(f"ValueError: {e}")
print("The specified stack size is invalid.")
return audio_bytes
@@ -794,7 +799,7 @@ def cut_text(text, punc):
punds = r"[" + "".join(punc_list) + r"]"
text = text.strip("\n")
items = re.split(f"({punds})", text)
- mergeitems = ["".join(group) for group in zip(items[::2], items[1::2])]
+ mergeitems = ["".join(group) for group in zip(items[::2], items[1::2], strict=False)]
# 在句子不存在符号或句尾无符号的时候保证文本完整
if len(items) % 2 == 1:
mergeitems.append(items[-1])
@@ -861,18 +866,18 @@ def get_tts_wav(
if if_sr and version != "v3":
if_sr = False
- t0 = ttime()
+ ttime()
prompt_text = prompt_text.strip("\n")
if prompt_text[-1] not in splits:
prompt_text += "。" if prompt_language != "en" else "."
prompt_language, text = prompt_language, text.strip("\n")
- dtype = torch.float16 if is_half == True else torch.float32
- zero_wav = np.zeros(int(hps.data.sampling_rate * 0.3), dtype=np.float16 if is_half == True else np.float32)
+ dtype = torch.float16 if is_half else torch.float32
+ zero_wav = np.zeros(int(hps.data.sampling_rate * 0.3), dtype=np.float16 if is_half else np.float32)
with torch.no_grad():
wav16k, sr = librosa.load(ref_wav_path, sr=16000)
wav16k = torch.from_numpy(wav16k)
zero_wav_torch = torch.from_numpy(zero_wav)
- if is_half == True:
+ if is_half:
wav16k = wav16k.half().to(device)
zero_wav_torch = zero_wav_torch.half().to(device)
else:
@@ -889,7 +894,7 @@ def get_tts_wav(
refers = []
if is_v2pro:
sv_emb = []
- if sv_cn_model == None:
+ if sv_cn_model is None:
init_sv_cn()
if inp_refs:
for path in inp_refs:
@@ -908,7 +913,7 @@ def get_tts_wav(
else:
refer, audio_tensor = get_spepc(hps, ref_wav_path, dtype, device)
- t1 = ttime()
+ ttime()
# os.environ['version'] = version
prompt_language = dict_language[prompt_language.lower()]
text_language = dict_language[text_language.lower()]
@@ -930,7 +935,7 @@ def get_tts_wav(
all_phoneme_ids = torch.LongTensor(phones1 + phones2).to(device).unsqueeze(0)
bert = bert.to(device).unsqueeze(0)
all_phoneme_len = torch.tensor([all_phoneme_ids.shape[-1]]).to(device)
- t2 = ttime()
+ ttime()
with torch.no_grad():
pred_semantic, idx = t2s_model.model.infer_panel(
all_phoneme_ids,
@@ -944,7 +949,7 @@ def get_tts_wav(
early_stop_num=hz * max_sec,
)
pred_semantic = pred_semantic[:, -idx:].unsqueeze(0)
- t3 = ttime()
+ ttime()
if version not in {"v3", "v4"}:
if is_v2pro:
@@ -1014,10 +1019,10 @@ def get_tts_wav(
cfm_res = torch.cat(cfm_resss, 2)
cfm_res = denorm_spec(cfm_res)
if version == "v3":
- if bigvgan_model == None:
+ if bigvgan_model is None:
init_bigvgan()
else: # v4
- if hifigan_model == None:
+ if hifigan_model is None:
init_hifigan()
vocoder_model = bigvgan_model if version == "v3" else hifigan_model
with torch.inference_mode():
@@ -1030,7 +1035,7 @@ def get_tts_wav(
audio_opt.append(audio)
audio_opt.append(zero_wav)
audio_opt = np.concatenate(audio_opt, 0)
- t4 = ttime()
+ ttime()
if version in {"v1", "v2", "v2Pro", "v2ProPlus"}:
sr = 32000
@@ -1128,7 +1133,7 @@ def handle(
if not default_refer.is_ready():
return JSONResponse({"code": 400, "message": "未指定参考音频且接口无预设"}, status_code=400)
- if cut_punc == None:
+ if cut_punc is None:
text = cut_text(text, default_cut_punc)
else:
text = cut_text(text, cut_punc)
diff --git a/api_v2.py b/api_v2.py
index 21511db3..5eb6813e 100644
--- a/api_v2.py
+++ b/api_v2.py
@@ -104,27 +104,31 @@ RESP:
import os
import sys
import traceback
-from typing import Generator, Union
+from collections.abc import Generator
+
now_dir = os.getcwd()
sys.path.append(now_dir)
-sys.path.append("%s/GPT_SoVITS" % (now_dir))
+sys.path.append(f"{now_dir}/GPT_SoVITS")
import argparse
-import subprocess
-import wave
import signal
+import subprocess
+import threading
+import wave
+from io import BytesIO
+
import numpy as np
import soundfile as sf
-from fastapi import FastAPI, Response
-from fastapi.responses import StreamingResponse, JSONResponse
import uvicorn
-from io import BytesIO
-from tools.i18n.i18n import I18nAuto
-from GPT_SoVITS.TTS_infer_pack.TTS import TTS, TTS_Config
-from GPT_SoVITS.TTS_infer_pack.text_segmentation_method import get_method_names as get_cut_method_names
+from fastapi import FastAPI, Response
+from fastapi.responses import JSONResponse, StreamingResponse
from pydantic import BaseModel
-import threading
+
+from GPT_SoVITS.TTS_infer_pack.text_segmentation_method import get_method_names as get_cut_method_names
+from GPT_SoVITS.TTS_infer_pack.TTS import TTS, TTS_Config
+from gsv_tools.i18n.i18n import I18nAuto
+
# print(sys.path)
i18n = I18nAuto()
@@ -169,7 +173,7 @@ class TTS_Request(BaseModel):
fragment_interval: float = 0.3
seed: int = -1
media_type: str = "wav"
- streaming_mode: Union[bool, int] = False
+ streaming_mode: bool | int = False
parallel_infer: bool = True
repetition_penalty: float = 1.35
sample_steps: int = 32
@@ -199,8 +203,6 @@ def pack_ogg(io_buffer: BytesIO, data: np.ndarray, rate: int):
with sf.SoundFile(io_buffer, mode="w", samplerate=rate, channels=1, format="ogg") as audio_file:
audio_file.write(data)
-
-
# See: https://docs.python.org/3/library/threading.html
# The stack size of this thread is at least 32768
# If stack overflow error still occurs, just modify the `stack_size`.
@@ -214,11 +216,11 @@ def pack_ogg(io_buffer: BytesIO, data: np.ndarray, rate: int):
pack_ogg_thread.join()
except RuntimeError as e:
# If changing the thread stack size is unsupported, a RuntimeError is raised.
- print("RuntimeError: {}".format(e))
+ print(f"RuntimeError: {e}")
print("Changing the thread stack size is unsupported.")
except ValueError as e:
# If the specified stack size is invalid, a ValueError is raised and the stack size is unmodified.
- print("ValueError: {}".format(e))
+ print(f"ValueError: {e}")
print("The specified stack size is invalid.")
return io_buffer
@@ -306,7 +308,7 @@ def check_params(req: dict):
text: str = req.get("text", "")
text_lang: str = req.get("text_lang", "")
ref_audio_path: str = req.get("ref_audio_path", "")
- streaming_mode: bool = req.get("streaming_mode", False)
+ req.get("streaming_mode", False)
media_type: str = req.get("media_type", "wav")
prompt_lang: str = req.get("prompt_lang", "")
text_split_method: str = req.get("text_split_method", "cut5")
@@ -384,7 +386,7 @@ async def tts_handle(req: dict):
check_res = check_params(req)
if check_res is not None:
return check_res
-
+
if streaming_mode == 0:
streaming_mode = False
return_fragment = False
@@ -403,7 +405,10 @@ async def tts_handle(req: dict):
fixed_length_chunk = True
else:
- return JSONResponse(status_code=400, content={"message": f"the value of streaming_mode must be 0, 1, 2, 3(int) or true/false(bool)"})
+ return JSONResponse(
+ status_code=400,
+ content={"message": "the value of streaming_mode must be 0, 1, 2, 3(int) or true/false(bool)"},
+ )
req["streaming_mode"] = streaming_mode
req["return_fragment"] = return_fragment
@@ -413,7 +418,6 @@ async def tts_handle(req: dict):
streaming_mode = streaming_mode or return_fragment
-
try:
tts_generator = tts_pipeline.run(req)
@@ -475,7 +479,7 @@ async def tts_get_endpoint(
repetition_penalty: float = 1.35,
sample_steps: int = 32,
super_sampling: bool = False,
- streaming_mode: Union[bool, int] = False,
+ streaming_mode: bool | int = False,
overlap_length: int = 2,
min_chunk_length: int = 16,
):
diff --git a/config.py b/config.py
index fdc11c0a..216422d2 100644
--- a/config.py
+++ b/config.py
@@ -4,7 +4,8 @@ import sys
import torch
-from tools.i18n.i18n import I18nAuto
+from gsv_tools.i18n.i18n import I18nAuto
+
i18n = I18nAuto(language=os.environ.get("language", "Auto"))
@@ -77,7 +78,7 @@ GPT_weight_version2root = {
def custom_sort_key(s):
# 使用正则表达式提取字符串中的数字部分和非数字部分
- parts = re.split("(\d+)", s)
+ parts = re.split(r"(\d+)", s)
# 将数字部分转换为整数,非数字部分保持不变
parts = [int(part) if part.isdigit() else part for part in parts]
return parts
@@ -93,7 +94,7 @@ def get_weights_names():
continue
for name in os.listdir(path):
if name.endswith(".pth"):
- SoVITS_names.append("%s/%s" % (path, name))
+ SoVITS_names.append(f"{path}/{name}")
if not SoVITS_names:
SoVITS_names = [""]
GPT_names = []
@@ -105,7 +106,7 @@ def get_weights_names():
continue
for name in os.listdir(path):
if name.endswith(".ckpt"):
- GPT_names.append("%s/%s" % (path, name))
+ GPT_names.append(f"{path}/{name}")
SoVITS_names = sorted(SoVITS_names, key=custom_sort_key)
GPT_names = sorted(GPT_names, key=custom_sort_key)
if not GPT_names:
@@ -161,7 +162,7 @@ def get_device_dtype_sm(idx: int) -> tuple[torch.device, torch.dtype, float, flo
is_16_series = bool(re.search(r"16\d{2}", name)) and sm_version == 7.5
if mem_gb < 4 or sm_version < 5.3:
return cpu, torch.float32, 0.0, 0.0
- if sm_version == 6.1 or is_16_series == True:
+ if sm_version == 6.1 or is_16_series:
return cuda, torch.float32, sm_version, mem_gb
if sm_version > 6.1:
return cuda, torch.float16, sm_version, mem_gb
diff --git a/docker-compose.yaml b/docker-compose.yaml
index f0fc2b43..b78258f3 100644
--- a/docker-compose.yaml
+++ b/docker-compose.yaml
@@ -30,8 +30,8 @@ services:
- "9880:9880"
volumes:
- .:/workspace/GPT-SoVITS
- - tools/asr/models:/workspace/models/asr_models
- - tools/uvr5/uvr5_weights:/workspace/models/uvr5_weights
+ - gsv_tools/asr/models:/workspace/models/asr_models
+ - gsv_tools/uvr5/uvr5_weights:/workspace/models/uvr5_weights
environment:
- is_half=true
tty: true
@@ -68,8 +68,8 @@ services:
- "9880:9880"
volumes:
- .:/workspace/GPT-SoVITS
- - tools/asr/models:/workspace/models/asr_models
- - tools/uvr5/uvr5_weights:/workspace/models/uvr5_weights
+ - gsv_tools/asr/models:/workspace/models/asr_models
+ - gsv_tools/uvr5/uvr5_weights:/workspace/models/uvr5_weights
environment:
- is_half=true
tty: true
diff --git a/docker_build.sh b/docker_build.sh
index c900866a..7624fcbe 100644
--- a/docker_build.sh
+++ b/docker_build.sh
@@ -26,7 +26,7 @@ print_help() {
echo " -h, --help Show this help message and exit"
echo ""
echo "Examples:"
- echo " bash docker_build.sh --cuda 12.6 --funasr --faster-whisper"
+ echo " bash docker_build.sh --cuda 12.6 --lite"
}
# Show help if no arguments provided
diff --git a/docs/cn/Changelog_CN.md b/docs/cn/Changelog_CN.md
index f68e23a9..914f9210 100644
--- a/docs/cn/Changelog_CN.md
+++ b/docs/cn/Changelog_CN.md
@@ -409,7 +409,7 @@
- 2025.02.11 [Commit#ed207c4b](https://github.com/RVC-Boss/GPT-SoVITS/commit/ed207c4b879d5296e9be3ae5f7b876729a2c43b8)~[Commit#6e2b4918](https://github.com/RVC-Boss/GPT-SoVITS/commit/6e2b49186c5b961f0de41ea485d398dffa9787b4)
- 内容: **新增 GPT-SoVITS V3 模型, 需要 14G 显存进行微调.**
- - 类型: 新功能 (特性参阅 [Wiki](https://github.com/RVC-Boss/GPT-SoVITS/wiki/GPT%E2%80%90SoVITS%E2%80%90v3%E2%80%90features-(%E6%96%B0%E7%89%B9%E6%80%A7)))
+ - 类型: 新功能 (特性参阅 [Wiki]())
- 提交: RVC-Boss
- 2025.02.12 [PR#2032](https://github.com/RVC-Boss/GPT-SoVITS/pull/2032)
- 内容: 更新项目多语言文档.
@@ -622,5 +622,3 @@
- 内容: 提升推理进程优先级(修复win11下可能GPU利用率受限的问题)
- 类型: 修复
- 提交: XianYue0125
-
-
diff --git a/docs/cn/README.md b/docs/cn/README.md
index 793734d8..ebf4856b 100644
--- a/docs/cn/README.md
+++ b/docs/cn/README.md
@@ -1,3 +1,5 @@
+#
+
GPT-SoVITS-WebUI
@@ -19,15 +21,18 @@
[](https://github.com/RVC-Boss/GPT-SoVITS/blob/main/docs/en/Changelog_EN.md)
[](https://github.com/RVC-Boss/GPT-SoVITS/blob/main/LICENSE)
-
[**English**](../../README.md) | **中文简体** | [**日本語**](../ja/README.md) | [**한국어**](../ko/README.md) | [**Türkçe**](../tr/README.md)
---
+
+
## 功能
+
+
1. **零样本文本到语音 (TTS):** 输入 5 秒的声音样本, 即刻体验文本到语音转换.
2. **少样本 TTS:** 仅需 1 分钟的训练数据即可微调模型, 提升声音相似度和真实感.
@@ -44,40 +49,49 @@
**用户手册: [简体中文](https://www.yuque.com/baicaigongchang1145haoyuangong/ib3g1e) | [English](https://rentry.co/GPT-SoVITS-guide#/)**
+
+
## 安装
中国地区的用户可[点击此处](https://www.codewithgpu.com/i/RVC-Boss/GPT-SoVITS/GPT-SoVITS-Official)使用 AutoDL 云端镜像进行体验.
### 测试通过的环境
-| Python Version | PyTorch Version | Device |
-| -------------- | ---------------- | ------------- |
-| Python 3.10 | PyTorch 2.5.1 | CUDA 12.4 |
-| Python 3.11 | PyTorch 2.5.1 | CUDA 12.4 |
-| Python 3.11 | PyTorch 2.7.0 | CUDA 12.8 |
-| Python 3.9 | PyTorch 2.8.0dev | CUDA 12.8 |
-| Python 3.9 | PyTorch 2.5.1 | Apple silicon |
-| Python 3.11 | PyTorch 2.7.0 | Apple silicon |
-| Python 3.9 | PyTorch 2.2.2 | CPU |
+| Python Version | PyTorch Version | Device |
+| -------------- | --------------- | ------------- |
+| Python 3.10 | PyTorch 2.8.0 | CUDA 12.6 |
+| Python 3.11 | PyTorch 2.9.0 | CUDA 12.6 |
+| Python 3.11 | PyTorch 2.7.0 | CUDA 12.8 |
+| Python 3.11 | PyTorch 2.10.0 | CUDA 12.8 |
+| Python 3.10 | PyTorch 2.8.0 | Apple silicon |
+| Python 3.11 | PyTorch 2.9.0 | Apple silicon |
+| Python 3.12 | PyTorch 2.10.0 | Apple silicon |
+| Python 3.10 | PyTorch 2.9.0 | CPU |
+
+
### Windows
-如果你是 Windows 用户 (已在 win>=10 上测试), 可以下载[整合包](https://huggingface.co/lj1995/GPT-SoVITS-windows-package/resolve/main/GPT-SoVITS-v3lora-20250228.7z?download=true), 解压后双击 go-webui.bat 即可启动 GPT-SoVITS-WebUI.
+如果你是 Windows 用户 (已在 win>=10 上测试), 可以下载[整合包](https://huggingface.co/lj1995/GPT-SoVITS-windows-package/tree/main), 解压后双击 go-webui.bat 即可启动 GPT-SoVITS-WebUI.
**中国地区的用户可以[在此处下载整合包](https://www.yuque.com/baicaigongchang1145haoyuangong/ib3g1e/dkxgpiy9zb96hob4#KTvnO).**
+运行以下的命令来安装本项目:
+
```pwsh
-conda create -n GPTSoVits python=3.10
-conda activate GPTSoVits
-pwsh -F install.ps1 --Device --Source [--DownloadUVR5]
+conda create -n GPTSoVITS python=3.11
+conda activate GPTSoVITS
+pwsh -F install.ps1 --help
```
### Linux
+运行以下的命令来安装本项目:
+
```bash
-conda create -n GPTSoVits python=3.10
-conda activate GPTSoVits
-bash install.sh --device --source [--download-uvr5]
+conda create -n GPTSoVITS python=3.11
+conda activate GPTSoVITS
+bash install.sh --help
```
### macOS
@@ -87,54 +101,51 @@ bash install.sh --device --source --source [--download-uvr5]
+conda create -n GPTSoVITS python=3.11
+conda activate GPTSoVITS
+bash install.sh --help
```
### 手动安装
-#### 安装依赖
+运行以下的命令来安装本项目:
```bash
-conda create -n GPTSoVits python=3.10
-conda activate GPTSoVits
+conda create -n GPTSoVITS python=3.11
+conda activate GPTSoVITS
+conda install uv ffmpeg -c conda-forge
-pip install -r extra-req.txt --no-deps
-pip install -r requirements.txt
+uv export --extra main -o pylock.toml -q --extra [mlx|cu126|cu128|rocm|cpu]
+uv pip sync pylock.toml --no-break-system-packages --preview-features pylock
+uv pip install ".[flash-attn]"
```
-#### 安装 FFmpeg
+### 预训练模型
-##### Conda 用户
+**若成功运行`install.sh`可跳过 No.1,2,3**
-```bash
-conda activate GPTSoVits
-conda install ffmpeg
-```
+**中国地区的用户可以[在此处下载这些模型](https://www.yuque.com/baicaigongchang1145haoyuangong/ib3g1e/dkxgpiy9zb96hob4#nVNhX).**
-##### Ubuntu/Debian 用户
+1. 从 [GPT-SoVITS Models](https://huggingface.co/lj1995/GPT-SoVITS) 下载预训练模型, 并将其放置在 `GPT_SoVITS/pretrained_models` 目录中.
-```bash
-sudo apt install ffmpeg
-sudo apt install libsox-dev
-```
+2. 从 [G2PWModel.zip (HF)](https://huggingface.co/XXXXRT/GPT-SoVITS-Pretrained/resolve/main/G2PWModel.zip)| [G2PWModel.zip (ModelScope)](https://www.modelscope.cn/models/XXXXRT/GPT-SoVITS-Pretrained/resolve/master/G2PWModel.zip) 下载模型, 解压并重命名为 `G2PWModel`, 然后将其放置在 `GPT_SoVITS/text` 目录中. (仅限中文 TTS)
-##### Windows 用户
+3. 对于 UVR5 (人声/伴奏分离和混响移除, 额外功能), 从 [UVR5 Weights](https://huggingface.co/lj1995/VoiceConversionWebUI/tree/main/uvr5_weights) 下载模型, 并将其放置在 `gsv_tools/uvr5/uvr5_weights` 目录中.
+ - 如果你在 UVR5 中使用 `bs_roformer` 或 `mel_band_roformer`模型, 你可以手动下载模型和相应的配置文件, 并将它们放在 `gsv_tools/UVR5/UVR5_weights` 中.**重命名模型文件和配置文件, 确保除后缀外**, 模型和配置文件具有相同且对应的名称.此外, 模型和配置文件名**必须包含"roformer"**, 才能被识别为 roformer 类的模型.
-下载并将 [ffmpeg.exe](https://huggingface.co/lj1995/VoiceConversionWebUI/blob/main/ffmpeg.exe) 和 [ffprobe.exe](https://huggingface.co/lj1995/VoiceConversionWebUI/blob/main/ffprobe.exe) 放置在 GPT-SoVITS 根目录下
+ - 建议在模型名称和配置文件名中**直接指定模型类型**, 例如`mel_mand_roformer`、`bs_roformer`.如果未指定, 将从配置文中比对特征, 以确定它是哪种类型的模型.例如, 模型`bs_roformer_ep_368_sdr_12.9628.ckpt` 和对应的配置文件`bs_roformer_ep_368_sdr_12.9628.yaml` 是一对.`kim_mel_band_roformer.ckpt` 和 `kim_mel_band_roformer.yaml` 也是一对.
-安装 [Visual Studio 2017](https://aka.ms/vs/17/release/vc_redist.x86.exe) 环境
+4. 对于中文 ASR (额外功能), 从 [Damo ASR Model](https://modelscope.cn/models/damo/speech_paraformer-large_asr_nat-zh-cn-16k-common-vocab8404-pytorch/files)、[Damo VAD Model](https://modelscope.cn/models/damo/speech_fsmn_vad_zh-cn-16k-common-pytorch/files) 和 [Damo Punc Model](https://modelscope.cn/models/damo/punc_ct-transformer_zh-cn-common-vocab272727-pytorch/files) 下载模型, 并将它们放置在 `gsv_tools/asr/models` 目录中.
-##### MacOS 用户
+5. 对于英语或日语 ASR (额外功能), 从 [Faster Whisper Large V3](https://huggingface.co/Systran/faster-whisper-large-v3) 下载模型, 并将其放置在 `gsv_tools/asr/models` 目录中.此外, [其他模型](https://huggingface.co/Systran) 可能具有类似效果且占用更少的磁盘空间.
-```bash
-brew install ffmpeg
-```
+
-### 运行 GPT-SoVITS (使用 Docker)
+## 运行 GPT-SoVITS (使用 Docker)
-#### Docker 镜像选择
+
+
+### Docker 镜像选择
由于代码库更新频繁, 而 Docker 镜像的发布周期相对较慢, 请注意:
@@ -145,15 +156,15 @@ brew install ffmpeg
- Docker Compose 将会挂载当前目录的**所有文件**, 请在使用 Docker 镜像前先切换到项目根目录并**拉取代码更新**
- 可选:为了获得最新的更改, 你可以使用提供的 Dockerfile 在本地构建镜像
-#### 环境变量
+### 环境变量
- `is_half`:控制是否启用半精度(fp16). 如果你的 GPU 支持, 设置为 `true` 可以减少显存占用
-#### 共享内存配置
+### 共享内存配置
在 Windows (Docker Desktop) 中, 默认共享内存大小较小, 可能导致运行异常. 请在 Docker Compose 文件中根据系统内存情况, 增大 `shm_size` (例如设置为 `16g`)
-#### 选择服务
+### 选择服务
`docker-compose.yaml` 文件定义了两个主要服务类型:
@@ -166,7 +177,7 @@ brew install ffmpeg
docker compose run --service-ports
```
-#### 本地构建 Docker 镜像
+### 本地构建 Docker 镜像
如果你希望自行构建镜像, 请使用以下命令:
@@ -174,7 +185,7 @@ docker compose run --service-ports [--lite]
```
-#### 访问运行中的容器 (Bash Shell)
+### 访问运行中的容器 (Bash Shell)
当容器在后台运行时, 你可以通过以下命令进入容器:
@@ -182,32 +193,18 @@ bash docker_build.sh --cuda <12.6|12.8> [--lite]
docker exec -it bash
```
-## 预训练模型
-
-**若成功运行`install.sh`可跳过 No.1,2,3**
-
-**中国地区的用户可以[在此处下载这些模型](https://www.yuque.com/baicaigongchang1145haoyuangong/ib3g1e/dkxgpiy9zb96hob4#nVNhX).**
-
-1. 从 [GPT-SoVITS Models](https://huggingface.co/lj1995/GPT-SoVITS) 下载预训练模型, 并将其放置在 `GPT_SoVITS/pretrained_models` 目录中.
-
-2. 从 [G2PWModel.zip(HF)](https://huggingface.co/XXXXRT/GPT-SoVITS-Pretrained/resolve/main/G2PWModel.zip)| [G2PWModel.zip(ModelScope)](https://www.modelscope.cn/models/XXXXRT/GPT-SoVITS-Pretrained/resolve/master/G2PWModel.zip) 下载模型, 解压并重命名为 `G2PWModel`, 然后将其放置在 `GPT_SoVITS/text` 目录中. (仅限中文 TTS)
-
-3. 对于 UVR5 (人声/伴奏分离和混响移除, 额外功能), 从 [UVR5 Weights](https://huggingface.co/lj1995/VoiceConversionWebUI/tree/main/uvr5_weights) 下载模型, 并将其放置在 `tools/uvr5/uvr5_weights` 目录中.
-
- - 如果你在 UVR5 中使用 `bs_roformer` 或 `mel_band_roformer`模型, 你可以手动下载模型和相应的配置文件, 并将它们放在 `tools/UVR5/UVR5_weights` 中.**重命名模型文件和配置文件, 确保除后缀外**, 模型和配置文件具有相同且对应的名称.此外, 模型和配置文件名**必须包含"roformer"**, 才能被识别为 roformer 类的模型.
-
- - 建议在模型名称和配置文件名中**直接指定模型类型**, 例如`mel_mand_roformer`、`bs_roformer`.如果未指定, 将从配置文中比对特征, 以确定它是哪种类型的模型.例如, 模型`bs_roformer_ep_368_sdr_12.9628.ckpt` 和对应的配置文件`bs_roformer_ep_368_sdr_12.9628.yaml` 是一对.`kim_mel_band_roformer.ckpt` 和 `kim_mel_band_roformer.yaml` 也是一对.
-
-4. 对于中文 ASR (额外功能), 从 [Damo ASR Model](https://modelscope.cn/models/damo/speech_paraformer-large_asr_nat-zh-cn-16k-common-vocab8404-pytorch/files)、[Damo VAD Model](https://modelscope.cn/models/damo/speech_fsmn_vad_zh-cn-16k-common-pytorch/files) 和 [Damo Punc Model](https://modelscope.cn/models/damo/punc_ct-transformer_zh-cn-common-vocab272727-pytorch/files) 下载模型, 并将它们放置在 `tools/asr/models` 目录中.
-
-5. 对于英语或日语 ASR (额外功能), 从 [Faster Whisper Large V3](https://huggingface.co/Systran/faster-whisper-large-v3) 下载模型, 并将其放置在 `tools/asr/models` 目录中.此外, [其他模型](https://huggingface.co/Systran) 可能具有类似效果且占用更少的磁盘空间.
+
## 数据集格式
-文本到语音 (TTS) 注释 .list 文件格式:
+
+
+文本到语音 (TTS) 注释 `.list` 文件格式:
+
+```text
-```
vocal_path|speaker_name|language|text
+
```
语言字典:
@@ -220,18 +217,23 @@ vocal_path|speaker_name|language|text
示例:
-```
+```text
+
D:\GPT-SoVITS\xxx/xxx.wav|xxx|zh|我爱玩原神.
+
```
+
+
## 微调与推理
+
+
### 打开 WebUI
#### 整合包用户
双击`go-webui.bat`或者使用`go-webui.ps1`
-若想使用 V1,则双击`go-webui-v1.bat`或者使用`go-webui-v1.ps1`
#### 其他
@@ -239,14 +241,6 @@ D:\GPT-SoVITS\xxx/xxx.wav|xxx|zh|我爱玩原神.
python webui.py
```
-若想使用 V1,则
-
-```bash
-python webui.py v1
-```
-
-或者在 webUI 内动态切换
-
### 微调
#### 现已支持自动填充路径
@@ -278,8 +272,12 @@ python webui.py
然后在 `1-GPT-SoVITS-TTS/1C-推理` 中打开推理 webUI
+
+
## V2 发布说明
+
+
新特性:
1. 支持韩语及粤语
@@ -292,18 +290,12 @@ python webui.py
详见[wiki]()
-从 v1 环境迁移至 v2
-
-1. 需要 pip 安装 requirements.txt 更新环境
-
-2. 需要克隆 github 上的最新代码
-
-3. 需要从[huggingface](https://huggingface.co/lj1995/GPT-SoVITS/tree/main/gsv-v2final-pretrained) 下载预训练模型文件放到 GPT_SoVITS/pretrained_models/gsv-v2final-pretrained 下
-
- 中文额外需要下载[G2PWModel.zip(HF)](https://huggingface.co/XXXXRT/GPT-SoVITS-Pretrained/resolve/main/G2PWModel.zip)| [G2PWModel.zip(ModelScope)](https://www.modelscope.cn/models/XXXXRT/GPT-SoVITS-Pretrained/resolve/master/G2PWModel.zip) (下载 G2PW 模型,解压并重命名为`G2PWModel`,将其放到`GPT_SoVITS/text`目录下)
+
## V3 更新说明
+
+
新模型特点:
1. 音色相似度更像, 需要更少训练集来逼近本人 (不训练直接使用底模模式下音色相似性提升更大)
@@ -312,33 +304,23 @@ python webui.py
详见[wiki]()
-从 v2 环境迁移至 v3
-
-1. 需要 pip 安装 requirements.txt 更新环境
-
-2. 需要克隆 github 上的最新代码
-
-3. 从[huggingface](https://huggingface.co/lj1995/GPT-SoVITS/tree/main)下载这些 v3 新增预训练模型 (s1v3.ckpt, s2Gv3.pth and models--nvidia--bigvgan_v2_24khz_100band_256x folder)将他们放到`GPT_SoVITS/pretrained_models`目录下
-
- 如果想用音频超分功能缓解 v3 模型生成 24k 音频觉得闷的问题, 需要下载额外的模型参数, 参考[how to download](../../tools/AP_BWE_main/24kto48k/readme.txt)
+
## V4 更新说明
+
+
新特性:
1. **V4 版本修复了 V3 版本中由于非整数倍上采样导致的金属音问题, 并原生输出 48kHz 音频以避免声音闷糊 (而 V3 版本仅原生输出 24kHz 音频)**. 作者认为 V4 是对 V3 的直接替代, 但仍需进一步测试.
[更多详情]()
-从 V1/V2/V3 环境迁移至 V4:
-
-1. 执行 `pip install -r requirements.txt` 更新部分依赖包.
-
-2. 从 GitHub 克隆最新代码.
-
-3. 从 [huggingface](https://huggingface.co/lj1995/GPT-SoVITS/tree/main) 下载 V4 预训练模型 (`gsv-v4-pretrained/s2v4.ckpt` 和 `gsv-v4-pretrained/vocoder.pth`), 并放入 `GPT_SoVITS/pretrained_models` 目录.
+
## V2Pro 更新说明
+
+
新特性:
1. **相比 V2 占用稍高显存, 性能超过 V4, 在保留 V2 硬件成本和推理速度优势的同时实现更高音质.**
@@ -346,77 +328,35 @@ python webui.py
2. V1/V2 与 V2Pro 系列具有相同特性, V3/V4 则具备相近功能. 对于平均音频质量较低的训练集, V1/V2/V2Pro 可以取得较好的效果, 但 V3/V4 无法做到. 此外, V3/V4 合成的声音更偏向参考音频, 而不是整体训练集的风格.
-从 V1/V2/V3/V4 环境迁移至 V2Pro:
-
-1. 执行 `pip install -r requirements.txt` 更新部分依赖包.
-
-2. 从 GitHub 克隆最新代码.
-
-3. 从 [huggingface](https://huggingface.co/lj1995/GPT-SoVITS/tree/main) 下载 V2Pro 预训练模型 (`v2Pro/s2Dv2Pro.pth`, `v2Pro/s2Gv2Pro.pth`, `v2Pro/s2Dv2ProPlus.pth`, `v2Pro/s2Gv2ProPlus.pth`, 和 `sv/pretrained_eres2netv2w24s4ep4.ckpt`), 并放入 `GPT_SoVITS/pretrained_models` 目录.
+
## 待办事项清单
-- [x] **高优先级:**
+
- - [x] 日语和英语的本地化.
- - [x] 用户指南.
- - [x] 日语和英语数据集微调训练.
+- [x] **高优先级:**
+ - [x] 日语和英语的本地化
+ - [x] 用户指南
+ - [x] 日语和英语数据集微调训练
- [ ] **功能:**
- [x] 零样本声音转换 (5 秒) / 少样本声音转换 (1 分钟).
- - [x] TTS 语速控制.
- - [ ] ~~增强的 TTS 情感控制.~~
- - [ ] 尝试将 SoVITS 令牌输入更改为词汇的概率分布.
- - [x] 改进英语和日语文本前端.
- - [ ] 开发体积小和更大的 TTS 模型.
- - [x] Colab 脚本.
- - [x] 扩展训练数据集 (从 2k 小时到 10k 小时).
- - [x] 更好的 sovits 基础模型 (增强的音频质量).
- - [ ] 模型混合.
+ - [x] TTS 语速控制
+ - [ ] ~~增强的 TTS 情感控制~~
+ - [ ] 尝试将 SoVITS 令牌输入更改为词汇的概率分布
+ - [x] 改进英语和日语文本前端
+ - [ ] 开发体积小和更大的 TTS 模型
+ - [x] Colab 脚本
+ - [x] 扩展训练数据集 (从 2k 小时到 10k 小时)
+ - [x] 更好的 sovits 基础模型 (增强的音频质量)
+ - [ ] 模型混合
-## (附加) 命令行运行方式
-
-使用命令行打开 UVR5 的 WebUI
-
-```bash
-python tools/uvr5/webui.py ""
-```
-
-
-
-这是使用命令行完成数据集的音频切分的方式
-
-```bash
-python audio_slicer.py \
- --input_path "" \
- --output_root "" \
- --threshold \
- --min_length \
- --min_interval
- --hop_size
-```
-
-这是使用命令行完成数据集 ASR 处理的方式 (仅限中文)
-
-```bash
-python tools/asr/funasr_asr.py -i -o
-```
-
-通过 Faster_Whisper 进行 ASR 处理 (除中文之外的 ASR 标记)
-
-(没有进度条, GPU 性能可能会导致时间延迟)
-
-```bash
-python ./tools/asr/fasterwhisper_asr.py -i -o -l -p
-```
-
-启用自定义列表保存路径
+
## 致谢
+
+
特别感谢以下项目和贡献者:
### 理论研究
@@ -427,7 +367,7 @@ python ./tools/asr/fasterwhisper_asr.py -i -o -l -p
- [TransferTTS](https://github.com/hcy71o/TransferTTS/blob/master/models.py#L556)
- [contentvec](https://github.com/auspicious3000/contentvec/)
- [hifi-gan](https://github.com/jik876/hifi-gan)
-- [fish-speech](https://github.com/fishaudio/fish-speech/blob/main/tools/llama/generate.py#L41)
+- [fish-speech](https://github.com/fishaudio/fish-speech/blob/d3df50503b36314a964f66cac1af1e19e95bcfa3/fish_speech/models/text2semantic/inference.py#L81)
- [f5-TTS](https://github.com/SWivid/F5-TTS/blob/main/src/f5_tts/model/backbones/dit.py)
- [shortcut flow matching](https://github.com/kvfrans/shortcut-models/blob/main/targets_shortcut.py)
@@ -459,8 +399,12 @@ python ./tools/asr/fasterwhisper_asr.py -i -o -l -p
感谢 @Naozumi520 提供粤语训练集, 并在粤语相关知识方面给予指导.
+
+
## 感谢所有贡献者的努力
+
+
-
+
diff --git a/docs/ja/README.md b/docs/ja/README.md
index 1ee9abb4..5e4e07c7 100644
--- a/docs/ja/README.md
+++ b/docs/ja/README.md
@@ -1,3 +1,5 @@
+#
+
GPT-SoVITS-WebUI
@@ -19,14 +21,17 @@
[](https://github.com/RVC-Boss/GPT-SoVITS/blob/main/docs/en/Changelog_EN.md)
[](https://github.com/RVC-Boss/GPT-SoVITS/blob/main/LICENSE)
-
[**English**](../../README.md) | [**中文简体**](../cn/README.md) | **日本語** | [**한국어**](../ko/README.md) | [**Türkçe**](../tr/README.md)
---
-## 機能:
+
+
+## 機能
+
+
1. **Zero-Shot TTS:** たった 5 秒間の音声サンプルで、即座にテキストからその音声に変換できます.
@@ -40,34 +45,49 @@
声の事前学習無しかつ Few-Shot でトレーニングされたモデルのデモ:
-https://github.com/RVC-Boss/GPT-SoVITS/assets/129054828/05bee1fa-bdd8-4d85-9350-80c060ab47fb
+
**ユーザーマニュアル: [简体中文](https://www.yuque.com/baicaigongchang1145haoyuangong/ib3g1e) | [English](https://rentry.co/GPT-SoVITS-guide#/)**
+
+
## インストール
### テスト済みの環境
-| Python Version | PyTorch Version | Device |
-| -------------- | ---------------- | ------------- |
-| Python 3.10 | PyTorch 2.5.1 | CUDA 12.4 |
-| Python 3.11 | PyTorch 2.5.1 | CUDA 12.4 |
-| Python 3.11 | PyTorch 2.7.0 | CUDA 12.8 |
-| Python 3.9 | PyTorch 2.8.0dev | CUDA 12.8 |
-| Python 3.9 | PyTorch 2.5.1 | Apple silicon |
-| Python 3.11 | PyTorch 2.7.0 | Apple silicon |
-| Python 3.9 | PyTorch 2.2.2 | CPU |
+| Python Version | PyTorch Version | Device |
+| -------------- | --------------- | ------------- |
+| Python 3.10 | PyTorch 2.8.0 | CUDA 12.6 |
+| Python 3.11 | PyTorch 2.9.0 | CUDA 12.6 |
+| Python 3.11 | PyTorch 2.7.0 | CUDA 12.8 |
+| Python 3.11 | PyTorch 2.10.0 | CUDA 12.8 |
+| Python 3.10 | PyTorch 2.8.0 | Apple silicon |
+| Python 3.11 | PyTorch 2.9.0 | Apple silicon |
+| Python 3.12 | PyTorch 2.10.0 | Apple silicon |
+| Python 3.10 | PyTorch 2.9.0 | CPU |
+
+
### Windows
-Windows ユーザー: (Windows 10 以降でテスト済み)、[統合パッケージをダウンロード](https://huggingface.co/lj1995/GPT-SoVITS-windows-package/resolve/main/GPT-SoVITS-v3lora-20250228.7z?download=true)し、解凍後に _go-webui.bat_ をダブルクリックすると、GPT-SoVITS-WebUI が起動します.
+Windows ユーザー: (Windows 10 以降でテスト済み)、[統合パッケージをダウンロード](https://huggingface.co/lj1995/GPT-SoVITS-windows-package/tree/main)し、解凍後に `go-webui.bat` をダブルクリックすると、GPT-SoVITS-WebUI が起動します.
+
+以下のコマンドを実行してこのプロジェクトをインストールします:
+
+```pwsh
+conda create -n GPTSoVITS python=3.11
+conda activate GPTSoVITS
+pwsh -F install.ps1 --help
+```
### Linux
+以下のコマンドを実行してこのプロジェクトをインストールします:
+
```bash
-conda create -n GPTSoVits python=3.10
-conda activate GPTSoVits
-bash install.sh --device --source [--download-uvr5]
+conda create -n GPTSoVITS python=3.11
+conda activate GPTSoVITS
+bash install.sh --help
```
### macOS
@@ -77,54 +97,49 @@ bash install.sh --device --source --source [--download-uvr5]
+conda create -n GPTSoVITS python=3.11
+conda activate GPTSoVITS
+bash install.sh --help
```
### 手動インストール
-#### 依存関係をインストールします
+以下のコマンドを実行してこのプロジェクトをインストールします:
```bash
-conda create -n GPTSoVits python=3.10
-conda activate GPTSoVits
+conda create -n GPTSoVITS python=3.11
+conda activate GPTSoVITS
+conda install uv ffmpeg -c conda-forge
-pip install -r extra-req.txt --no-deps
-pip install -r requirements.txt
+uv export --extra main -o pylock.toml -q --extra [mlx|cu126|cu128|rocm|cpu]
+uv pip sync pylock.toml --no-break-system-packages --preview-features pylock
+uv pip install ".[flash-attn]"
```
-#### FFmpeg をインストールします
+### 事前訓練済みモデル
-##### Conda ユーザー
+**`install.sh`が正常に実行された場合、No.1,2,3 はスキップしてかまいません.**
-```bash
-conda activate GPTSoVits
-conda install ffmpeg
-```
+1. [GPT-SoVITS Models](https://huggingface.co/lj1995/GPT-SoVITS) から事前訓練済みモデルをダウンロードし、`GPT_SoVITS/pretrained_models` ディレクトリに配置してください.
-##### Ubuntu/Debian ユーザー
+2. [G2PWModel.zip (HF)](https://huggingface.co/XXXXRT/GPT-SoVITS-Pretrained/resolve/main/G2PWModel.zip)| [G2PWModel.zip (ModelScope)](https://www.modelscope.cn/models/XXXXRT/GPT-SoVITS-Pretrained/resolve/master/G2PWModel.zip) からモデルをダウンロードし、解凍して `G2PWModel` にリネームし、`GPT_SoVITS/text` ディレクトリに配置してください. (中国語 TTS のみ)
-```bash
-sudo apt install ffmpeg
-sudo apt install libsox-dev
-```
+3. UVR5 (ボーカル/伴奏 (BGM 等) 分離 & リバーブ除去の追加機能) の場合は、[UVR5 Weights](https://huggingface.co/lj1995/VoiceConversionWebUI/tree/main/uvr5_weights) からモデルをダウンロードし、`gsv_tools/uvr5/uvr5_weights` ディレクトリに配置してください.
+ - UVR5 で bs_roformer または mel_band_roformer モデルを使用する場合、モデルと対応する設定ファイルを手動でダウンロードし、`gsv_tools/UVR5/UVR5_weights`フォルダに配置することができます.**モデルファイルと設定ファイルの名前は、拡張子を除いて同じであることを確認してください**.さらに、モデルと設定ファイルの名前には**「roformer」が含まれている必要があります**.これにより、roformer クラスのモデルとして認識されます.
-##### Windows ユーザー
+ - モデル名と設定ファイル名には、**直接モデルタイプを指定することをお勧めします**.例: mel_mand_roformer、bs_roformer.指定しない場合、設定文から特徴を照合して、モデルの種類を特定します.例えば、モデル`bs_roformer_ep_368_sdr_12.9628.ckpt`と対応する設定ファイル`bs_roformer_ep_368_sdr_12.9628.yaml`はペアです.同様に、`kim_mel_band_roformer.ckpt`と`kim_mel_band_roformer.yaml`もペアです.
-[ffmpeg.exe](https://huggingface.co/lj1995/VoiceConversionWebUI/blob/main/ffmpeg.exe) と [ffprobe.exe](https://huggingface.co/lj1995/VoiceConversionWebUI/blob/main/ffprobe.exe) をダウンロードし、GPT-SoVITS のルートフォルダに置きます
+4. 中国語 ASR (追加機能) の場合は、[Damo ASR Model](https://modelscope.cn/models/damo/speech_paraformer-large_asr_nat-zh-cn-16k-common-vocab8404-pytorch/files)、[Damo VAD Model](https://modelscope.cn/models/damo/speech_fsmn_vad_zh-cn-16k-common-pytorch/files)、および [Damo Punc Model](https://modelscope.cn/models/damo/punc_ct-transformer_zh-cn-common-vocab272727-pytorch/files) からモデルをダウンロードし、`gsv_tools/asr/models` ディレクトリに配置してください.
-[Visual Studio 2017](https://aka.ms/vs/17/release/vc_redist.x86.exe) 環境をインストールしてください
+5. 英語または日本語の ASR (追加機能) を使用する場合は、[Faster Whisper Large V3](https://huggingface.co/Systran/faster-whisper-large-v3) からモデルをダウンロードし、`gsv_tools/asr/models` ディレクトリに配置してください.また、[他のモデル](https://huggingface.co/Systran) は、より小さいサイズで高クオリティな可能性があります.
-##### MacOS ユーザー
+
-```bash
-brew install ffmpeg
-```
+## GPT-SoVITS の実行 (Docker 使用)
-### GPT-SoVITS の実行 (Docker 使用)
+
-#### Docker イメージの選択
+### Docker イメージの選択
コードベースの更新が頻繁である一方、Docker イメージのリリースは比較的遅いため、以下を確認してください:
@@ -135,15 +150,15 @@ brew install ffmpeg
- Docker Compose は現在のディレクトリ内の**すべてのファイル**をマウントします. Docker イメージを使用する前に、プロジェクトのルートディレクトリに移動し、**コードを最新の状態に更新**してください
- オプション:最新の変更を反映させるため、提供されている Dockerfile を使ってローカルでイメージをビルドすることも可能です
-#### 環境変数
+### 環境変数
- `is_half`:半精度 (fp16) を使用するかどうかを制御します. GPU が対応している場合、`true` に設定することでメモリ使用量を削減できます
-#### 共有メモリの設定
+### 共有メモリの設定
Windows (Docker Desktop) では、デフォルトの共有メモリサイズが小さいため、予期しない動作が発生する可能性があります. Docker Compose ファイル内の `shm_size` を (例:`16g`) に増やすことをおすすめします
-#### サービスの選択
+### サービスの選択
`docker-compose.yaml` ファイルには次の 2 種類のサービスが定義されています:
@@ -156,7 +171,7 @@ Windows (Docker Desktop) では、デフォルトの共有メモリサイズが
docker compose run --service-ports
```
-#### Docker イメージのローカルビルド
+### Docker イメージのローカルビルド
自分でイメージをビルドするには、以下のコマンドを使ってください:
@@ -164,7 +179,7 @@ docker compose run --service-ports [--lite]
```
-#### 実行中のコンテナへアクセス (Bash Shell)
+### 実行中のコンテナへアクセス (Bash Shell)
コンテナがバックグラウンドで実行されている場合、以下のコマンドでシェルにアクセスできます:
@@ -172,30 +187,18 @@ bash docker_build.sh --cuda <12.6|12.8> [--lite]
docker exec -it bash
```
-## 事前訓練済みモデル
-
-**`install.sh`が正常に実行された場合、No.1,2,3 はスキップしてかまいません.**
-
-1. [GPT-SoVITS Models](https://huggingface.co/lj1995/GPT-SoVITS) から事前訓練済みモデルをダウンロードし、`GPT_SoVITS/pretrained_models` ディレクトリに配置してください.
-
-2. [G2PWModel.zip(HF)](https://huggingface.co/XXXXRT/GPT-SoVITS-Pretrained/resolve/main/G2PWModel.zip)| [G2PWModel.zip(ModelScope)](https://www.modelscope.cn/models/XXXXRT/GPT-SoVITS-Pretrained/resolve/master/G2PWModel.zip) からモデルをダウンロードし、解凍して `G2PWModel` にリネームし、`GPT_SoVITS/text` ディレクトリに配置してください. (中国語 TTS のみ)
-
-3. UVR5 (ボーカル/伴奏 (BGM 等) 分離 & リバーブ除去の追加機能) の場合は、[UVR5 Weights](https://huggingface.co/lj1995/VoiceConversionWebUI/tree/main/uvr5_weights) からモデルをダウンロードし、`tools/uvr5/uvr5_weights` ディレクトリに配置してください.
-
- - UVR5 で bs_roformer または mel_band_roformer モデルを使用する場合、モデルと対応する設定ファイルを手動でダウンロードし、`tools/UVR5/UVR5_weights`フォルダに配置することができます.**モデルファイルと設定ファイルの名前は、拡張子を除いて同じであることを確認してください**.さらに、モデルと設定ファイルの名前には**「roformer」が含まれている必要があります**.これにより、roformer クラスのモデルとして認識されます.
-
- - モデル名と設定ファイル名には、**直接モデルタイプを指定することをお勧めします**.例: mel_mand_roformer、bs_roformer.指定しない場合、設定文から特徴を照合して、モデルの種類を特定します.例えば、モデル`bs_roformer_ep_368_sdr_12.9628.ckpt`と対応する設定ファイル`bs_roformer_ep_368_sdr_12.9628.yaml`はペアです.同様に、`kim_mel_band_roformer.ckpt`と`kim_mel_band_roformer.yaml`もペアです.
-
-4. 中国語 ASR (追加機能) の場合は、[Damo ASR Model](https://modelscope.cn/models/damo/speech_paraformer-large_asr_nat-zh-cn-16k-common-vocab8404-pytorch/files)、[Damo VAD Model](https://modelscope.cn/models/damo/speech_fsmn_vad_zh-cn-16k-common-pytorch/files)、および [Damo Punc Model](https://modelscope.cn/models/damo/punc_ct-transformer_zh-cn-common-vocab272727-pytorch/files) からモデルをダウンロードし、`tools/asr/models` ディレクトリに配置してください.
-
-5. 英語または日本語の ASR (追加機能) を使用する場合は、[Faster Whisper Large V3](https://huggingface.co/Systran/faster-whisper-large-v3) からモデルをダウンロードし、`tools/asr/models` ディレクトリに配置してください.また、[他のモデル](https://huggingface.co/Systran) は、より小さいサイズで高クオリティな可能性があります.
+
## データセット形式
-TTS アノテーション .list ファイル形式:
+
+
+TTS アノテーション `.list` ファイル形式:
+
+```text
-```
vocal_path|speaker_name|language|text
+
```
言語辞書:
@@ -206,18 +209,23 @@ vocal_path|speaker_name|language|text
例:
-```
+```text
+
D:\GPT-SoVITS\xxx/xxx.wav|xxx|en|I like playing Genshin.
+
```
+
+
## 微調整と推論
+
+
### WebUI を開く
#### 統合パッケージ利用者
`go-webui.bat`をダブルクリックするか、`go-webui.ps1`を使用します.
-V1 に切り替えたい場合は、`go-webui-v1.bat`をダブルクリックするか、`go-webui-v1.ps1`を使用してください.
#### その他
@@ -225,14 +233,6 @@ V1 に切り替えたい場合は、`go-webui-v1.bat`をダブルクリックす
python webui.py <言語(オプション)>
```
-V1 に切り替えたい場合は
-
-```bash
-python webui.py v1 <言語(オプション)>
-```
-
-または WebUI で手動でバージョンを切り替えてください.
-
### 微調整
#### パス自動補完のサポート
@@ -248,7 +248,7 @@ python webui.py v1 <言語(オプション)>
#### 統合パッケージ利用者
-`go-webui-v2.bat`をダブルクリックするか、`go-webui-v2.ps1`を使用して、`1-GPT-SoVITS-TTS/1C-inference`で推論 webui を開きます.
+`go-webui.bat`をダブルクリックするか、`go-webui.ps1`を使用して、`1-GPT-SoVITS-TTS/1C-inference`で推論 webui を開きます.
#### その他
@@ -264,8 +264,12 @@ python webui.py
その後、`1-GPT-SoVITS-TTS/1C-inference`で推論 webui を開きます.
+
+
## V2 リリースノート
+
+
新機能:
1. 韓国語と広東語をサポート
@@ -278,18 +282,12 @@ python webui.py
[詳細はこちら]()
-V1 環境から V2 を使用するには:
-
-1. `pip install -r requirements.txt`を使用していくつかのパッケージを更新
-
-2. 最新のコードを github からクローン
-
-3. [huggingface](https://huggingface.co/lj1995/GPT-SoVITS/tree/main/gsv-v2final-pretrained)から V2 の事前学習モデルをダウンロードし、それらを`GPT_SoVITS/pretrained_models/gsv-v2final-pretrained`に配置
-
- 中国語 V2 追加: [G2PWModel.zip(HF)](https://huggingface.co/XXXXRT/GPT-SoVITS-Pretrained/resolve/main/G2PWModel.zip)| [G2PWModel.zip(ModelScope)](https://www.modelscope.cn/models/XXXXRT/GPT-SoVITS-Pretrained/resolve/master/G2PWModel.zip) (G2PW モデルをダウンロードし、解凍して`G2PWModel`にリネームし、`GPT_SoVITS/text`に配置します)
+
## V3 リリースノート
+
+
新機能:
1. 音色の類似性が向上し、ターゲットスピーカーを近似するために必要な学習データが少なくなりました (音色の類似性は、ファインチューニングなしでベースモデルを直接使用することで顕著に改善されます).
@@ -298,33 +296,23 @@ V1 環境から V2 を使用するには:
[詳細情報はこちら]()
-v2 環境から v3 を使用する方法:
-
-1. `pip install -r requirements.txt` を実行して、いくつかのパッケージを更新します.
-
-2. GitHub から最新のコードをクローンします.
-
-3. v3 の事前学習済みモデル (s1v3.ckpt、s2Gv3.pth、models--nvidia--bigvgan_v2_24khz_100band_256x フォルダ) を[Huggingface](https://huggingface.co/lj1995/GPT-SoVITS/tree/main) からダウンロードし、GPT_SoVITS/pretrained_models フォルダに配置します.
-
- 追加: 音声超解像モデルについては、[ダウンロード方法](../../tools/AP_BWE_main/24kto48k/readme.txt)を参照してください.
+
## V4 リリースノート
+
+
新機能:
1. **V4 は、V3 で発生していた非整数倍アップサンプリングによる金属音の問題を修正し、音声がこもる問題を防ぐためにネイティブに 48kHz 音声を出力します(V3 はネイティブに 24kHz 音声のみ出力)**. 作者は V4 を V3 の直接的な置き換えとして推奨していますが、さらなるテストが必要です.
[詳細はこちら]()
-V1/V2/V3 環境から V4 への移行方法:
-
-1. `pip install -r requirements.txt` を実行して一部の依存パッケージを更新してください.
-
-2. GitHub から最新のコードをクローンします.
-
-3. [huggingface](https://huggingface.co/lj1995/GPT-SoVITS/tree/main) から V4 の事前学習済みモデル (`gsv-v4-pretrained/s2v4.ckpt` および `gsv-v4-pretrained/vocoder.pth`) をダウンロードし、`GPT_SoVITS/pretrained_models` ディレクトリへ配置してください.
+
## V2Pro リリースノート
+
+
新機能:
1. **V2 と比較してやや高いメモリ使用量ですが、ハードウェアコストと推論速度は維持しつつ、V4 よりも高い性能と音質を実現します. **
@@ -332,18 +320,13 @@ V1/V2/V3 環境から V4 への移行方法:
2. V1/V2 と V2Pro シリーズは類似した特徴を持ち、V3/V4 も同様の機能を持っています. 平均音質が低いトレーニングセットの場合、V1/V2/V2Pro は良好な結果を出すことができますが、V3/V4 では対応できません. また、V3/V4 の合成音声はトレーニング全体ではなく、より参考音声に寄った音質になります.
-V1/V2/V3/V4 環境から V2Pro への移行方法:
-
-1. `pip install -r requirements.txt` を実行して一部の依存パッケージを更新してください.
-
-2. GitHub から最新のコードをクローンします.
-
-3. [huggingface](https://huggingface.co/lj1995/GPT-SoVITS/tree/main) から V2Pro の事前学習済みモデル (`v2Pro/s2Dv2Pro.pth`, `v2Pro/s2Gv2Pro.pth`, `v2Pro/s2Dv2ProPlus.pth`, `v2Pro/s2Gv2ProPlus.pth`, および `sv/pretrained_eres2netv2w24s4ep4.ckpt`) をダウンロードし、`GPT_SoVITS/pretrained_models` ディレクトリへ配置してください.
+
## Todo リスト
-- [x] **優先度 高:**
+
+- [x] **優先度 高:**
- [x] 日本語と英語でのローカライズ.
- [x] ユーザーガイド.
- [x] 日本語データセットと英語データセットのファインチューニングトレーニング.
@@ -356,53 +339,16 @@ V1/V2/V3/V4 環境から V2Pro への移行方法:
- [x] 英語と日本語のテキストフロントエンドを改善.
- [ ] 小型と大型の TTS モデルを開発する.
- [x] Colab のスクリプト.
- - [ ] トレーニングデータセットを拡張する (2k→10k).
+ - [x] トレーニングデータセットを拡張する (2k→10k).
- [x] より良い sovits ベースモデル (音質向上)
- [ ] モデルミックス
-## (追加の) コマンドラインから実行する方法
-
-コマンド ラインを使用して UVR5 の WebUI を開きます
-
-```bash
-python tools/uvr5/webui.py ""
-```
-
-
-
-コマンド ラインを使用してデータセットのオーディオ セグメンテーションを行う方法は次のとおりです.
-
-```bash
-python audio_slicer.py \
- --input_path "" \
- --output_root "" \
- --threshold \
- --min_length \
- --min_interval
- --hop_size
-```
-
-コマンドラインを使用してデータセット ASR 処理を行う方法です (中国語のみ)
-
-```bash
-python tools/asr/funasr_asr.py -i -o
-```
-
-ASR 処理は Faster_Whisper を通じて実行されます(中国語を除く ASR マーキング)
-
-(進行状況バーは表示されません.GPU のパフォーマンスにより時間遅延が発生する可能性があります)
-
-```bash
-python ./tools/asr/fasterwhisper_asr.py -i -o -l -p
-```
-
-カスタムリストの保存パスが有効になっています
+
## クレジット
+
+
特に以下のプロジェクトと貢献者に感謝します:
### 理論研究
@@ -413,7 +359,7 @@ python ./tools/asr/fasterwhisper_asr.py -i -o -l -p
- [TransferTTS](https://github.com/hcy71o/TransferTTS/blob/master/models.py#L556)
- [contentvec](https://github.com/auspicious3000/contentvec/)
- [hifi-gan](https://github.com/jik876/hifi-gan)
-- [fish-speech](https://github.com/fishaudio/fish-speech/blob/main/tools/llama/generate.py#L41)
+- [fish-speech](https://github.com/fishaudio/fish-speech/blob/d3df50503b36314a964f66cac1af1e19e95bcfa3/fish_speech/models/text2semantic/inference.py#L81)
- [f5-TTS](https://github.com/SWivid/F5-TTS/blob/main/src/f5_tts/model/backbones/dit.py)
- [shortcut flow matching](https://github.com/kvfrans/shortcut-models/blob/main/targets_shortcut.py)
@@ -445,8 +391,12 @@ python ./tools/asr/fasterwhisper_asr.py -i -o -l -p
@Naozumi520 さん、広東語のトレーニングセットの提供と、広東語に関する知識のご指導をいただき、感謝申し上げます.
+
+
## すべてのコントリビューターに感謝します
+
+
-
+
diff --git a/docs/ko/README.md b/docs/ko/README.md
index 9ff32f83..90982d51 100644
--- a/docs/ko/README.md
+++ b/docs/ko/README.md
@@ -1,3 +1,5 @@
+#
+
GPT-SoVITS-WebUI
@@ -19,14 +21,17 @@
[](https://github.com/RVC-Boss/GPT-SoVITS/blob/main/docs/en/Changelog_EN.md)
[](https://github.com/RVC-Boss/GPT-SoVITS/blob/main/LICENSE)
-
[**English**](../../README.md) | [**中文简体**](../cn/README.md) | [**日本語**](../ja/README.md) | **한국어** | [**Türkçe**](../tr/README.md)
---
-## 기능:
+
+
+## 기능
+
+
1. **제로샷 텍스트 음성 변환 (TTS):** 5초의 음성 샘플을 입력하면 즉시 텍스트를 음성으로 변환할 수 있습니다.
@@ -40,97 +45,101 @@
보지 못한 발화자의 퓨샷(few-shot) 파인튜닝 데모:
-https://github.com/RVC-Boss/GPT-SoVITS/assets/129054828/05bee1fa-bdd8-4d85-9350-80c060ab47fb
+
**사용자 설명서: [简体中文](https://www.yuque.com/baicaigongchang1145haoyuangong/ib3g1e) | [English](https://rentry.co/GPT-SoVITS-guide#/)**
+
+
## 설치
### 테스트 통과 환경
-| Python Version | PyTorch Version | Device |
-| -------------- | ---------------- | ------------- |
-| Python 3.10 | PyTorch 2.5.1 | CUDA 12.4 |
-| Python 3.11 | PyTorch 2.5.1 | CUDA 12.4 |
-| Python 3.11 | PyTorch 2.7.0 | CUDA 12.8 |
-| Python 3.9 | PyTorch 2.8.0dev | CUDA 12.8 |
-| Python 3.9 | PyTorch 2.5.1 | Apple silicon |
-| Python 3.11 | PyTorch 2.7.0 | Apple silicon |
-| Python 3.9 | PyTorch 2.2.2 | CPU |
+| Python Version | PyTorch Version | Device |
+| -------------- | --------------- | ------------- |
+| Python 3.10 | PyTorch 2.8.0 | CUDA 12.6 |
+| Python 3.11 | PyTorch 2.9.0 | CUDA 12.6 |
+| Python 3.11 | PyTorch 2.7.0 | CUDA 12.8 |
+| Python 3.11 | PyTorch 2.10.0 | CUDA 12.8 |
+| Python 3.10 | PyTorch 2.8.0 | Apple silicon |
+| Python 3.11 | PyTorch 2.9.0 | Apple silicon |
+| Python 3.12 | PyTorch 2.10.0 | Apple silicon |
+| Python 3.10 | PyTorch 2.9.0 | CPU |
+
+
### Windows
-Windows 사용자라면 (win>=10에서 테스트됨), [통합 패키지를 다운로드](https://huggingface.co/lj1995/GPT-SoVITS-windows-package/resolve/main/GPT-SoVITS-v3lora-20250228.7z?download=true)한 후 압축을 풀고 _go-webui.bat_ 파일을 더블 클릭하면 GPT-SoVITS-WebUI를 시작할 수 있습니다.
+Windows 사용자라면 (win>=10에서 테스트됨), [통합 패키지를 다운로드](https://huggingface.co/lj1995/GPT-SoVITS-windows-package/tree/main)한 후 압축을 풀고 `go-webui.bat` 파일을 더블 클릭하면 GPT-SoVITS-WebUI를 시작할 수 있습니다.
+
+다음 명령어를 실행하여 이 프로젝트를 설치하세요:
```pwsh
-conda create -n GPTSoVits python=3.10
-conda activate GPTSoVits
-pwsh -F install.ps1 --Device --Source [--DownloadUVR5]
+conda create -n GPTSoVITS python=3.11
+conda activate GPTSoVITS
+pwsh -F install.ps1 --help
```
### Linux
+다음 명령어를 실행하여 이 프로젝트를 설치하세요:
+
```bash
-conda create -n GPTSoVits python=3.10
-conda activate GPTSoVits
-bash install.sh --device --source [--download-uvr5]
+conda create -n GPTSoVITS python=3.11
+conda activate GPTSoVITS
+bash install.sh --help
```
### macOS
**주의: Mac에서 GPU로 훈련된 모델은 다른 OS에서 훈련된 모델에 비해 품질이 낮습니다. 해당 문제를 해결하기 전까지 MacOS에선 CPU를 사용하여 훈련을 진행합니다.**
-다음 명령어를 실행하여 이 프로젝트를 설치하세요
+다음 명령어를 실행하여 이 프로젝트를 설치하세요:
```bash
-conda create -n GPTSoVits python=3.10
-conda activate GPTSoVits
-bash install.sh --device --source [--download-uvr5]
+conda create -n GPTSoVITS python=3.11
+conda activate GPTSoVITS
+bash install.sh --help
```
### 수동 설치
-#### 의존성 설치
+다음 명령어를 실행하여 이 프로젝트를 설치하세요:
```bash
-conda create -n GPTSoVits python=3.10
-conda activate GPTSoVits
+conda create -n GPTSoVITS python=3.11
+conda activate GPTSoVITS
+conda install uv ffmpeg -c conda-forge
-pip install -r extra-req.txt --no-deps
-pip install -r requirements.txt
+uv export --extra main -o pylock.toml -q --extra [mlx|cu126|cu128|rocm|cpu]
+uv pip sync pylock.toml --no-break-system-packages --preview-features pylock
+uv pip install ".[flash-attn]"
```
-#### FFmpeg 설치
+### 사전 학습된 모델
-##### Conda 사용자
+**`install.sh`가 성공적으로 실행되면 No.1,2,3 은 건너뛰어도 됩니다.**
-```bash
-conda activate GPTSoVits
-conda install ffmpeg
-```
+1. [GPT-SoVITS Models](https://huggingface.co/lj1995/GPT-SoVITS) 에서 사전 학습된 모델을 다운로드하고, `GPT_SoVITS/pretrained_models` 디렉토리에 배치하세요.
-##### Ubuntu/Debian 사용자
+2. [G2PWModel.zip(HF)](https://huggingface.co/XXXXRT/GPT-SoVITS-Pretrained/resolve/main/G2PWModel.zip)| [G2PWModel.zip(ModelScope)](https://www.modelscope.cn/models/XXXXRT/GPT-SoVITS-Pretrained/resolve/master/G2PWModel.zip) 에서 모델을 다운로드하고 압축을 풀어 `G2PWModel`로 이름을 변경한 후, `GPT_SoVITS/text` 디렉토리에 배치하세요. (중국어 TTS 전용)
-```bash
-sudo apt install ffmpeg
-sudo apt install libsox-dev
-```
+3. UVR5 (보컬/반주 분리 & 잔향 제거 추가 기능)의 경우, [UVR5 Weights](https://huggingface.co/lj1995/VoiceConversionWebUI/tree/main/uvr5_weights) 에서 모델을 다운로드하고 `gsv_tools/uvr5/uvr5_weights` 디렉토리에 배치하세요.
+ - UVR5에서 bs_roformer 또는 mel_band_roformer 모델을 사용할 경우, 모델과 해당 설정 파일을 수동으로 다운로드하여 `gsv_tools/UVR5/UVR5_weights` 폴더에 저장할 수 있습니다. **모델 파일과 설정 파일의 이름은 확장자를 제외하고 동일한 이름을 가지도록 해야 합니다**. 또한, 모델과 설정 파일 이름에는 **"roformer"**가 포함되어야 roformer 클래스의 모델로 인식됩니다.
-##### Windows 사용자
+ - 모델 이름과 설정 파일 이름에 **모델 유형을 직접 지정하는 것이 좋습니다**. 예: mel_mand_roformer, bs_roformer. 지정하지 않으면 설정 파일을 기준으로 특성을 비교하여 어떤 유형의 모델인지를 판단합니다. 예를 들어, 모델 `bs_roformer_ep_368_sdr_12.9628.ckpt`와 해당 설정 파일 `bs_roformer_ep_368_sdr_12.9628.yaml`은 한 쌍입니다. `kim_mel_band_roformer.ckpt`와 `kim_mel_band_roformer.yaml`도 한 쌍입니다.
-[ffmpeg.exe](https://huggingface.co/lj1995/VoiceConversionWebUI/blob/main/ffmpeg.exe)와 [ffprobe.exe](https://huggingface.co/lj1995/VoiceConversionWebUI/blob/main/ffprobe.exe)를 GPT-SoVITS root 디렉토리에 넣습니다
+4. 중국어 ASR (추가 기능)의 경우, [Damo ASR Model](https://modelscope.cn/models/damo/speech_paraformer-large_asr_nat-zh-cn-16k-common-vocab8404-pytorch/files), [Damo VAD Model](https://modelscope.cn/models/damo/speech_fsmn_vad_zh-cn-16k-common-pytorch/files) 및 [Damo Punc Model](https://modelscope.cn/models/damo/punc_ct-transformer_zh-cn-common-vocab272727-pytorch/files) 에서 모델을 다운로드하고, `gsv_tools/asr/models` 디렉토리에 배치하세요.
-[Visual Studio 2017](https://aka.ms/vs/17/release/vc_redist.x86.exe) 설치
+5. 영어 또는 일본어 ASR (추가 기능)의 경우, [Faster Whisper Large V3](https://huggingface.co/Systran/faster-whisper-large-v3) 에서 모델을 다운로드하고, `gsv_tools/asr/models` 디렉토리에 배치하세요. 또한, [다른 모델](https://huggingface.co/Systran) 은 더 적은 디스크 용량으로 비슷한 효과를 가질 수 있습니다.
-##### MacOS 사용자
+
-```bash
-brew install ffmpeg
-```
+## GPT-SoVITS 실행하기 (Docker 사용)
-### GPT-SoVITS 실행하기 (Docker 사용)
+
-#### Docker 이미지 선택
+### Docker 이미지 선택
코드베이스가 빠르게 업데이트되는 반면 Docker 이미지 릴리스 주기는 느리기 때문에 다음을 참고하세요:
@@ -141,15 +150,15 @@ brew install ffmpeg
- Docker Compose는 현재 디렉터리의 **모든 파일**을 마운트합니다. Docker 이미지를 사용하기 전에 프로젝트 루트 디렉터리로 이동하여 코드를 **최신 상태로 업데이트**하세요
- 선택 사항: 최신 변경사항을 반영하려면 제공된 Dockerfile을 사용하여 로컬에서 직접 이미지를 빌드할 수 있습니다
-#### 환경 변수
+### 환경 변수
- `is_half`: 반정밀도(fp16) 사용 여부를 제어합니다. GPU가 지원하는 경우 `true`로 설정하면 메모리 사용량을 줄일 수 있습니다
-#### 공유 메모리 설정
+### 공유 메모리 설정
Windows(Docker Desktop)에서는 기본 공유 메모리 크기가 작아 예기치 않은 동작이 발생할 수 있습니다. 시스템 메모리 상황에 따라 Docker Compose 파일에서 `shm_size`를 (예: `16g`)로 증가시키는 것이 좋습니다
-#### 서비스 선택
+### 서비스 선택
`docker-compose.yaml` 파일에는 두 가지 서비스 유형이 정의되어 있습니다:
@@ -162,7 +171,7 @@ Windows(Docker Desktop)에서는 기본 공유 메모리 크기가 작아 예기
docker compose run --service-ports
```
-#### Docker 이미지 직접 빌드하기
+### Docker 이미지 직접 빌드하기
직접 이미지를 빌드하려면 다음 명령어를 사용하세요:
@@ -170,7 +179,7 @@ docker compose run --service-ports [--lite]
```
-#### 실행 중인 컨테이너 접속하기 (Bash Shell)
+### 실행 중인 컨테이너 접속하기 (Bash Shell)
컨테이너가 백그라운드에서 실행 중일 때 다음 명령어로 셸에 접속할 수 있습니다:
@@ -178,30 +187,14 @@ bash docker_build.sh --cuda <12.6|12.8> [--lite]
docker exec -it bash
```
-## 사전 학습된 모델
-
-**`install.sh`가 성공적으로 실행되면 No.1,2,3 은 건너뛰어도 됩니다.**
-
-1. [GPT-SoVITS Models](https://huggingface.co/lj1995/GPT-SoVITS) 에서 사전 학습된 모델을 다운로드하고, `GPT_SoVITS/pretrained_models` 디렉토리에 배치하세요.
-
-2. [G2PWModel.zip(HF)](https://huggingface.co/XXXXRT/GPT-SoVITS-Pretrained/resolve/main/G2PWModel.zip)| [G2PWModel.zip(ModelScope)](https://www.modelscope.cn/models/XXXXRT/GPT-SoVITS-Pretrained/resolve/master/G2PWModel.zip) 에서 모델을 다운로드하고 압축을 풀어 `G2PWModel`로 이름을 변경한 후, `GPT_SoVITS/text` 디렉토리에 배치하세요. (중국어 TTS 전용)
-
-3. UVR5 (보컬/반주 분리 & 잔향 제거 추가 기능)의 경우, [UVR5 Weights](https://huggingface.co/lj1995/VoiceConversionWebUI/tree/main/uvr5_weights) 에서 모델을 다운로드하고 `tools/uvr5/uvr5_weights` 디렉토리에 배치하세요.
-
- - UVR5에서 bs_roformer 또는 mel_band_roformer 모델을 사용할 경우, 모델과 해당 설정 파일을 수동으로 다운로드하여 `tools/UVR5/UVR5_weights` 폴더에 저장할 수 있습니다. **모델 파일과 설정 파일의 이름은 확장자를 제외하고 동일한 이름을 가지도록 해야 합니다**. 또한, 모델과 설정 파일 이름에는 **"roformer"**가 포함되어야 roformer 클래스의 모델로 인식됩니다.
-
- - 모델 이름과 설정 파일 이름에 **모델 유형을 직접 지정하는 것이 좋습니다**. 예: mel_mand_roformer, bs_roformer. 지정하지 않으면 설정 파일을 기준으로 특성을 비교하여 어떤 유형의 모델인지를 판단합니다. 예를 들어, 모델 `bs_roformer_ep_368_sdr_12.9628.ckpt`와 해당 설정 파일 `bs_roformer_ep_368_sdr_12.9628.yaml`은 한 쌍입니다. `kim_mel_band_roformer.ckpt`와 `kim_mel_band_roformer.yaml`도 한 쌍입니다.
-
-4. 중국어 ASR (추가 기능)의 경우, [Damo ASR Model](https://modelscope.cn/models/damo/speech_paraformer-large_asr_nat-zh-cn-16k-common-vocab8404-pytorch/files), [Damo VAD Model](https://modelscope.cn/models/damo/speech_fsmn_vad_zh-cn-16k-common-pytorch/files) 및 [Damo Punc Model](https://modelscope.cn/models/damo/punc_ct-transformer_zh-cn-common-vocab272727-pytorch/files) 에서 모델을 다운로드하고, `tools/asr/models` 디렉토리에 배치하세요.
-
-5. 영어 또는 일본어 ASR (추가 기능)의 경우, [Faster Whisper Large V3](https://huggingface.co/Systran/faster-whisper-large-v3) 에서 모델을 다운로드하고, `tools/asr/models` 디렉토리에 배치하세요. 또한, [다른 모델](https://huggingface.co/Systran) 은 더 적은 디스크 용량으로 비슷한 효과를 가질 수 있습니다.
-
## 데이터셋 형식
텍스트 음성 합성(TTS) 주석 .list 파일 형식:
-```
+```text
+
vocal_path|speaker_name|language|text
+
```
언어 사전:
@@ -209,21 +202,28 @@ vocal_path|speaker_name|language|text
- 'zh': 중국어
- 'ja': 일본어
- 'en': 영어
+- 'ko': 한국인
+- 'yue': 광둥어
예시:
-```
+```text
+
D:\GPT-SoVITS\xxx/xxx.wav|xxx|en|I like playing Genshin.
+
```
+
+
## 미세 조정 및 추론
+
+
### WebUI 열기
#### 통합 패키지 사용자
`go-webui.bat`을 더블 클릭하거나 `go-webui.ps1`를 사용하십시오.
-V1으로 전환하려면, `go-webui-v1.bat`을 더블 클릭하거나 `go-webui-v1.ps1`를 사용하십시오.
#### 기타
@@ -231,21 +231,13 @@ V1으로 전환하려면, `go-webui-v1.bat`을 더블 클릭하거나 `go-webui-
python webui.py <언어(옵션)>
```
-V1으로 전환하려면,
-
-```bash
-python webui.py v1 <언어(옵션)>
-```
-
-또는 WebUI에서 수동으로 버전을 전환하십시오.
-
### 미세 조정
#### 경로 자동 채우기가 지원됩니다
1. 오디오 경로를 입력하십시오.
2. 오디오를 작은 청크로 분할하십시오.
-3. 노이즈 제거(옵션)
+3. 노이즈 제거 (옵션)
4. ASR 수행
5. ASR 전사를 교정하십시오.
6. 다음 탭으로 이동하여 모델을 미세 조정하십시오.
@@ -254,7 +246,7 @@ python webui.py v1 <언어(옵션)>
#### 통합 패키지 사용자
-`go-webui-v2.bat`을 더블 클릭하거나 `go-webui-v2.ps1`를 사용한 다음 `1-GPT-SoVITS-TTS/1C-inference`에서 추론 webui를 엽니다.
+`go-webui.bat`을 더블 클릭하거나 `go-webui.ps1`를 사용한 다음 `1-GPT-SoVITS-TTS/1C-inference`에서 추론 webui를 엽니다.
#### 기타
@@ -270,8 +262,12 @@ python webui.py
그런 다음 `1-GPT-SoVITS-TTS/1C-inference`에서 추론 webui를 엽니다.
+
+
## V2 릴리스 노트
+
+
새로운 기능:
1. 한국어 및 광둥어 지원
@@ -284,18 +280,12 @@ python webui.py
[자세한 내용]()
-V1 환경에서 V2를 사용하려면:
-
-1. `pip install -r requirements.txt`를 사용하여 일부 패키지 업데이트
-
-2. github에서 최신 코드를 클론하십시오.
-
-3. [huggingface](https://huggingface.co/lj1995/GPT-SoVITS/tree/main/gsv-v2final-pretrained)에서 V2 사전 학습 모델을 다운로드하여 `GPT_SoVITS/pretrained_models/gsv-v2final-pretrained`에 넣으십시오.
-
- 중국어 V2 추가: [G2PWModel.zip(HF)](https://huggingface.co/XXXXRT/GPT-SoVITS-Pretrained/resolve/main/G2PWModel.zip)| [G2PWModel.zip(ModelScope)](https://www.modelscope.cn/models/XXXXRT/GPT-SoVITS-Pretrained/resolve/master/G2PWModel.zip) (G2PW 모델을 다운로드하여 압축을 풀고 `G2PWModel`로 이름을 변경한 다음 `GPT_SoVITS/text`에 배치합니다.)
+
## V3 릴리스 노트
+
+
새로운 기능:
1. 음색 유사성이 더 높아져 목표 음성에 대한 학습 데이터가 적게 필요합니다. (기본 모델을 직접 사용하여 미세 조정 없이 음색 유사성이 크게 향상됩니다.)
@@ -304,33 +294,23 @@ V1 환경에서 V2를 사용하려면:
[자세한 내용]()
-v2 환경에서 v3 사용하기:
-
-1. `pip install -r requirements.txt`로 일부 패키지를 업데이트합니다.
-
-2. 최신 코드를 github 에서 클론합니다.
-
-3. v3 사전 훈련된 모델(s1v3.ckpt, s2Gv3.pth, 그리고 models--nvidia--bigvgan_v2_24khz_100band_256x 폴더)을 [huggingface](https://huggingface.co/lj1995/GPT-SoVITS/tree/main)에서 다운로드하여 `GPT_SoVITS/pretrained_models` 폴더에 넣습니다.
-
- 추가: 오디오 슈퍼 해상도 모델에 대해서는 [다운로드 방법](../../tools/AP_BWE_main/24kto48k/readme.txt)을 참고하세요.
+
## V4 릴리스 노트
+
+
신규 기능:
1. **V4는 V3에서 발생하는 비정수 배율 업샘플링으로 인한 금속성 잡음 문제를 수정했으며, 소리가 먹먹해지는 것을 방지하기 위해 기본적으로 48kHz 오디오를 출력합니다 (V3는 기본적으로 24kHz만 지원)**. 개발자는 V4를 V3의 직접적인 대체 버전으로 보고 있지만 추가 테스트가 필요합니다.
[자세히 보기]()
-V1/V2/V3 환경에서 V4로 전환 방법:
-
-1. 일부 의존 패키지를 업데이트하기 위해 `pip install -r requirements.txt` 명령어를 실행하세요.
-
-2. GitHub에서 최신 코드를 클론하세요.
-
-3. [huggingface](https://huggingface.co/lj1995/GPT-SoVITS/tree/main)에서 V4 사전 학습 모델(`gsv-v4-pretrained/s2v4.ckpt` 및 `gsv-v4-pretrained/vocoder.pth`)을 다운로드하고 `GPT_SoVITS/pretrained_models` 디렉토리에 넣으세요.
+
## V2Pro 릴리스 노트
+
+
신규 기능:
1. **V2보다 약간 높은 VRAM 사용량이지만 성능은 V4보다 우수하며, V2 수준의 하드웨어 비용과 속도를 유지합니다**.
@@ -338,24 +318,18 @@ V1/V2/V3 환경에서 V4로 전환 방법:
2. V1/V2와 V2Pro 시리즈는 유사한 특징을 가지며, V3/V4도 비슷한 기능을 가지고 있습니다. 평균 음질이 낮은 학습 데이터셋에서는 V1/V2/V2Pro가 좋은 결과를 내지만 V3/V4는 그렇지 못합니다. 또한 V3/V4의 합성 음색은 전체 학습 데이터셋보다는 참고 음성에 더 가깝습니다.
-V1/V2/V3/V4 환경에서 V2Pro로 전환 방법:
-
-1. 일부 의존 패키지를 업데이트하기 위해 `pip install -r requirements.txt` 명령어를 실행하세요.
-
-2. GitHub에서 최신 코드를 클론하세요.
-
-3. [huggingface](https://huggingface.co/lj1995/GPT-SoVITS/tree/main)에서 V2Pro 사전 학습 모델(`v2Pro/s2Dv2Pro.pth`, `v2Pro/s2Gv2Pro.pth`, `v2Pro/s2Dv2ProPlus.pth`, `v2Pro/s2Gv2ProPlus.pth`, 및 `sv/pretrained_eres2netv2w24s4ep4.ckpt`)을 다운로드하고 `GPT_SoVITS/pretrained_models` 디렉토리에 넣으세요.
+
## 할 일 목록
-- [x] **최우선순위:**
+
+- [x] **최우선순위:**
- [x] 일본어 및 영어 지역화.
- [x] 사용자 가이드.
- [x] 일본어 및 영어 데이터셋 미세 조정 훈련.
- [ ] **기능:**
-
- [x] 제로샷 음성 변환 (5초) / 소량의 음성 변환 (1분).
- [x] TTS 속도 제어.
- [ ] ~~향상된 TTS 감정 제어.~~
@@ -363,53 +337,16 @@ V1/V2/V3/V4 환경에서 V2Pro로 전환 방법:
- [x] 영어 및 일본어 텍스트 프론트 엔드 개선.
- [ ] 작은 크기와 큰 크기의 TTS 모델 개발.
- [x] Colab 스크립트.
- - [ ] 훈련 데이터셋 확장 (2k 시간에서 10k 시간).
+ - [x] 훈련 데이터셋 확장 (2k 시간에서 10k 시간).
- [x] 더 나은 sovits 기본 모델 (향상된 오디오 품질).
- [ ] 모델 블렌딩.
-## (추가적인) 명령줄에서 실행하는 방법
-
-명령줄을 사용하여 UVR5용 WebUI 열기
-
-```bash
-python tools/uvr5/webui.py ""
-```
-
-
-
-명령줄을 사용하여 데이터세트의 오디오 분할을 수행하는 방법은 다음과 같습니다.
-
-```bash
-python audio_slicer.py \
- --input_path "" \
- --output_root "" \
- --threshold \
- --min_length \
- --min_interval
- --hop_size
-```
-
-명령줄을 사용하여 데이터 세트 ASR 처리를 수행하는 방법입니다(중국어만 해당).
-
-```bash
-python tools/asr/funasr_asr.py -i -o
-```
-
-ASR 처리는 Faster_Whisper(중국어를 제외한 ASR 마킹)를 통해 수행됩니다.
-
-(진행률 표시줄 없음, GPU 성능으로 인해 시간 지연이 발생할 수 있음)
-
-```bash
-python ./tools/asr/fasterwhisper_asr.py -i -o -l -p
-```
-
-사용자 정의 목록 저장 경로가 활성화되었습니다.
+
## 감사의 말
+
+
다음 프로젝트와 기여자들에게 특별히 감사드립니다:
### 이론 연구
@@ -420,7 +357,7 @@ python ./tools/asr/fasterwhisper_asr.py -i -o -l -p
- [TransferTTS](https://github.com/hcy71o/TransferTTS/blob/master/models.py#L556)
- [contentvec](https://github.com/auspicious3000/contentvec/)
- [hifi-gan](https://github.com/jik876/hifi-gan)
-- [fish-speech](https://github.com/fishaudio/fish-speech/blob/main/tools/llama/generate.py#L41)
+- [fish-speech](https://github.com/fishaudio/fish-speech/blob/d3df50503b36314a964f66cac1af1e19e95bcfa3/fish_speech/models/text2semantic/inference.py#L81)
- [f5-TTS](https://github.com/SWivid/F5-TTS/blob/main/src/f5_tts/model/backbones/dit.py)
- [shortcut flow matching](https://github.com/kvfrans/shortcut-models/blob/main/targets_shortcut.py)
@@ -452,8 +389,12 @@ python ./tools/asr/fasterwhisper_asr.py -i -o -l -p
@Naozumi520 님께 감사드립니다. 광둥어 학습 자료를 제공해 주시고, 광둥어 관련 지식을 지도해 주셔서 감사합니다.
-## 모든 기여자들에게 감사드립니다 ;)
+
+
+## 참여해주신 모든 분들께 감사드립니다
+
+
-
+
diff --git a/docs/tr/README.md b/docs/tr/README.md
index b80c764b..5c2d2afc 100644
--- a/docs/tr/README.md
+++ b/docs/tr/README.md
@@ -1,3 +1,5 @@
+#
+
GPT-SoVITS-WebUI
@@ -25,7 +27,7 @@ Güçlü Birkaç Örnekli Ses Dönüştürme ve Metinden Konuşmaya Web Arayüz
---
-## Özellikler:
+## Özellikler
1. **Sıfır Örnekli Metinden Konuşmaya:** 5 saniyelik bir vokal örneği girin ve anında metinden konuşmaya dönüşümünü deneyimleyin.
@@ -39,40 +41,49 @@ Güçlü Birkaç Örnekli Ses Dönüştürme ve Metinden Konuşmaya Web Arayüz
Görünmeyen konuşmacılar birkaç örnekli ince ayar demosu:
-https://github.com/RVC-Boss/GPT-SoVITS/assets/129054828/05bee1fa-bdd8-4d85-9350-80c060ab47fb
+
**Kullanıcı Kılavuzu: [简体中文](https://www.yuque.com/baicaigongchang1145haoyuangong/ib3g1e) | [English](https://rentry.co/GPT-SoVITS-guide#/)**
+
+
## Kurulum
### Test Edilmiş Ortamlar
-| Python Version | PyTorch Version | Device |
-| -------------- | ---------------- | ------------- |
-| Python 3.10 | PyTorch 2.5.1 | CUDA 12.4 |
-| Python 3.11 | PyTorch 2.5.1 | CUDA 12.4 |
-| Python 3.11 | PyTorch 2.7.0 | CUDA 12.8 |
-| Python 3.9 | PyTorch 2.8.0dev | CUDA 12.8 |
-| Python 3.9 | PyTorch 2.5.1 | Apple silicon |
-| Python 3.11 | PyTorch 2.7.0 | Apple silicon |
-| Python 3.9 | PyTorch 2.2.2 | CPU |
+| Python Version | PyTorch Version | Device |
+| -------------- | --------------- | ------------- |
+| Python 3.10 | PyTorch 2.8.0 | CUDA 12.6 |
+| Python 3.11 | PyTorch 2.9.0 | CUDA 12.6 |
+| Python 3.11 | PyTorch 2.7.0 | CUDA 12.8 |
+| Python 3.11 | PyTorch 2.10.0 | CUDA 12.8 |
+| Python 3.10 | PyTorch 2.8.0 | Apple silicon |
+| Python 3.11 | PyTorch 2.9.0 | Apple silicon |
+| Python 3.12 | PyTorch 2.10.0 | Apple silicon |
+| Python 3.10 | PyTorch 2.9.0 | CPU |
+
+
### Windows
-Eğer bir Windows kullanıcısıysanız (win>=10 ile test edilmiştir), [entegre paketi indirin](https://huggingface.co/lj1995/GPT-SoVITS-windows-package/resolve/main/GPT-SoVITS-v3lora-20250228.7z?download=true) ve _go-webui.bat_ dosyasına çift tıklayarak GPT-SoVITS-WebUI'yi başlatın.
+Eğer bir Windows kullanıcısıysanız (win>=10 ile test edilmiştir), [entegre paketi indirin](https://huggingface.co/lj1995/GPT-SoVITS-windows-package/tree/main) ve `go-webui.bat` dosyasına çift tıklayarak GPT-SoVITS-WebUI'yi başlatın.
+
+Aşağıdaki komutları çalıştırarak programı yükleyin:
```pwsh
-conda create -n GPTSoVits python=3.10
-conda activate GPTSoVits
-pwsh -F install.ps1 --Device --Source [--DownloadUVR5]
+conda create -n GPTSoVITS python=3.11
+conda activate GPTSoVITS
+pwsh -F install.ps1 --help
```
### Linux
+Aşağıdaki komutları çalıştırarak programı yükleyin:
+
```bash
-conda create -n GPTSoVits python=3.10
-conda activate GPTSoVits
-bash install.sh --device --source [--download-uvr5]
+conda create -n GPTSoVITS python=3.11
+conda activate GPTSoVITS
+bash install.sh --help
```
### macOS
@@ -82,54 +93,49 @@ bash install.sh --device --source --source [--download-uvr5]
+conda create -n GPTSoVITS python=3.11
+conda activate GPTSoVITS
+bash install.sh --help
```
### El ile Yükleme
-#### Bağımlılıkları Yükleme
+Aşağıdaki komutları çalıştırarak programı yükleyin:
```bash
-conda create -n GPTSoVits python=3.10
-conda activate GPTSoVits
+conda create -n GPTSoVITS python=3.11
+conda activate GPTSoVITS
+conda install uv ffmpeg -c conda-forge
-pip install -r extra-req.txt --no-deps
-pip install -r requirements.txt
+uv export --extra main -o pylock.toml -q --extra [mlx|cu126|cu128|rocm|cpu]
+uv pip sync pylock.toml --no-break-system-packages --preview-features pylock
+uv pip install ".[flash-attn]"
```
-#### FFmpeg'i Yükleme
+### Önceden Eğitilmiş Modeller
-##### Conda Kullanıcıları
+**Eğer `install.sh` başarıyla çalıştırılırsa, No.1,2,3 adımını atlayabilirsiniz.**
-```bash
-conda activate GPTSoVits
-conda install ffmpeg
-```
+1. [GPT-SoVITS Models](https://huggingface.co/lj1995/GPT-SoVITS) üzerinden önceden eğitilmiş modelleri indirip `GPT_SoVITS/pretrained_models` dizinine yerleştirin.
-##### Ubuntu/Debian Kullanıcıları
+2. [G2PWModel.zip(HF)](https://huggingface.co/XXXXRT/GPT-SoVITS-Pretrained/resolve/main/G2PWModel.zip)| [G2PWModel.zip(ModelScope)](https://www.modelscope.cn/models/XXXXRT/GPT-SoVITS-Pretrained/resolve/master/G2PWModel.zip) üzerinden modeli indirip sıkıştırmayı açın ve `G2PWModel` olarak yeniden adlandırın, ardından `GPT_SoVITS/text` dizinine yerleştirin. (Sadece Çince TTS için)
-```bash
-sudo apt install ffmpeg
-sudo apt install libsox-dev
-```
+3. UVR5 (Vokal/Enstrümantal Ayrımı & Yankı Giderme) için, [UVR5 Weights](https://huggingface.co/lj1995/VoiceConversionWebUI/tree/main/uvr5_weights) üzerinden modelleri indirip `gsv_tools/uvr5/uvr5_weights` dizinine yerleştirin.
+ - UVR5'te bs_roformer veya mel_band_roformer modellerini kullanıyorsanız, modeli ve ilgili yapılandırma dosyasını manuel olarak indirip `gsv_tools/UVR5/UVR5_weights` klasörüne yerleştirebilirsiniz. **Model dosyası ve yapılandırma dosyasının adı, uzantı dışında aynı olmalıdır**. Ayrıca, model ve yapılandırma dosyasının adlarında **"roformer"** kelimesi yer almalıdır, böylece roformer sınıfındaki bir model olarak tanınır.
-##### Windows Kullanıcıları
+ - Model adı ve yapılandırma dosyası adı içinde **doğrudan model tipini belirtmek önerilir**. Örneğin: mel_mand_roformer, bs_roformer. Belirtilmezse, yapılandırma dosyasından özellikler karşılaştırılarak model tipi belirlenir. Örneğin, `bs_roformer_ep_368_sdr_12.9628.ckpt` modeli ve karşılık gelen yapılandırma dosyası `bs_roformer_ep_368_sdr_12.9628.yaml` bir çifttir. Aynı şekilde, `kim_mel_band_roformer.ckpt` ve `kim_mel_band_roformer.yaml` da bir çifttir.
-[ffmpeg.exe](https://huggingface.co/lj1995/VoiceConversionWebUI/blob/main/ffmpeg.exe) ve [ffprobe.exe](https://huggingface.co/lj1995/VoiceConversionWebUI/blob/main/ffprobe.exe) dosyalarını indirin ve GPT-SoVITS kök dizinine yerleştirin
+4. Çince ASR için, [Damo ASR Model](https://modelscope.cn/models/damo/speech_paraformer-large_asr_nat-zh-cn-16k-common-vocab8404-pytorch/files), [Damo VAD Model](https://modelscope.cn/models/damo/speech_fsmn_vad_zh-cn-16k-common-pytorch/files) ve [Damo Punc Model](https://modelscope.cn/models/damo/punc_ct-transformer_zh-cn-common-vocab272727-pytorch/files) üzerinden modelleri indirip `gsv_tools/asr/models` dizinine yerleştirin.
-[Visual Studio 2017](https://aka.ms/vs/17/release/vc_redist.x86.exe) ortamını yükleyin
+5. İngilizce veya Japonca ASR için, [Faster Whisper Large V3](https://huggingface.co/Systran/faster-whisper-large-v3) üzerinden modeli indirip `gsv_tools/asr/models` dizinine yerleştirin. Ayrıca, [diğer modeller](https://huggingface.co/Systran) benzer bir etki yaratabilir ve daha az disk alanı kaplayabilir.
-##### MacOS Kullanıcıları
+
-```bash
-brew install ffmpeg
-```
+## GPT-SoVITS Çalıştırma (Docker Kullanarak)
-### GPT-SoVITS Çalıştırma (Docker Kullanarak)
+
-#### Docker İmajı Seçimi
+### Docker İmajı Seçimi
Kod tabanı hızla geliştiği halde Docker imajları daha yavaş yayınlandığı için lütfen şu adımları izleyin:
@@ -140,15 +146,15 @@ Kod tabanı hızla geliştiği halde Docker imajları daha yavaş yayınlandığ
- Docker Compose, mevcut dizindeki **tüm dosyaları** bağlayacaktır. Docker imajını kullanmadan önce lütfen proje kök dizinine geçin ve **en son kodu çekin**
- Opsiyonel: En güncel değişiklikleri almak için, sağlanan Dockerfile ile yerel olarak imajı kendiniz oluşturabilirsiniz
-#### Ortam Değişkenleri
+### Ortam Değişkenleri
- `is_half`: Yarı hassasiyet (fp16) kullanımını kontrol eder. GPU’nuz destekliyorsa, belleği azaltmak için `true` olarak ayarlayın.
-#### Paylaşılan Bellek Yapılandırması
+### Paylaşılan Bellek Yapılandırması
Windows (Docker Desktop) ortamında, varsayılan paylaşılan bellek boyutu düşüktür ve bu beklenmedik hatalara neden olabilir. Sistem belleğinize göre Docker Compose dosyasındaki `shm_size` değerini (örneğin `16g`) artırmanız önerilir.
-#### Servis Seçimi
+### Servis Seçimi
`docker-compose.yaml` dosyasında iki tür servis tanımlanmıştır:
@@ -161,7 +167,7 @@ Belirli bir servisi Docker Compose ile çalıştırmak için şu komutu kullanı
docker compose run --service-ports
```
-#### Docker İmajını Yerel Olarak Oluşturma
+### Docker İmajını Yerel Olarak Oluşturma
Docker imajını kendiniz oluşturmak isterseniz şu komutu kullanın:
@@ -169,7 +175,7 @@ Docker imajını kendiniz oluşturmak isterseniz şu komutu kullanın:
bash docker_build.sh --cuda <12.6|12.8> [--lite]
```
-#### Çalışan Konteynere Erişim (Bash Shell)
+### Çalışan Konteynere Erişim (Bash Shell)
Konteyner arka planda çalışırken, aşağıdaki komutla içine girebilirsiniz:
@@ -177,30 +183,18 @@ Konteyner arka planda çalışırken, aşağıdaki komutla içine girebilirsiniz
docker exec -it bash
```
-## Önceden Eğitilmiş Modeller
-
-**Eğer `install.sh` başarıyla çalıştırılırsa, No.1,2,3 adımını atlayabilirsiniz.**
-
-1. [GPT-SoVITS Models](https://huggingface.co/lj1995/GPT-SoVITS) üzerinden önceden eğitilmiş modelleri indirip `GPT_SoVITS/pretrained_models` dizinine yerleştirin.
-
-2. [G2PWModel.zip(HF)](https://huggingface.co/XXXXRT/GPT-SoVITS-Pretrained/resolve/main/G2PWModel.zip)| [G2PWModel.zip(ModelScope)](https://www.modelscope.cn/models/XXXXRT/GPT-SoVITS-Pretrained/resolve/master/G2PWModel.zip) üzerinden modeli indirip sıkıştırmayı açın ve `G2PWModel` olarak yeniden adlandırın, ardından `GPT_SoVITS/text` dizinine yerleştirin. (Sadece Çince TTS için)
-
-3. UVR5 (Vokal/Enstrümantal Ayrımı & Yankı Giderme) için, [UVR5 Weights](https://huggingface.co/lj1995/VoiceConversionWebUI/tree/main/uvr5_weights) üzerinden modelleri indirip `tools/uvr5/uvr5_weights` dizinine yerleştirin.
-
- - UVR5'te bs_roformer veya mel_band_roformer modellerini kullanıyorsanız, modeli ve ilgili yapılandırma dosyasını manuel olarak indirip `tools/UVR5/UVR5_weights` klasörüne yerleştirebilirsiniz. **Model dosyası ve yapılandırma dosyasının adı, uzantı dışında aynı olmalıdır**. Ayrıca, model ve yapılandırma dosyasının adlarında **"roformer"** kelimesi yer almalıdır, böylece roformer sınıfındaki bir model olarak tanınır.
-
- - Model adı ve yapılandırma dosyası adı içinde **doğrudan model tipini belirtmek önerilir**. Örneğin: mel_mand_roformer, bs_roformer. Belirtilmezse, yapılandırma dosyasından özellikler karşılaştırılarak model tipi belirlenir. Örneğin, `bs_roformer_ep_368_sdr_12.9628.ckpt` modeli ve karşılık gelen yapılandırma dosyası `bs_roformer_ep_368_sdr_12.9628.yaml` bir çifttir. Aynı şekilde, `kim_mel_band_roformer.ckpt` ve `kim_mel_band_roformer.yaml` da bir çifttir.
-
-4. Çince ASR için, [Damo ASR Model](https://modelscope.cn/models/damo/speech_paraformer-large_asr_nat-zh-cn-16k-common-vocab8404-pytorch/files), [Damo VAD Model](https://modelscope.cn/models/damo/speech_fsmn_vad_zh-cn-16k-common-pytorch/files) ve [Damo Punc Model](https://modelscope.cn/models/damo/punc_ct-transformer_zh-cn-common-vocab272727-pytorch/files) üzerinden modelleri indirip `tools/asr/models` dizinine yerleştirin.
-
-5. İngilizce veya Japonca ASR için, [Faster Whisper Large V3](https://huggingface.co/Systran/faster-whisper-large-v3) üzerinden modeli indirip `tools/asr/models` dizinine yerleştirin. Ayrıca, [diğer modeller](https://huggingface.co/Systran) benzer bir etki yaratabilir ve daha az disk alanı kaplayabilir.
+
## Veri Seti Formatı
+
+
TTS açıklama .list dosya formatı:
-```
+```text
+
vocal_path|speaker_name|language|text
+
```
Dil sözlüğü:
@@ -213,18 +207,23 @@ Dil sözlüğü:
Örnek:
-```
+```text
+
D:\GPT-SoVITS\xxx/xxx.wav|xxx|en|I like playing Genshin.
+
```
+
+
## İnce Ayar ve Çıkarım
+
+
### WebUI'yi Açın
#### Entegre Paket Kullanıcıları
`go-webui.bat` dosyasına çift tıklayın veya `go-webui.ps1` kullanın.
-V1'e geçmek istiyorsanız, `go-webui-v1.bat` dosyasına çift tıklayın veya `go-webui-v1.ps1` kullanın.
#### Diğerleri
@@ -232,14 +231,6 @@ V1'e geçmek istiyorsanız, `go-webui-v1.bat` dosyasına çift tıklayın veya `
python webui.py
```
-V1'e geçmek istiyorsanız,
-
-```bash
-python webui.py v1
-```
-
-veya WebUI'de manuel olarak sürüm değiştirin.
-
### İnce Ayar
#### Yol Otomatik Doldurma artık destekleniyor
@@ -255,7 +246,7 @@ veya WebUI'de manuel olarak sürüm değiştirin.
#### Entegre Paket Kullanıcıları
-`go-webui-v2.bat` dosyasına çift tıklayın veya `go-webui-v2.ps1` kullanın, ardından çıkarım webui'sini `1-GPT-SoVITS-TTS/1C-inference` adresinde açın.
+`go-webui.bat` dosyasına çift tıklayın veya `go-webui.ps1` kullanın, ardından çıkarım webui'sini `1-GPT-SoVITS-TTS/1C-inference` adresinde açın.
#### Diğerleri
@@ -271,8 +262,12 @@ python webui.py
ardından çıkarım webui'sini `1-GPT-SoVITS-TTS/1C-inference` adresinde açın.
+
+
## V2 Sürüm Notları
+
+
Yeni Özellikler:
1. Korece ve Kantonca destekler
@@ -285,18 +280,12 @@ Yeni Özellikler:
[detaylar burada]()
-V1 ortamından V2'yi kullanmak için:
-
-1. `pip install -r requirements.txt` ile bazı paketleri güncelleyin
-
-2. github'dan en son kodları klonlayın.
-
-3. [huggingface](https://huggingface.co/lj1995/GPT-SoVITS/tree/main/gsv-v2final-pretrained) adresinden v2 önceden eğitilmiş modelleri indirin ve bunları `GPT_SoVITS/pretrained_models/gsv-v2final-pretrained` dizinine yerleştirin.
-
- Ek olarak Çince V2: [G2PWModel.zip(HF)](https://huggingface.co/XXXXRT/GPT-SoVITS-Pretrained/resolve/main/G2PWModel.zip)| [G2PWModel.zip(ModelScope)](https://www.modelscope.cn/models/XXXXRT/GPT-SoVITS-Pretrained/resolve/master/G2PWModel.zip) (G2PW modellerini indirip, zipten çıkarıp, `G2PWModel` olarak yeniden adlandırıp `GPT_SoVITS/text` dizinine yerleştirin.)
+
## V3 Sürüm Notları
+
+
Yeni Özellikler:
1. **Tını benzerliği** daha yüksek olup, hedef konuşmacıyı yakınsamak için daha az eğitim verisi gerekmektedir (tını benzerliği, base model doğrudan kullanılacak şekilde fine-tuning yapılmadan önemli ölçüde iyileştirilmiştir).
@@ -305,33 +294,23 @@ Yeni Özellikler:
[daha fazla detay]()
-V2 ortamında V3 kullanımı:
-
-1. `pip install -r requirements.txt` ile bazı paketleri güncelleyin.
-
-2. GitHub'dan en son kodları klonlayın.
-
-3. [huggingface](https://huggingface.co/lj1995/GPT-SoVITS/tree/main) üzerinden v3 önceden eğitilmiş modellerini (s1v3.ckpt, s2Gv3.pth ve models--nvidia--bigvgan_v2_24khz_100band_256x klasörünü) indirin ve `GPT_SoVITS/pretrained_models` dizinine yerleştirin.
-
- ek: Ses Süper Çözünürlük modeli için [nasıl indirileceği](../../tools/AP_BWE_main/24kto48k/readme.txt) hakkında bilgi alabilirsiniz.
+
## V4 Sürüm Notları
+
+
Yeni Özellikler:
1. **V4, V3'te görülen non-integer upsample işleminden kaynaklanan metalik ses sorununu düzeltti ve sesin boğuklaşmasını önlemek için doğrudan 48kHz ses çıktısı sunar (V3 sadece 24kHz destekler)**. Yazar, V4'ün V3'ün yerine geçebileceğini belirtmiştir ancak daha fazla test yapılması gerekmektedir.
[Daha fazla bilgi]()
-V1/V2/V3 ortamından V4'e geçiş:
-
-1. Bazı bağımlılıkları güncellemek için `pip install -r requirements.txt` komutunu çalıştırın.
-
-2. GitHub'dan en son kodları klonlayın.
-
-3. [huggingface](https://huggingface.co/lj1995/GPT-SoVITS/tree/main) üzerinden V4 ön eğitilmiş modelleri indirin (`gsv-v4-pretrained/s2v4.ckpt` ve `gsv-v4-pretrained/vocoder.pth`) ve bunları `GPT_SoVITS/pretrained_models` dizinine koyun.
+
## V2Pro Sürüm Notları
+
+
Yeni Özellikler:
1. **V2 ile karşılaştırıldığında biraz daha yüksek VRAM kullanımı sağlar ancak V4'ten daha iyi performans gösterir; aynı donanım maliyeti ve hız avantajını korur**.
@@ -339,18 +318,13 @@ Yeni Özellikler:
2. V1/V2 ve V2Pro serisi benzer özelliklere sahipken, V3/V4 de yakın işlevleri paylaşır. Ortalama kalite düşük olan eğitim setleriyle V1/V2/V2Pro iyi sonuçlar verebilir ama V3/V4 veremez. Ayrıca, V3/V4’ün ürettiği ses tonu genel eğitim setine değil, referans ses örneğine daha çok benzemektedir.
-V1/V2/V3/V4 ortamından V2Pro'ya geçiş:
-
-1. Bazı bağımlılıkları güncellemek için `pip install -r requirements.txt` komutunu çalıştırın.
-
-2. GitHub'dan en son kodları klonlayın.
-
-3. [huggingface](https://huggingface.co/lj1995/GPT-SoVITS/tree/main) üzerinden V2Pro ön eğitilmiş modelleri indirin (`v2Pro/s2Dv2Pro.pth`, `v2Pro/s2Gv2Pro.pth`, `v2Pro/s2Dv2ProPlus.pth`, `v2Pro/s2Gv2ProPlus.pth`, ve `sv/pretrained_eres2netv2w24s4ep4.ckpt`) ve bunları `GPT_SoVITS/pretrained_models` dizinine koyun.
+
## Yapılacaklar Listesi
-- [x] **Yüksek Öncelikli:**
+
+- [x] **Yüksek Öncelikli:**
- [x] Japonca ve İngilizceye yerelleştirme.
- [x] Kullanıcı kılavuzu.
- [x] Japonca ve İngilizce veri seti ince ayar eğitimi.
@@ -363,53 +337,16 @@ V1/V2/V3/V4 ortamından V2Pro'ya geçiş:
- [x] İngilizce ve Japonca metin ön ucunu iyileştirme.
- [ ] Küçük ve büyük boyutlu metinden konuşmaya modelleri geliştirme.
- [x] Colab betikleri.
- - [ ] Eğitim veri setini genişletmeyi dene (2k saat -> 10k saat).
+ - [x] Eğitim veri setini genişletmeyi dene (2k saat -> 10k saat).
- [x] daha iyi sovits temel modeli (geliştirilmiş ses kalitesi)
- [ ] model karışımı
-## (Ekstra) Komut satırından çalıştırma yöntemi
-
-UVR5 için Web Arayüzünü açmak için komut satırını kullanın
-
-```bash
-python tools/uvr5/webui.py ""
-```
-
-
-
-Veri setinin ses segmentasyonu komut satırı kullanılarak bu şekilde yapılır
-
-```bash
-python audio_slicer.py \
- --input_path "" \
- --output_root "" \
- --threshold \
- --min_length \
- --min_interval
- --hop_size
-```
-
-Veri seti ASR işleme komut satırı kullanılarak bu şekilde yapılır (Yalnızca Çince)
-
-```bash
-python tools/asr/funasr_asr.py -i -o <çıktı>
-```
-
-ASR işleme Faster_Whisper aracılığıyla gerçekleştirilir (Çince dışındaki ASR işaretleme)
-
-(İlerleme çubukları yok, GPU performansı zaman gecikmelerine neden olabilir)
-
-```bash
-python ./tools/asr/fasterwhisper_asr.py -i -o <çıktı> -l
-```
-
-Özel bir liste kaydetme yolu etkinleştirildi
+
## Katkı Verenler
+
+
Özellikle aşağıdaki projelere ve katkıda bulunanlara teşekkür ederiz:
### Teorik Araştırma
@@ -420,7 +357,7 @@ python ./tools/asr/fasterwhisper_asr.py -i -o <çıktı> -l
- [TransferTTS](https://github.com/hcy71o/TransferTTS/blob/master/models.py#L556)
- [contentvec](https://github.com/auspicious3000/contentvec/)
- [hifi-gan](https://github.com/jik876/hifi-gan)
-- [fish-speech](https://github.com/fishaudio/fish-speech/blob/main/tools/llama/generate.py#L41)
+- [fish-speech](https://github.com/fishaudio/fish-speech/blob/d3df50503b36314a964f66cac1af1e19e95bcfa3/fish_speech/models/text2semantic/inference.py#L81)
- [f5-TTS](https://github.com/SWivid/F5-TTS/blob/main/src/f5_tts/model/backbones/dit.py)
- [shortcut flow matching](https://github.com/kvfrans/shortcut-models/blob/main/targets_shortcut.py)
@@ -452,8 +389,12 @@ python ./tools/asr/fasterwhisper_asr.py -i -o <çıktı> -l
@Naozumi520'ye Kantonca eğitim setini sağladığı ve Kantonca ile ilgili bilgiler konusunda rehberlik ettiği için minnettarım.
+
+
## Tüm katkıda bulunanlara çabaları için teşekkürler
+
+
-
+
diff --git a/extra-req.txt b/extra-req.txt
deleted file mode 100644
index 8d232411..00000000
--- a/extra-req.txt
+++ /dev/null
@@ -1 +0,0 @@
-faster-whisper
diff --git a/tools/AP_BWE_main/24kto48k/readme.txt b/gsv_tools/AP_BWE_main/24kto48k/readme.txt
similarity index 100%
rename from tools/AP_BWE_main/24kto48k/readme.txt
rename to gsv_tools/AP_BWE_main/24kto48k/readme.txt
diff --git a/tools/AP_BWE_main/LICENSE b/gsv_tools/AP_BWE_main/LICENSE
similarity index 100%
rename from tools/AP_BWE_main/LICENSE
rename to gsv_tools/AP_BWE_main/LICENSE
diff --git a/tools/AP_BWE_main/README.md b/gsv_tools/AP_BWE_main/README.md
similarity index 100%
rename from tools/AP_BWE_main/README.md
rename to gsv_tools/AP_BWE_main/README.md
diff --git a/tools/AP_BWE_main/datasets1/__init__.py b/gsv_tools/AP_BWE_main/datasets1/__init__.py
similarity index 100%
rename from tools/AP_BWE_main/datasets1/__init__.py
rename to gsv_tools/AP_BWE_main/datasets1/__init__.py
diff --git a/tools/AP_BWE_main/datasets1/dataset.py b/gsv_tools/AP_BWE_main/datasets1/dataset.py
similarity index 96%
rename from tools/AP_BWE_main/datasets1/dataset.py
rename to gsv_tools/AP_BWE_main/datasets1/dataset.py
index 40f993b5..32e33e04 100644
--- a/tools/AP_BWE_main/datasets1/dataset.py
+++ b/gsv_tools/AP_BWE_main/datasets1/dataset.py
@@ -1,8 +1,9 @@
import os
import random
+
import torch
-import torchaudio
import torch.utils.data
+import torchaudio
import torchaudio.functional as aF
@@ -37,10 +38,10 @@ def amp_pha_istft(log_amp, pha, n_fft, hop_size, win_size, center=True):
def get_dataset_filelist(a):
- with open(a.input_training_file, "r", encoding="utf-8") as fi:
+ with open(a.input_training_file, encoding="utf-8") as fi:
training_indexes = [x.split("|")[0] for x in fi.read().split("\n") if len(x) > 0]
- with open(a.input_validation_file, "r", encoding="utf-8") as fi:
+ with open(a.input_validation_file, encoding="utf-8") as fi:
validation_indexes = [x.split("|")[0] for x in fi.read().split("\n") if len(x) > 0]
return training_indexes, validation_indexes
diff --git a/tools/AP_BWE_main/models/__init__.py b/gsv_tools/AP_BWE_main/models/__init__.py
similarity index 100%
rename from tools/AP_BWE_main/models/__init__.py
rename to gsv_tools/AP_BWE_main/models/__init__.py
diff --git a/tools/AP_BWE_main/models/model.py b/gsv_tools/AP_BWE_main/models/model.py
similarity index 93%
rename from tools/AP_BWE_main/models/model.py
rename to gsv_tools/AP_BWE_main/models/model.py
index e5386001..4cd1fa64 100644
--- a/tools/AP_BWE_main/models/model.py
+++ b/gsv_tools/AP_BWE_main/models/model.py
@@ -1,7 +1,7 @@
import torch
-import torch.nn.functional as F
import torch.nn as nn
-from torch.nn.utils import weight_norm, spectral_norm
+import torch.nn.functional as F
+from torch.nn.utils import spectral_norm, weight_norm
# from utils import init_weights, get_padding
@@ -16,7 +16,7 @@ def init_weights(m, mean=0.0, std=0.01):
import numpy as np
-from typing import Tuple, List
+
LRELU_SLOPE = 0.1
@@ -75,7 +75,7 @@ class ConvNeXtBlock(nn.Module):
class APNet_BWE_Model(torch.nn.Module):
def __init__(self, h):
- super(APNet_BWE_Model, self).__init__()
+ super().__init__()
self.h = h
self.adanorm_num_embeddings = None
layer_scale_init_value = 1 / h.ConvNeXt_layers
@@ -125,7 +125,7 @@ class APNet_BWE_Model(torch.nn.Module):
x_mag = self.norm_pre_mag(x_mag.transpose(1, 2)).transpose(1, 2)
x_pha = self.norm_pre_pha(x_pha.transpose(1, 2)).transpose(1, 2)
- for conv_block_mag, conv_block_pha in zip(self.convnext_mag, self.convnext_pha):
+ for conv_block_mag, conv_block_pha in zip(self.convnext_mag, self.convnext_pha, strict=False):
x_mag = x_mag + x_pha
x_pha = x_pha + x_mag
x_mag = conv_block_mag(x_mag, cond_embedding_id=None)
@@ -146,9 +146,9 @@ class APNet_BWE_Model(torch.nn.Module):
class DiscriminatorP(torch.nn.Module):
def __init__(self, period, kernel_size=5, stride=3, use_spectral_norm=False):
- super(DiscriminatorP, self).__init__()
+ super().__init__()
self.period = period
- norm_f = weight_norm if use_spectral_norm == False else spectral_norm
+ norm_f = weight_norm if not use_spectral_norm else spectral_norm
self.convs = nn.ModuleList(
[
norm_f(nn.Conv2d(1, 32, (kernel_size, 1), (stride, 1), padding=(get_padding(5, 1), 0))),
@@ -185,7 +185,7 @@ class DiscriminatorP(torch.nn.Module):
class MultiPeriodDiscriminator(torch.nn.Module):
def __init__(self):
- super(MultiPeriodDiscriminator, self).__init__()
+ super().__init__()
self.discriminators = nn.ModuleList(
[
DiscriminatorP(2),
@@ -201,7 +201,7 @@ class MultiPeriodDiscriminator(torch.nn.Module):
y_d_gs = []
fmap_rs = []
fmap_gs = []
- for i, d in enumerate(self.discriminators):
+ for _i, d in enumerate(self.discriminators):
y_d_r, fmap_r = d(y)
y_d_g, fmap_g = d(y_hat)
y_d_rs.append(y_d_r)
@@ -215,7 +215,7 @@ class MultiPeriodDiscriminator(torch.nn.Module):
class MultiResolutionAmplitudeDiscriminator(nn.Module):
def __init__(
self,
- resolutions: Tuple[Tuple[int, int, int]] = ((512, 128, 512), (1024, 256, 1024), (2048, 512, 2048)),
+ resolutions: tuple[tuple[int, int, int]] = ((512, 128, 512), (1024, 256, 1024), (2048, 512, 2048)),
num_embeddings: int = None,
):
super().__init__()
@@ -225,7 +225,7 @@ class MultiResolutionAmplitudeDiscriminator(nn.Module):
def forward(
self, y: torch.Tensor, y_hat: torch.Tensor, bandwidth_id: torch.Tensor = None
- ) -> Tuple[List[torch.Tensor], List[torch.Tensor], List[List[torch.Tensor]], List[List[torch.Tensor]]]:
+ ) -> tuple[list[torch.Tensor], list[torch.Tensor], list[list[torch.Tensor]], list[list[torch.Tensor]]]:
y_d_rs = []
y_d_gs = []
fmap_rs = []
@@ -245,7 +245,7 @@ class MultiResolutionAmplitudeDiscriminator(nn.Module):
class DiscriminatorAR(nn.Module):
def __init__(
self,
- resolution: Tuple[int, int, int],
+ resolution: tuple[int, int, int],
channels: int = 64,
in_channels: int = 1,
num_embeddings: int = None,
@@ -269,7 +269,7 @@ class DiscriminatorAR(nn.Module):
def forward(
self, x: torch.Tensor, cond_embedding_id: torch.Tensor = None
- ) -> Tuple[torch.Tensor, List[torch.Tensor]]:
+ ) -> tuple[torch.Tensor, list[torch.Tensor]]:
fmap = []
x = x.squeeze(1)
@@ -309,7 +309,7 @@ class DiscriminatorAR(nn.Module):
class MultiResolutionPhaseDiscriminator(nn.Module):
def __init__(
self,
- resolutions: Tuple[Tuple[int, int, int]] = ((512, 128, 512), (1024, 256, 1024), (2048, 512, 2048)),
+ resolutions: tuple[tuple[int, int, int]] = ((512, 128, 512), (1024, 256, 1024), (2048, 512, 2048)),
num_embeddings: int = None,
):
super().__init__()
@@ -319,7 +319,7 @@ class MultiResolutionPhaseDiscriminator(nn.Module):
def forward(
self, y: torch.Tensor, y_hat: torch.Tensor, bandwidth_id: torch.Tensor = None
- ) -> Tuple[List[torch.Tensor], List[torch.Tensor], List[List[torch.Tensor]], List[List[torch.Tensor]]]:
+ ) -> tuple[list[torch.Tensor], list[torch.Tensor], list[list[torch.Tensor]], list[list[torch.Tensor]]]:
y_d_rs = []
y_d_gs = []
fmap_rs = []
@@ -339,7 +339,7 @@ class MultiResolutionPhaseDiscriminator(nn.Module):
class DiscriminatorPR(nn.Module):
def __init__(
self,
- resolution: Tuple[int, int, int],
+ resolution: tuple[int, int, int],
channels: int = 64,
in_channels: int = 1,
num_embeddings: int = None,
@@ -363,7 +363,7 @@ class DiscriminatorPR(nn.Module):
def forward(
self, x: torch.Tensor, cond_embedding_id: torch.Tensor = None
- ) -> Tuple[torch.Tensor, List[torch.Tensor]]:
+ ) -> tuple[torch.Tensor, list[torch.Tensor]]:
fmap = []
x = x.squeeze(1)
@@ -402,8 +402,8 @@ class DiscriminatorPR(nn.Module):
def feature_loss(fmap_r, fmap_g):
loss = 0
- for dr, dg in zip(fmap_r, fmap_g):
- for rl, gl in zip(dr, dg):
+ for dr, dg in zip(fmap_r, fmap_g, strict=False):
+ for rl, gl in zip(dr, dg, strict=False):
loss += torch.mean(torch.abs(rl - gl))
return loss
@@ -413,7 +413,7 @@ def discriminator_loss(disc_real_outputs, disc_generated_outputs):
loss = 0
r_losses = []
g_losses = []
- for dr, dg in zip(disc_real_outputs, disc_generated_outputs):
+ for dr, dg in zip(disc_real_outputs, disc_generated_outputs, strict=False):
r_loss = torch.mean(torch.clamp(1 - dr, min=0))
g_loss = torch.mean(torch.clamp(1 + dg, min=0))
loss += r_loss + g_loss
diff --git a/tools/__init__.py b/gsv_tools/__init__.py
similarity index 100%
rename from tools/__init__.py
rename to gsv_tools/__init__.py
diff --git a/tools/asr/config.py b/gsv_tools/asr/config.py
similarity index 85%
rename from tools/asr/config.py
rename to gsv_tools/asr/config.py
index 90b2302a..854ea44e 100644
--- a/tools/asr/config.py
+++ b/gsv_tools/asr/config.py
@@ -5,9 +5,9 @@ def get_models():
"large-v2",
"large-v3",
"large-v3-turbo",
- #"distil-large-v2",
- #"distil-large-v3",
- #"distil-large-v3.5",
+ # "distil-large-v2",
+ # "distil-large-v3",
+ # "distil-large-v3.5",
]
return model_size_list
diff --git a/tools/asr/fasterwhisper_asr.py b/gsv_tools/asr/fasterwhisper_asr.py
similarity index 82%
rename from tools/asr/fasterwhisper_asr.py
rename to gsv_tools/asr/fasterwhisper_asr.py
index 927230d4..ff8f26fe 100644
--- a/tools/asr/fasterwhisper_asr.py
+++ b/gsv_tools/asr/fasterwhisper_asr.py
@@ -9,33 +9,34 @@ from huggingface_hub import snapshot_download as snapshot_download_hf
from modelscope import snapshot_download as snapshot_download_ms
from tqdm import tqdm
-from tools.asr.config import get_models
-from tools.asr.funasr_asr import only_asr
-from tools.my_utils import load_cudnn
+from gsv_tools.asr.config import get_models
+from gsv_tools.asr.funasr_asr import only_asr
+from gsv_tools.my_utils import load_cudnn
+
# fmt: off
language_code_list = [
- "af", "am", "ar", "as", "az",
- "ba", "be", "bg", "bn", "bo",
- "br", "bs", "ca", "cs", "cy",
- "da", "de", "el", "en", "es",
- "et", "eu", "fa", "fi", "fo",
- "fr", "gl", "gu", "ha", "haw",
- "he", "hi", "hr", "ht", "hu",
- "hy", "id", "is", "it", "ja",
- "jw", "ka", "kk", "km", "kn",
- "ko", "la", "lb", "ln", "lo",
- "lt", "lv", "mg", "mi", "mk",
- "ml", "mn", "mr", "ms", "mt",
- "my", "ne", "nl", "nn", "no",
- "oc", "pa", "pl", "ps", "pt",
- "ro", "ru", "sa", "sd", "si",
- "sk", "sl", "sn", "so", "sq",
- "sr", "su", "sv", "sw", "ta",
- "te", "tg", "th", "tk", "tl",
- "tr", "tt", "uk", "ur", "uz",
+ "af", "am", "ar", "as", "az",
+ "ba", "be", "bg", "bn", "bo",
+ "br", "bs", "ca", "cs", "cy",
+ "da", "de", "el", "en", "es",
+ "et", "eu", "fa", "fi", "fo",
+ "fr", "gl", "gu", "ha", "haw",
+ "he", "hi", "hr", "ht", "hu",
+ "hy", "id", "is", "it", "ja",
+ "jw", "ka", "kk", "km", "kn",
+ "ko", "la", "lb", "ln", "lo",
+ "lt", "lv", "mg", "mi", "mk",
+ "ml", "mn", "mr", "ms", "mt",
+ "my", "ne", "nl", "nn", "no",
+ "oc", "pa", "pl", "ps", "pt",
+ "ro", "ru", "sa", "sd", "si",
+ "sk", "sl", "sn", "so", "sq",
+ "sr", "su", "sv", "sw", "ta",
+ "te", "tg", "th", "tk", "tl",
+ "tr", "tt", "uk", "ur", "uz",
"vi", "yi", "yo", "zh", "yue",
- "auto"]
+ "auto"]
# fmt: on
@@ -52,20 +53,20 @@ def download_model(model_size: str):
if "distil" in model_size:
if "3.5" in model_size:
repo_id = "distil-whisper/distil-large-v3.5-ct2"
- model_path = "tools/asr/models/faster-distil-whisper-large-v3.5"
+ model_path = "gsv_tools/asr/models/faster-distil-whisper-large-v3.5"
else:
repo_id = "Systran/faster-{}-whisper-{}".format(*model_size.split("-", maxsplit=1))
elif model_size == "large-v3-turbo":
repo_id = "mobiuslabsgmbh/faster-whisper-large-v3-turbo"
- model_path = "tools/asr/models/faster-whisper-large-v3-turbo"
+ model_path = "gsv_tools/asr/models/faster-whisper-large-v3-turbo"
else:
repo_id = f"Systran/faster-whisper-{model_size}"
model_path = (
- model_path or f"tools/asr/models/{repo_id.replace('Systran/', '').replace('distil-whisper/', '', 1)}"
+ model_path or f"gsv_tools/asr/models/{repo_id.replace('Systran/', '').replace('distil-whisper/', '', 1)}"
)
else:
repo_id = "XXXXRT/faster-whisper"
- model_path = "tools/asr/models"
+ model_path = "gsv_tools/asr/models"
files: list[str] = [
"config.json",
diff --git a/tools/asr/funasr_asr.py b/gsv_tools/asr/funasr_asr.py
similarity index 81%
rename from tools/asr/funasr_asr.py
rename to gsv_tools/asr/funasr_asr.py
index 6a5c9989..8b918fd6 100644
--- a/tools/asr/funasr_asr.py
+++ b/gsv_tools/asr/funasr_asr.py
@@ -1,5 +1,3 @@
-# -*- coding:utf-8 -*-
-
import argparse
import os
import traceback
@@ -8,6 +6,7 @@ from funasr import AutoModel
from modelscope import snapshot_download
from tqdm import tqdm
+
funasr_models = {} # 存储模型避免重复加载
@@ -23,27 +22,27 @@ def only_asr(input_file, language):
def create_model(language="zh"):
if language == "zh":
- path_vad = "tools/asr/models/speech_fsmn_vad_zh-cn-16k-common-pytorch"
- path_punc = "tools/asr/models/punc_ct-transformer_zh-cn-common-vocab272727-pytorch"
- path_asr = "tools/asr/models/speech_paraformer-large_asr_nat-zh-cn-16k-common-vocab8404-pytorch"
+ path_vad = "gsv_tools/asr/models/speech_fsmn_vad_zh-cn-16k-common-pytorch"
+ path_punc = "gsv_tools/asr/models/punc_ct-transformer_zh-cn-common-vocab272727-pytorch"
+ path_asr = "gsv_tools/asr/models/speech_paraformer-large_asr_nat-zh-cn-16k-common-vocab8404-pytorch"
snapshot_download(
"iic/speech_fsmn_vad_zh-cn-16k-common-pytorch",
- local_dir="tools/asr/models/speech_fsmn_vad_zh-cn-16k-common-pytorch",
+ local_dir="gsv_tools/asr/models/speech_fsmn_vad_zh-cn-16k-common-pytorch",
)
snapshot_download(
"iic/punc_ct-transformer_zh-cn-common-vocab272727-pytorch",
- local_dir="tools/asr/models/punc_ct-transformer_zh-cn-common-vocab272727-pytorch",
+ local_dir="gsv_tools/asr/models/punc_ct-transformer_zh-cn-common-vocab272727-pytorch",
)
snapshot_download(
"iic/speech_paraformer-large_asr_nat-zh-cn-16k-common-vocab8404-pytorch",
- local_dir="tools/asr/models/speech_paraformer-large_asr_nat-zh-cn-16k-common-vocab8404-pytorch",
+ local_dir="gsv_tools/asr/models/speech_paraformer-large_asr_nat-zh-cn-16k-common-vocab8404-pytorch",
)
model_revision = "v2.0.4"
elif language == "yue":
- path_asr = "tools/asr/models/speech_UniASR_asr_2pass-cantonese-CHS-16k-common-vocab1468-tensorflow1-online"
+ path_asr = "gsv_tools/asr/models/speech_UniASR_asr_2pass-cantonese-CHS-16k-common-vocab1468-tensorflow1-online"
snapshot_download(
"iic/speech_UniASR_asr_2pass-cantonese-CHS-16k-common-vocab1468-tensorflow1-online",
- local_dir="tools/asr/models/speech_UniASR_asr_2pass-cantonese-CHS-16k-common-vocab1468-tensorflow1-online",
+ local_dir="gsv_tools/asr/models/speech_UniASR_asr_2pass-cantonese-CHS-16k-common-vocab1468-tensorflow1-online",
)
path_vad = path_punc = None
vad_model_revision = punc_model_revision = ""
diff --git a/tools/asr/models/.gitignore b/gsv_tools/asr/models/.gitignore
similarity index 100%
rename from tools/asr/models/.gitignore
rename to gsv_tools/asr/models/.gitignore
diff --git a/tools/assets.py b/gsv_tools/assets.py
similarity index 100%
rename from tools/assets.py
rename to gsv_tools/assets.py
diff --git a/tools/audio_sr.py b/gsv_tools/audio_sr.py
similarity index 83%
rename from tools/audio_sr.py
rename to gsv_tools/audio_sr.py
index 58df6d20..114cb882 100644
--- a/tools/audio_sr.py
+++ b/gsv_tools/audio_sr.py
@@ -1,23 +1,24 @@
-from __future__ import absolute_import, division, print_function, unicode_literals
-import sys
import os
+import sys
+
AP_BWE_main_dir_path = os.path.join(os.path.dirname(os.path.abspath(__file__)), "AP_BWE_main")
sys.path.append(AP_BWE_main_dir_path)
import json
+
import torch
import torchaudio.functional as aF
-# from attrdict import AttrDict####will be bug in py3.10
-from datasets1.dataset import amp_pha_stft, amp_pha_istft
+# from attrdict import AttrDict####will be bug in py3.10
+from datasets1.dataset import amp_pha_istft, amp_pha_stft
from models.model import APNet_BWE_Model
class AP_BWE:
def __init__(self, device, DictToAttrRecursive, checkpoint_file=None):
- if checkpoint_file == None:
- checkpoint_file = "%s/24kto48k/g_24kto48k.zip" % (AP_BWE_main_dir_path)
- if os.path.exists(checkpoint_file) == False:
+ if checkpoint_file is None:
+ checkpoint_file = f"{AP_BWE_main_dir_path}/24kto48k/g_24kto48k.zip"
+ if not os.path.exists(checkpoint_file):
raise FileNotFoundError
config_file = os.path.join(os.path.split(checkpoint_file)[0], "config.json")
with open(config_file) as f:
diff --git a/tools/cmd-denoise.py b/gsv_tools/cmd-denoise.py
similarity index 86%
rename from tools/cmd-denoise.py
rename to gsv_tools/cmd-denoise.py
index bbf68476..74bf30bd 100644
--- a/tools/cmd-denoise.py
+++ b/gsv_tools/cmd-denoise.py
@@ -1,12 +1,13 @@
-import os
import argparse
+import os
import traceback
from modelscope.pipelines import pipeline
from modelscope.utils.constant import Tasks
from tqdm import tqdm
-path_denoise = "tools/denoise-model/speech_frcrn_ans_cirm_16k"
+
+path_denoise = "gsv_tools/denoise-model/speech_frcrn_ans_cirm_16k"
path_denoise = path_denoise if os.path.exists(path_denoise) else "damo/speech_frcrn_ans_cirm_16k"
ans = pipeline(Tasks.acoustic_noise_suppression, model=path_denoise)
@@ -17,7 +18,7 @@ def execute_denoise(input_folder, output_folder):
# print(list(os.listdir(input_folder).sort()))
for name in tqdm(os.listdir(input_folder)):
try:
- ans("%s/%s" % (input_folder, name), output_path="%s/%s" % (output_folder, name))
+ ans(f"{input_folder}/{name}", output_path=f"{output_folder}/{name}")
except:
traceback.print_exc()
diff --git a/tools/denoise-model/.gitignore b/gsv_tools/denoise-model/.gitignore
similarity index 100%
rename from tools/denoise-model/.gitignore
rename to gsv_tools/denoise-model/.gitignore
diff --git a/tools/i18n/i18n.py b/gsv_tools/i18n/i18n.py
similarity index 92%
rename from tools/i18n/i18n.py
rename to gsv_tools/i18n/i18n.py
index 4cd123f3..a1d63906 100644
--- a/tools/i18n/i18n.py
+++ b/gsv_tools/i18n/i18n.py
@@ -2,11 +2,12 @@ import json
import locale
import os
+
I18N_JSON_DIR: os.PathLike = os.path.join(os.path.dirname(os.path.relpath(__file__)), "locale")
def load_language_list(language):
- with open(os.path.join(I18N_JSON_DIR, f"{language}.json"), "r", encoding="utf-8") as f:
+ with open(os.path.join(I18N_JSON_DIR, f"{language}.json"), encoding="utf-8") as f:
language_list = json.load(f)
return language_list
diff --git a/tools/i18n/locale/en_US.json b/gsv_tools/i18n/locale/en_US.json
similarity index 100%
rename from tools/i18n/locale/en_US.json
rename to gsv_tools/i18n/locale/en_US.json
diff --git a/tools/i18n/locale/es_ES.json b/gsv_tools/i18n/locale/es_ES.json
similarity index 100%
rename from tools/i18n/locale/es_ES.json
rename to gsv_tools/i18n/locale/es_ES.json
diff --git a/tools/i18n/locale/fr_FR.json b/gsv_tools/i18n/locale/fr_FR.json
similarity index 100%
rename from tools/i18n/locale/fr_FR.json
rename to gsv_tools/i18n/locale/fr_FR.json
diff --git a/tools/i18n/locale/it_IT.json b/gsv_tools/i18n/locale/it_IT.json
similarity index 100%
rename from tools/i18n/locale/it_IT.json
rename to gsv_tools/i18n/locale/it_IT.json
diff --git a/tools/i18n/locale/ja_JP.json b/gsv_tools/i18n/locale/ja_JP.json
similarity index 100%
rename from tools/i18n/locale/ja_JP.json
rename to gsv_tools/i18n/locale/ja_JP.json
diff --git a/tools/i18n/locale/ko_KR.json b/gsv_tools/i18n/locale/ko_KR.json
similarity index 100%
rename from tools/i18n/locale/ko_KR.json
rename to gsv_tools/i18n/locale/ko_KR.json
diff --git a/tools/i18n/locale/pt_BR.json b/gsv_tools/i18n/locale/pt_BR.json
similarity index 100%
rename from tools/i18n/locale/pt_BR.json
rename to gsv_tools/i18n/locale/pt_BR.json
diff --git a/tools/i18n/locale/ru_RU.json b/gsv_tools/i18n/locale/ru_RU.json
similarity index 100%
rename from tools/i18n/locale/ru_RU.json
rename to gsv_tools/i18n/locale/ru_RU.json
diff --git a/tools/i18n/locale/tr_TR.json b/gsv_tools/i18n/locale/tr_TR.json
similarity index 100%
rename from tools/i18n/locale/tr_TR.json
rename to gsv_tools/i18n/locale/tr_TR.json
diff --git a/tools/i18n/locale/zh_CN.json b/gsv_tools/i18n/locale/zh_CN.json
similarity index 100%
rename from tools/i18n/locale/zh_CN.json
rename to gsv_tools/i18n/locale/zh_CN.json
diff --git a/tools/i18n/locale/zh_HK.json b/gsv_tools/i18n/locale/zh_HK.json
similarity index 100%
rename from tools/i18n/locale/zh_HK.json
rename to gsv_tools/i18n/locale/zh_HK.json
diff --git a/tools/i18n/locale/zh_SG.json b/gsv_tools/i18n/locale/zh_SG.json
similarity index 100%
rename from tools/i18n/locale/zh_SG.json
rename to gsv_tools/i18n/locale/zh_SG.json
diff --git a/tools/i18n/locale/zh_TW.json b/gsv_tools/i18n/locale/zh_TW.json
similarity index 100%
rename from tools/i18n/locale/zh_TW.json
rename to gsv_tools/i18n/locale/zh_TW.json
diff --git a/tools/i18n/scan_i18n.py b/gsv_tools/i18n/scan_i18n.py
similarity index 97%
rename from tools/i18n/scan_i18n.py
rename to gsv_tools/i18n/scan_i18n.py
index 0f12091d..9eacb402 100644
--- a/tools/i18n/scan_i18n.py
+++ b/gsv_tools/i18n/scan_i18n.py
@@ -4,6 +4,7 @@ import json
import os
from collections import OrderedDict
+
I18N_JSON_DIR: os.PathLike = os.path.join(os.path.dirname(os.path.relpath(__file__)), "locale")
DEFAULT_LANGUAGE: str = "zh_CN" # 默认语言
TITLE_LEN: int = 60 # 标题显示长度
@@ -36,7 +37,7 @@ def scan_i18n_strings():
print(" Scanning Files and Extracting i18n Strings ".center(TITLE_LEN, "="))
for filename in glob.iglob("**/*.py", recursive=True):
try:
- with open(filename, "r", encoding="utf-8") as f:
+ with open(filename, encoding="utf-8") as f:
code = f.read()
if "I18nAuto" in code:
tree = ast.parse(code)
@@ -57,7 +58,7 @@ def update_i18n_json(json_file, standard_keys):
standard_keys = sorted(standard_keys)
print(f" Process {json_file} ".center(TITLE_LEN, "="))
# 读取 JSON 文件
- with open(json_file, "r", encoding="utf-8") as f:
+ with open(json_file, encoding="utf-8") as f:
json_data = json.load(f, object_pairs_hook=OrderedDict)
# 打印处理前的 JSON 条目数
len_before = len(json_data)
diff --git a/tools/my_utils.py b/gsv_tools/my_utils.py
similarity index 93%
rename from tools/my_utils.py
rename to gsv_tools/my_utils.py
index 04f1a98a..c88dbff5 100644
--- a/tools/my_utils.py
+++ b/gsv_tools/my_utils.py
@@ -8,7 +8,8 @@ import gradio as gr
import numpy as np
import pandas as pd
-from tools.i18n.i18n import I18nAuto
+from gsv_tools.i18n.i18n import I18nAuto
+
i18n = I18nAuto(language=os.environ.get("language", "Auto"))
@@ -48,7 +49,7 @@ def clean_path(path_str: str):
def check_for_existance(file_list: list = None, is_train=False, is_dataset_processing=False):
files_status = []
- if is_train == True and file_list:
+ if is_train and file_list:
file_list.append(os.path.join(file_list[0], "2-name2text.txt"))
file_list.append(os.path.join(file_list[0], "3-bert"))
file_list.append(os.path.join(file_list[0], "4-cnhubert"))
@@ -61,7 +62,7 @@ def check_for_existance(file_list: list = None, is_train=False, is_dataset_proce
files_status.append(False)
if sum(files_status) != len(files_status):
if is_train:
- for file, status in zip(file_list, files_status):
+ for file, status in zip(file_list, files_status, strict=False):
if status:
pass
else:
@@ -97,13 +98,13 @@ def check_details(path_list=None, is_train=False, is_dataset_processing=False):
if not os.path.isdir(audio_path):
gr.Warning(i18n("请填入正确的音频文件夹路径"))
return
- with open(list_path, "r", encoding="utf8") as f:
+ with open(list_path, encoding="utf8") as f:
line = f.readline().strip("\n").split("\n")
wav_name, _, __, ___ = line[0].split("|")
wav_name = clean_path(wav_name)
- if audio_path != "" and audio_path != None:
+ if audio_path != "" and audio_path is not None:
wav_name = os.path.basename(wav_name)
- wav_path = "%s/%s" % (audio_path, wav_name)
+ wav_path = f"{audio_path}/{wav_name}"
else:
wav_path = wav_name
if os.path.exists(wav_path):
@@ -117,7 +118,7 @@ def check_details(path_list=None, is_train=False, is_dataset_processing=False):
path_list.append(os.path.join(path_list[0], "5-wav32k"))
path_list.append(os.path.join(path_list[0], "6-name2semantic.tsv"))
phone_path, hubert_path, wav_path, semantic_path = path_list[1:]
- with open(phone_path, "r", encoding="utf-8") as f:
+ with open(phone_path, encoding="utf-8") as f:
if f.read(1):
...
else:
diff --git a/tools/slice_audio.py b/gsv_tools/slice_audio.py
similarity index 95%
rename from tools/slice_audio.py
rename to gsv_tools/slice_audio.py
index 66fafa93..ed9d6e90 100644
--- a/tools/slice_audio.py
+++ b/gsv_tools/slice_audio.py
@@ -1,13 +1,14 @@
import os
import sys
-import numpy as np
import traceback
+
+import numpy as np
from scipy.io import wavfile
+from slicer2 import Slicer
# parent_directory = os.path.dirname(os.path.abspath(__file__))
# sys.path.append(parent_directory)
-from tools.my_utils import load_audio
-from slicer2 import Slicer
+from gsv_tools.my_utils import load_audio
def slice(inp, opt_root, threshold, min_length, min_interval, hop_size, max_sil_kept, _max, alpha, i_part, all_part):
diff --git a/tools/slicer2.py b/gsv_tools/slicer2.py
similarity index 100%
rename from tools/slicer2.py
rename to gsv_tools/slicer2.py
diff --git a/tools/subfix_webui.py b/gsv_tools/subfix_webui.py
similarity index 97%
rename from tools/subfix_webui.py
rename to gsv_tools/subfix_webui.py
index 51a7dfad..78045dd0 100644
--- a/tools/subfix_webui.py
+++ b/gsv_tools/subfix_webui.py
@@ -1,5 +1,7 @@
import sys
-from tools.i18n.i18n import I18nAuto, scan_language_list
+
+from gsv_tools.i18n.i18n import I18nAuto, scan_language_list
+
language = sys.argv[-1] if sys.argv[-1] in scan_language_list() else "Auto"
i18n = I18nAuto(language=language)
@@ -9,6 +11,7 @@ import json
import os
import uuid
+
try:
import gradio.analytics as analytics
@@ -21,6 +24,7 @@ import librosa
import numpy as np
import soundfile
+
g_json_key_text = ""
g_json_key_path = ""
g_load_file = ""
@@ -113,7 +117,7 @@ def b_delete_audio(*checkbox_list):
change = False
for i, checkbox in reversed(list(enumerate(checkbox_list))):
if g_index + i < len(g_data_json):
- if checkbox == True:
+ if checkbox:
g_data_json.pop(g_index + i)
change = True
@@ -150,7 +154,7 @@ def b_audio_split(audio_breakpoint, *checkbox_list):
global g_data_json, g_max_json_index
checked_index = []
for i, checkbox in enumerate(checkbox_list):
- if checkbox == True and g_index + i < len(g_data_json):
+ if checkbox and g_index + i < len(g_data_json):
checked_index.append(g_index + i)
if len(checked_index) == 1:
index = checked_index[0]
@@ -182,7 +186,7 @@ def b_merge_audio(interval_r, *checkbox_list):
audios_path = []
audios_text = []
for i, checkbox in enumerate(checkbox_list):
- if checkbox == True and g_index + i < len(g_data_json):
+ if checkbox and g_index + i < len(g_data_json):
checked_index.append(g_index + i)
if len(checked_index) > 1:
@@ -237,7 +241,7 @@ def b_save_list():
def b_load_json():
global g_data_json, g_max_json_index
- with open(g_load_file, "r", encoding="utf-8") as file:
+ with open(g_load_file, encoding="utf-8") as file:
g_data_json = file.readlines()
g_data_json = [json.loads(line) for line in g_data_json]
g_max_json_index = len(g_data_json) - 1
@@ -245,7 +249,7 @@ def b_load_json():
def b_load_list():
global g_data_json, g_max_json_index
- with open(g_load_file, "r", encoding="utf-8") as source:
+ with open(g_load_file, encoding="utf-8") as source:
data_list = source.readlines()
for _ in data_list:
data = _.split("|")
diff --git a/tools/uvr5/bs_roformer/__init__.py b/gsv_tools/uvr5/bs_roformer/__init__.py
similarity index 100%
rename from tools/uvr5/bs_roformer/__init__.py
rename to gsv_tools/uvr5/bs_roformer/__init__.py
diff --git a/tools/uvr5/bs_roformer/attend.py b/gsv_tools/uvr5/bs_roformer/attend.py
similarity index 98%
rename from tools/uvr5/bs_roformer/attend.py
rename to gsv_tools/uvr5/bs_roformer/attend.py
index 29dad18e..8767d4f6 100644
--- a/tools/uvr5/bs_roformer/attend.py
+++ b/gsv_tools/uvr5/bs_roformer/attend.py
@@ -1,7 +1,7 @@
-from packaging import version
import torch
-from torch import nn, einsum
import torch.nn.functional as F
+from packaging import version
+from torch import einsum, nn
def exists(val):
diff --git a/tools/uvr5/bs_roformer/bs_roformer.py b/gsv_tools/uvr5/bs_roformer/bs_roformer.py
similarity index 96%
rename from tools/uvr5/bs_roformer/bs_roformer.py
rename to gsv_tools/uvr5/bs_roformer/bs_roformer.py
index 8c9d1f30..0a9da693 100644
--- a/tools/uvr5/bs_roformer/bs_roformer.py
+++ b/gsv_tools/uvr5/bs_roformer/bs_roformer.py
@@ -1,21 +1,20 @@
+from collections.abc import Callable
from functools import partial
import torch
-from torch import nn
-from torch.nn import Module, ModuleList
import torch.nn.functional as F
+from einops import pack, rearrange, unpack
+from einops.layers.torch import Rearrange
-from bs_roformer.attend import Attend
-from torch.utils.checkpoint import checkpoint
-
-from typing import Tuple, Optional, Callable
# from beartype.typing import Tuple, Optional, List, Callable
# from beartype import beartype
-
from rotary_embedding_torch import RotaryEmbedding
+from torch import nn
+from torch.nn import Module, ModuleList
+from torch.utils.checkpoint import checkpoint
+
+from bs_roformer.attend import Attend
-from einops import rearrange, pack, unpack
-from einops.layers.torch import Rearrange
# helper functions
@@ -192,7 +191,7 @@ class Transformer(Module):
class BandSplit(Module):
# @beartype
- def __init__(self, dim, dim_inputs: Tuple[int, ...]):
+ def __init__(self, dim, dim_inputs: tuple[int, ...]):
super().__init__()
self.dim_inputs = dim_inputs
self.to_features = ModuleList([])
@@ -206,7 +205,7 @@ class BandSplit(Module):
x = x.split(self.dim_inputs, dim=-1)
outs = []
- for split_input, to_feature in zip(x, self.to_features):
+ for split_input, to_feature in zip(x, self.to_features, strict=False):
split_output = to_feature(split_input)
outs.append(split_output)
@@ -219,7 +218,7 @@ def MLP(dim_in, dim_out, dim_hidden=None, depth=1, activation=nn.Tanh):
net = []
dims = (dim_in, *((dim_hidden,) * (depth - 1)), dim_out)
- for ind, (layer_dim_in, layer_dim_out) in enumerate(zip(dims[:-1], dims[1:])):
+ for ind, (layer_dim_in, layer_dim_out) in enumerate(zip(dims[:-1], dims[1:], strict=False)):
is_last = ind == (len(dims) - 2)
net.append(nn.Linear(layer_dim_in, layer_dim_out))
@@ -234,15 +233,13 @@ def MLP(dim_in, dim_out, dim_hidden=None, depth=1, activation=nn.Tanh):
class MaskEstimator(Module):
# @beartype
- def __init__(self, dim, dim_inputs: Tuple[int, ...], depth, mlp_expansion_factor=4):
+ def __init__(self, dim, dim_inputs: tuple[int, ...], depth, mlp_expansion_factor=4):
super().__init__()
self.dim_inputs = dim_inputs
self.to_freqs = ModuleList([])
dim_hidden = dim * mlp_expansion_factor
for dim_in in dim_inputs:
- net = []
-
mlp = nn.Sequential(MLP(dim, dim_in * 2, dim_hidden=dim_hidden, depth=depth), nn.GLU(dim=-1))
self.to_freqs.append(mlp)
@@ -252,7 +249,7 @@ class MaskEstimator(Module):
outs = []
- for band_features, mlp in zip(x, self.to_freqs):
+ for band_features, mlp in zip(x, self.to_freqs, strict=False):
freq_out = mlp(band_features)
outs.append(freq_out)
@@ -339,7 +336,7 @@ class BSRoformer(Module):
time_transformer_depth=2,
freq_transformer_depth=2,
linear_transformer_depth=0,
- freqs_per_bands: Tuple[int, ...] = DEFAULT_FREQS_PER_BANDS,
+ freqs_per_bands: tuple[int, ...] = DEFAULT_FREQS_PER_BANDS,
# in the paper, they divide into ~60 bands, test with 1 for starters
dim_head=64,
heads=8,
@@ -352,10 +349,10 @@ class BSRoformer(Module):
# 10ms at 44100Hz, from sections 4.1, 4.4 in the paper - @faroit recommends // 2 or // 4 for better reconstruction
stft_win_length=2048,
stft_normalized=False,
- stft_window_fn: Optional[Callable] = None,
+ stft_window_fn: Callable | None = None,
mask_estimator_depth=2,
multi_stft_resolution_loss_weight=1.0,
- multi_stft_resolutions_window_sizes: Tuple[int, ...] = (4096, 2048, 1024, 512, 256),
+ multi_stft_resolutions_window_sizes: tuple[int, ...] = (4096, 2048, 1024, 512, 256),
multi_stft_hop_size=147,
multi_stft_normalized=False,
multi_stft_window_fn: Callable = torch.hann_window,
diff --git a/tools/uvr5/bs_roformer/mel_band_roformer.py b/gsv_tools/uvr5/bs_roformer/mel_band_roformer.py
similarity index 97%
rename from tools/uvr5/bs_roformer/mel_band_roformer.py
rename to gsv_tools/uvr5/bs_roformer/mel_band_roformer.py
index 78a39040..71806a27 100644
--- a/tools/uvr5/bs_roformer/mel_band_roformer.py
+++ b/gsv_tools/uvr5/bs_roformer/mel_band_roformer.py
@@ -1,23 +1,20 @@
+from collections.abc import Callable
from functools import partial
import torch
-from torch import nn
-from torch.nn import Module, ModuleList
import torch.nn.functional as F
+from einops import pack, rearrange, reduce, repeat, unpack
+from einops.layers.torch import Rearrange
+from librosa import filters
-from bs_roformer.attend import Attend
-from torch.utils.checkpoint import checkpoint
-
-from typing import Tuple, Optional, Callable
# from beartype.typing import Tuple, Optional, List, Callable
# from beartype import beartype
-
from rotary_embedding_torch import RotaryEmbedding
+from torch import nn
+from torch.nn import Module, ModuleList
+from torch.utils.checkpoint import checkpoint
-from einops import rearrange, pack, unpack, reduce, repeat
-from einops.layers.torch import Rearrange
-
-from librosa import filters
+from bs_roformer.attend import Attend
# helper functions
@@ -201,7 +198,7 @@ class Transformer(Module):
class BandSplit(Module):
# @beartype
- def __init__(self, dim, dim_inputs: Tuple[int, ...]):
+ def __init__(self, dim, dim_inputs: tuple[int, ...]):
super().__init__()
self.dim_inputs = dim_inputs
self.to_features = ModuleList([])
@@ -215,7 +212,7 @@ class BandSplit(Module):
x = x.split(self.dim_inputs, dim=-1)
outs = []
- for split_input, to_feature in zip(x, self.to_features):
+ for split_input, to_feature in zip(x, self.to_features, strict=False):
split_output = to_feature(split_input)
outs.append(split_output)
@@ -228,7 +225,7 @@ def MLP(dim_in, dim_out, dim_hidden=None, depth=1, activation=nn.Tanh):
net = []
dims = (dim_in, *((dim_hidden,) * depth), dim_out)
- for ind, (layer_dim_in, layer_dim_out) in enumerate(zip(dims[:-1], dims[1:])):
+ for ind, (layer_dim_in, layer_dim_out) in enumerate(zip(dims[:-1], dims[1:], strict=False)):
is_last = ind == (len(dims) - 2)
net.append(nn.Linear(layer_dim_in, layer_dim_out))
@@ -243,15 +240,13 @@ def MLP(dim_in, dim_out, dim_hidden=None, depth=1, activation=nn.Tanh):
class MaskEstimator(Module):
# @beartype
- def __init__(self, dim, dim_inputs: Tuple[int, ...], depth, mlp_expansion_factor=4):
+ def __init__(self, dim, dim_inputs: tuple[int, ...], depth, mlp_expansion_factor=4):
super().__init__()
self.dim_inputs = dim_inputs
self.to_freqs = ModuleList([])
dim_hidden = dim * mlp_expansion_factor
for dim_in in dim_inputs:
- net = []
-
mlp = nn.Sequential(MLP(dim, dim_in * 2, dim_hidden=dim_hidden, depth=depth), nn.GLU(dim=-1))
self.to_freqs.append(mlp)
@@ -261,7 +256,7 @@ class MaskEstimator(Module):
outs = []
- for band_features, mlp in zip(x, self.to_freqs):
+ for band_features, mlp in zip(x, self.to_freqs, strict=False):
freq_out = mlp(band_features)
outs.append(freq_out)
@@ -296,10 +291,10 @@ class MelBandRoformer(Module):
# 10ms at 44100Hz, from sections 4.1, 4.4 in the paper - @faroit recommends // 2 or // 4 for better reconstruction
stft_win_length=2048,
stft_normalized=False,
- stft_window_fn: Optional[Callable] = None,
+ stft_window_fn: Callable | None = None,
mask_estimator_depth=1,
multi_stft_resolution_loss_weight=1.0,
- multi_stft_resolutions_window_sizes: Tuple[int, ...] = (4096, 2048, 1024, 512, 256),
+ multi_stft_resolutions_window_sizes: tuple[int, ...] = (4096, 2048, 1024, 512, 256),
multi_stft_hop_size=147,
multi_stft_normalized=False,
multi_stft_window_fn: Callable = torch.hann_window,
diff --git a/tools/uvr5/bsroformer.py b/gsv_tools/uvr5/bsroformer.py
similarity index 92%
rename from tools/uvr5/bsroformer.py
rename to gsv_tools/uvr5/bsroformer.py
index ddcbfa74..2f22019a 100644
--- a/tools/uvr5/bsroformer.py
+++ b/gsv_tools/uvr5/bsroformer.py
@@ -10,12 +10,13 @@ import torch.nn as nn
import yaml
from tqdm import tqdm
+
warnings.filterwarnings("ignore")
class Roformer_Loader:
def get_config(self, config_path):
- with open(config_path, "r", encoding="utf-8") as f:
+ with open(config_path, encoding="utf-8") as f:
# use fullloader to load tag !!python/tuple, code can be improved
config = yaml.load(f, Loader=yaml.FullLoader)
return config
@@ -104,7 +105,7 @@ class Roformer_Loader:
model = MelBandRoformer(**dict(self.config["model"]))
else:
- print("Error: Unknown model: {}".format(self.model_type))
+ print(f"Error: Unknown model: {self.model_type}")
model = None
return model
@@ -192,9 +193,11 @@ class Roformer_Loader:
progress_bar.close()
if self.config["training"]["target_instrument"] is None:
- return {k: v for k, v in zip(self.config["training"]["instruments"], estimated_sources)}
+ return {k: v for k, v in zip(self.config["training"]["instruments"], estimated_sources, strict=False)}
else:
- return {k: v for k, v in zip([self.config["training"]["target_instrument"]], estimated_sources)}
+ return {
+ k: v for k, v in zip([self.config["training"]["target_instrument"]], estimated_sources, strict=False)
+ }
def run_folder(self, input, vocal_root, others_root, format):
self.model.eval()
@@ -210,8 +213,8 @@ class Roformer_Loader:
try:
mix, sr = librosa.load(path, sr=sample_rate, mono=False)
except Exception as e:
- print("Can read track: {}".format(path))
- print("Error message: {}".format(str(e)))
+ print(f"Can read track: {path}")
+ print(f"Error message: {str(e)}")
return
# in case if model only supports mono tracks
@@ -232,17 +235,17 @@ class Roformer_Loader:
other_instruments = [i for i in self.config["training"]["instruments"] if i != target_instrument]
other = mix_orig - res[target_instrument] # caculate other instruments
- path_vocal = "{}/{}_{}.wav".format(vocal_root, file_base_name, target_instrument)
- path_other = "{}/{}_{}.wav".format(others_root, file_base_name, other_instruments[0])
+ path_vocal = f"{vocal_root}/{file_base_name}_{target_instrument}.wav"
+ path_other = f"{others_root}/{file_base_name}_{other_instruments[0]}.wav"
self.save_audio(path_vocal, res[target_instrument].T, sr, format)
self.save_audio(path_other, other.T, sr, format)
else:
# if target instrument is not specified, save the first instrument as vocal and the rest as others
vocal_inst = self.config["training"]["instruments"][0]
- path_vocal = "{}/{}_{}.wav".format(vocal_root, file_base_name, vocal_inst)
+ path_vocal = f"{vocal_root}/{file_base_name}_{vocal_inst}.wav"
self.save_audio(path_vocal, res[vocal_inst].T, sr, format)
for other in self.config["training"]["instruments"][1:]: # save other instruments
- path_other = "{}/{}_{}.wav".format(others_root, file_base_name, other)
+ path_other = f"{others_root}/{file_base_name}_{other}.wav"
self.save_audio(path_other, res[other].T, sr, format)
def save_audio(self, path, data, sr, format):
@@ -253,7 +256,7 @@ class Roformer_Loader:
sf.write(path, data, sr)
else:
sf.write(path, data, sr)
- os.system('ffmpeg -i "{}" -vn "{}" -q:a 2 -y'.format(path, path[:-3] + format))
+ os.system(f'ffmpeg -i "{path}" -vn "{path[:-3] + format}" -q:a 2 -y')
try:
os.remove(path)
except:
@@ -275,7 +278,7 @@ class Roformer_Loader:
if self.model_type is None:
# if model_type is still None, raise an error
raise ValueError(
- "Error: Unknown model type. If you are using a model without a configuration file, Ensure that your model name includes 'bs_roformer', 'bsroformer', 'mel_band_roformer', or 'melbandroformer'. Otherwise, you can manually place the model configuration file into 'tools/uvr5/uvr5w_weights' and ensure that the configuration file is named as '.yaml' then try it again."
+ "Error: Unknown model type. If you are using a model without a configuration file, Ensure that your model name includes 'bs_roformer', 'bsroformer', 'mel_band_roformer', or 'melbandroformer'. Otherwise, you can manually place the model configuration file into 'gsv_tools/uvr5/uvr5w_weights' and ensure that the configuration file is named as '.yaml' then try it again."
)
self.config = self.get_default_config()
else:
@@ -290,12 +293,12 @@ class Roformer_Loader:
# else it's a mel_band_roformer model
self.model_type = "mel_band_roformer"
- print("Detected model type: {}".format(self.model_type))
+ print(f"Detected model type: {self.model_type}")
model = self.get_model_from_config()
state_dict = torch.load(model_path, map_location="cpu")
model.load_state_dict(state_dict)
- if is_half == False:
+ if not is_half:
self.model = model.to(device)
else:
self.model = model.half().to(device)
diff --git a/tools/uvr5/mdxnet.py b/gsv_tools/uvr5/mdxnet.py
similarity index 90%
rename from tools/uvr5/mdxnet.py
rename to gsv_tools/uvr5/mdxnet.py
index 98c75c1f..b04ec36c 100644
--- a/tools/uvr5/mdxnet.py
+++ b/gsv_tools/uvr5/mdxnet.py
@@ -1,5 +1,6 @@
-import os
import logging
+import os
+
logger = logging.getLogger(__name__)
@@ -9,12 +10,13 @@ import soundfile as sf
import torch
from tqdm import tqdm
+
cpu = torch.device("cpu")
class ConvTDFNetTrim:
def __init__(self, device, model_name, target_name, L, dim_f, dim_t, n_fft, hop=1024):
- super(ConvTDFNetTrim, self).__init__()
+ super().__init__()
self.dim_f = dim_f
self.dim_t = 2**dim_t
@@ -180,24 +182,24 @@ class Predictor:
sources = self.demix(mix.T)
opt = sources[0].T
if format in ["wav", "flac"]:
- sf.write("%s/%s_main_vocal.%s" % (vocal_root, basename, format), mix - opt, rate)
- sf.write("%s/%s_others.%s" % (others_root, basename, format), opt, rate)
+ sf.write(f"{vocal_root}/{basename}_main_vocal.{format}", mix - opt, rate)
+ sf.write(f"{others_root}/{basename}_others.{format}", opt, rate)
else:
- path_vocal = "%s/%s_main_vocal.wav" % (vocal_root, basename)
- path_other = "%s/%s_others.wav" % (others_root, basename)
+ path_vocal = f"{vocal_root}/{basename}_main_vocal.wav"
+ path_other = f"{others_root}/{basename}_others.wav"
sf.write(path_vocal, mix - opt, rate)
sf.write(path_other, opt, rate)
- opt_path_vocal = path_vocal[:-4] + ".%s" % format
- opt_path_other = path_other[:-4] + ".%s" % format
+ opt_path_vocal = path_vocal[:-4] + f".{format}"
+ opt_path_other = path_other[:-4] + f".{format}"
if os.path.exists(path_vocal):
- os.system('ffmpeg -i "%s" -vn "%s" -q:a 2 -y' % (path_vocal, opt_path_vocal))
+ os.system(f'ffmpeg -i "{path_vocal}" -vn "{opt_path_vocal}" -q:a 2 -y')
if os.path.exists(opt_path_vocal):
try:
os.remove(path_vocal)
except:
pass
if os.path.exists(path_other):
- os.system('ffmpeg -i "%s" -vn "%s" -q:a 2 -y' % (path_other, opt_path_other))
+ os.system(f'ffmpeg -i "{path_other}" -vn "{opt_path_other}" -q:a 2 -y')
if os.path.exists(opt_path_other):
try:
os.remove(path_other)
@@ -207,7 +209,7 @@ class Predictor:
class MDXNetDereverb:
def __init__(self, chunks):
- self.onnx = "%s/uvr5_weights/onnx_dereverb_By_FoxJoy" % os.path.dirname(os.path.abspath(__file__))
+ self.onnx = f"{os.path.dirname(os.path.abspath(__file__))}/uvr5_weights/onnx_dereverb_By_FoxJoy"
self.shifts = 10 # 'Predict with randomised equivariant stabilisation'
self.mixing = "min_mag" # ['default','min_mag','max_mag']
self.chunks = chunks
diff --git a/tools/uvr5/uvr5_weights/.gitignore b/gsv_tools/uvr5/uvr5_weights/.gitignore
similarity index 100%
rename from tools/uvr5/uvr5_weights/.gitignore
rename to gsv_tools/uvr5/uvr5_weights/.gitignore
diff --git a/tools/uvr5/vr.py b/gsv_tools/uvr5/vr.py
similarity index 91%
rename from tools/uvr5/vr.py
rename to gsv_tools/uvr5/vr.py
index 45429cca..8c432ba8 100644
--- a/tools/uvr5/vr.py
+++ b/gsv_tools/uvr5/vr.py
@@ -1,16 +1,17 @@
import os
+
parent_directory = os.path.dirname(os.path.abspath(__file__))
import logging
+
logger = logging.getLogger(__name__)
import librosa
import numpy as np
import soundfile as sf
import torch
-from lib.lib_v5 import nets_61968KB as Nets
-from lib.lib_v5 import spec_utils
+from lib.lib_v5 import nets_61968KB as Nets, spec_utils
from lib.lib_v5.model_param_init import ModelParameters
from lib.lib_v5.nets_new import CascadedNet
from lib.utils import inference
@@ -29,7 +30,7 @@ class AudioPre:
"agg": agg,
"high_end_process": "mirroring",
}
- mp = ModelParameters("%s/lib/lib_v5/modelparams/4band_v2.json" % parent_directory)
+ mp = ModelParameters(f"{parent_directory}/lib/lib_v5/modelparams/4band_v2.json")
model = Nets.CascadedASPPNet(mp.param["bins"] * 2)
cpk = torch.load(model_path, map_location="cpu")
model.load_state_dict(cpk)
@@ -50,7 +51,7 @@ class AudioPre:
os.makedirs(ins_root, exist_ok=True)
if vocal_root is not None:
os.makedirs(vocal_root, exist_ok=True)
- X_wave, y_wave, X_spec_s, y_spec_s = {}, {}, {}, {}
+ X_wave, _y_wave, X_spec_s, _y_spec_s = {}, {}, {}, {}
bands_n = len(self.mp.param["band"])
# print(bands_n)
for d in range(bands_n, 0, -1):
@@ -106,7 +107,7 @@ class AudioPre:
y_spec_m = pred * X_phase
v_spec_m = X_spec_m - y_spec_m
- if is_hp3 == True:
+ if is_hp3:
ins_root, vocal_root = vocal_root, ins_root
if ins_root is not None:
@@ -117,8 +118,8 @@ class AudioPre:
)
else:
wav_instrument = spec_utils.cmb_spectrogram_to_wave(y_spec_m, self.mp)
- logger.info("%s instruments done" % name)
- if is_hp3 == True:
+ logger.info(f"{name} instruments done")
+ if is_hp3:
head = "vocal_"
else:
head = "instrument_"
@@ -139,8 +140,8 @@ class AudioPre:
self.mp.param["sr"],
)
if os.path.exists(path):
- opt_format_path = path[:-4] + ".%s" % format
- cmd = 'ffmpeg -i "%s" -vn "%s" -q:a 2 -y' % (path, opt_format_path)
+ opt_format_path = path[:-4] + f".{format}"
+ cmd = f'ffmpeg -i "{path}" -vn "{opt_format_path}" -q:a 2 -y'
print(cmd)
os.system(cmd)
if os.path.exists(opt_format_path):
@@ -149,7 +150,7 @@ class AudioPre:
except:
pass
if vocal_root is not None:
- if is_hp3 == True:
+ if is_hp3:
head = "instrument_"
else:
head = "vocal_"
@@ -158,7 +159,7 @@ class AudioPre:
wav_vocals = spec_utils.cmb_spectrogram_to_wave(v_spec_m, self.mp, input_high_end_h, input_high_end_)
else:
wav_vocals = spec_utils.cmb_spectrogram_to_wave(v_spec_m, self.mp)
- logger.info("%s vocals done" % name)
+ logger.info(f"{name} vocals done")
if format in ["wav", "flac"]:
sf.write(
os.path.join(
@@ -176,8 +177,8 @@ class AudioPre:
self.mp.param["sr"],
)
if os.path.exists(path):
- opt_format_path = path[:-4] + ".%s" % format
- cmd = 'ffmpeg -i "%s" -vn "%s" -q:a 2 -y' % (path, opt_format_path)
+ opt_format_path = path[:-4] + f".{format}"
+ cmd = f'ffmpeg -i "{path}" -vn "{opt_format_path}" -q:a 2 -y'
print(cmd)
os.system(cmd)
if os.path.exists(opt_format_path):
@@ -200,7 +201,7 @@ class AudioPreDeEcho:
"agg": agg,
"high_end_process": "mirroring",
}
- mp = ModelParameters("%s/lib/lib_v5/modelparams/4band_v3.json" % parent_directory)
+ mp = ModelParameters(f"{parent_directory}/lib/lib_v5/modelparams/4band_v3.json")
nout = 64 if "DeReverb" in model_path else 48
model = CascadedNet(mp.param["bins"] * 2, nout)
cpk = torch.load(model_path, map_location="cpu")
@@ -224,7 +225,7 @@ class AudioPreDeEcho:
os.makedirs(ins_root, exist_ok=True)
if vocal_root is not None:
os.makedirs(vocal_root, exist_ok=True)
- X_wave, y_wave, X_spec_s, y_spec_s = {}, {}, {}, {}
+ X_wave, _y_wave, X_spec_s, _y_spec_s = {}, {}, {}, {}
bands_n = len(self.mp.param["band"])
# print(bands_n)
for d in range(bands_n, 0, -1):
@@ -288,7 +289,7 @@ class AudioPreDeEcho:
)
else:
wav_instrument = spec_utils.cmb_spectrogram_to_wave(y_spec_m, self.mp)
- logger.info("%s instruments done" % name)
+ logger.info(f"{name} instruments done")
if format in ["wav", "flac"]:
sf.write(
os.path.join(
@@ -306,8 +307,8 @@ class AudioPreDeEcho:
self.mp.param["sr"],
)
if os.path.exists(path):
- opt_format_path = path[:-4] + ".%s" % format
- cmd = 'ffmpeg -i "%s" -vn "%s" -q:a 2 -y' % (path, opt_format_path)
+ opt_format_path = path[:-4] + f".{format}"
+ cmd = f'ffmpeg -i "{path}" -vn "{opt_format_path}" -q:a 2 -y'
print(cmd)
os.system(cmd)
if os.path.exists(opt_format_path):
@@ -321,7 +322,7 @@ class AudioPreDeEcho:
wav_vocals = spec_utils.cmb_spectrogram_to_wave(v_spec_m, self.mp, input_high_end_h, input_high_end_)
else:
wav_vocals = spec_utils.cmb_spectrogram_to_wave(v_spec_m, self.mp)
- logger.info("%s vocals done" % name)
+ logger.info(f"{name} vocals done")
if format in ["wav", "flac"]:
sf.write(
os.path.join(
@@ -339,8 +340,8 @@ class AudioPreDeEcho:
self.mp.param["sr"],
)
if os.path.exists(path):
- opt_format_path = path[:-4] + ".%s" % format
- cmd = 'ffmpeg -i "%s" -vn "%s" -q:a 2 -y' % (path, opt_format_path)
+ opt_format_path = path[:-4] + f".{format}"
+ cmd = f'ffmpeg -i "{path}" -vn "{opt_format_path}" -q:a 2 -y'
print(cmd)
os.system(cmd)
if os.path.exists(opt_format_path):
diff --git a/tools/uvr5/webui.py b/gsv_tools/uvr5/webui.py
similarity index 92%
rename from tools/uvr5/webui.py
rename to gsv_tools/uvr5/webui.py
index f5f8d3f6..6f7f9fce 100644
--- a/tools/uvr5/webui.py
+++ b/gsv_tools/uvr5/webui.py
@@ -4,8 +4,9 @@ import traceback
import gradio as gr
-from tools.i18n.i18n import I18nAuto
-from tools.my_utils import clean_path
+from gsv_tools.i18n.i18n import I18nAuto
+from gsv_tools.my_utils import clean_path
+
i18n = I18nAuto()
@@ -18,7 +19,8 @@ from bsroformer import Roformer_Loader
from mdxnet import MDXNetDereverb
from vr import AudioPre, AudioPreDeEcho
-weight_uvr5_root = "tools/uvr5/uvr5_weights"
+
+weight_uvr5_root = "gsv_tools/uvr5/uvr5_weights"
uvr5_names = []
for name in os.listdir(weight_uvr5_root):
if name.endswith(".pth") or name.endswith(".ckpt") or "onnx" in name:
@@ -61,7 +63,7 @@ def uvr(model_name, inp_root, save_root_vocal, paths, save_root_ins, agg, format
)
if not os.path.exists(os.path.join(weight_uvr5_root, model_name + ".yaml")):
infos.append(
- "Warning: You are using a model without a configuration file. The program will automatically use the default configuration file. However, the default configuration file cannot guarantee that all models will run successfully. You can manually place the model configuration file into 'tools/uvr5/uvr5w_weights' and ensure that the configuration file is named as '.yaml' then try it again. (For example, the configuration file corresponding to the model 'bs_roformer_ep_368_sdr_12.9628.ckpt' should be 'bs_roformer_ep_368_sdr_12.9628.yaml'.) Or you can just ignore this warning."
+ "Warning: You are using a model without a configuration file. The program will automatically use the default configuration file. However, the default configuration file cannot guarantee that all models will run successfully. You can manually place the model configuration file into 'gsv_tools/uvr5/uvr5w_weights' and ensure that the configuration file is named as '.yaml' then try it again. (For example, the configuration file corresponding to the model 'bs_roformer_ep_368_sdr_12.9628.ckpt' should be 'bs_roformer_ep_368_sdr_12.9628.yaml'.) Or you can just ignore this warning."
)
yield "\n".join(infos)
else:
@@ -78,7 +80,7 @@ def uvr(model_name, inp_root, save_root_vocal, paths, save_root_ins, agg, format
paths = [path.name for path in paths]
for path in paths:
inp_path = os.path.join(inp_root, path)
- if os.path.isfile(inp_path) == False:
+ if not os.path.isfile(inp_path):
continue
need_reformat = 1
done = 0
@@ -92,7 +94,7 @@ def uvr(model_name, inp_root, save_root_vocal, paths, save_root_ins, agg, format
need_reformat = 1
traceback.print_exc()
if need_reformat == 1:
- tmp_path = "%s/%s.reformatted.wav" % (
+ tmp_path = "{}/{}.reformatted.wav".format(
os.path.join(os.environ["TEMP"]),
os.path.basename(inp_path),
)
@@ -101,10 +103,10 @@ def uvr(model_name, inp_root, save_root_vocal, paths, save_root_ins, agg, format
try:
if done == 0:
pre_fun._path_audio_(inp_path, save_root_ins, save_root_vocal, format0, is_hp3)
- infos.append("%s->Success" % (os.path.basename(inp_path)))
+ infos.append(f"{os.path.basename(inp_path)}->Success")
yield "\n".join(infos)
except:
- infos.append("%s->%s" % (os.path.basename(inp_path), traceback.format_exc()))
+ infos.append(f"{os.path.basename(inp_path)}->{traceback.format_exc()}")
yield "\n".join(infos)
except:
infos.append(traceback.format_exc())
diff --git a/install.ps1 b/install.ps1
index 7017524f..ff4580c9 100644
--- a/install.ps1
+++ b/install.ps1
@@ -1,9 +1,54 @@
+<#
+.SYNOPSIS
+Windows Installer for GPT-SoVITS
+
+.PARAMETER Device
+Device backend. Default: CU128
+
+.PARAMETER Source
+Download source. Default: HF
+
+.PARAMETER Update
+Update the GPT-SoVITS repository and UV Lock before installation
+
+.PARAMETER Verbose
+Enable verbose output during installation"
+
+.PARAMETER Sync
+Sync the uv.lock into the conda environment instead of installing from it
+
+.PARAMETER DownloadUVR5
+Enable UVR5 download.
+
+.PARAMETER Help
+Show help message.
+#>
+
+[CmdletBinding()]
Param (
- [Parameter(Mandatory=$true)][ValidateSet("CU126", "CU128", "CPU")][string]$Device,
- [Parameter(Mandatory=$true)][ValidateSet("HF", "HF-Mirror", "ModelScope")][string]$Source,
- [switch]$DownloadUVR5
+ [Parameter()][ValidateSet("CU126", "CU128", "CPU")]
+ [string]$Device = "CU128",
+
+ [Parameter()][ValidateSet("HF", "ModelScope")]
+ [string]$Source = "HF",
+
+ [switch]$Update,
+
+ [switch]$Verbose,
+
+ [switch]$Sync,
+
+ [switch]$DownloadUVR5,
+
+ [Alias("h", "help")]
+ [switch]$ShowHelp
)
+if ($ShowHelp) {
+ Get-Help $MyInvocation.MyCommand.Path -Full
+ exit
+}
+
$global:ErrorActionPreference = 'Stop'
trap {
@@ -40,11 +85,21 @@ function Write-Info($msg) {
Write-Host "[INFO]:" -ForegroundColor Green -NoNewline
Write-Host " $msg"
}
+function Write-Warning($msg) {
+ Write-Host "[Warning]:" -ForegroundColor Yellow -NoNewline
+ Write-Host " $msg"
+}
function Write-Success($msg) {
Write-Host "[SUCCESS]:" -ForegroundColor Blue -NoNewline
Write-Host " $msg"
}
+python -c "import sys; sys.exit(0 if sys.version_info >= (3,10) else 1)"
+if ($LASTEXITCODE -ne 0) {
+ Write-Error "Python version < 3.10"
+ exit 1
+}
+
function Invoke-Conda {
param (
@@ -52,7 +107,16 @@ function Invoke-Conda {
[string[]]$Args
)
- $output = & conda install -y -q -c conda-forge @Args 2>&1
+ if ($Verbose) {
+ & conda install -y -c conda-forge @Args
+ $exitCode = $LASTEXITCODE
+ if ($exitCode -ne 0) {
+ throw "Conda Install $Args Failed with exit code $exitCode"
+ }
+ return
+ }
+
+ $output = & conda install -y -c conda-forge @Args 2>&1
$exitCode = $LASTEXITCODE
if ($exitCode -ne 0) {
@@ -73,13 +137,22 @@ function Invoke-Conda {
}
}
-function Invoke-Pip {
+function Invoke-PIP {
param (
[Parameter(ValueFromRemainingArguments = $true)]
[string[]]$Args
)
+
+ if ($Verbose) {
+ & uv pip install @Args --python "$((Get-Command python).Source)"
+ $exitCode = $LASTEXITCODE
+ if ($exitCode -ne 0) {
+ throw "Pip Install $Args Failed with exit code $exitCode"
+ }
+ return
+ }
- $output = & pip install @Args 2>&1
+ $output = & uv pip install @Args --python "$((Get-Command python).Source)" 2>&1
$exitCode = $LASTEXITCODE
if ($exitCode -ne 0) {
@@ -100,6 +173,42 @@ function Invoke-Pip {
}
}
+function Invoke-Command {
+ param (
+ [Parameter(ValueFromRemainingArguments = $true)]
+ [string[]]$Args
+ )
+
+ if ($Verbose) {
+ & @Args
+ $exitCode = $LASTEXITCODE
+ if ($exitCode -ne 0) {
+ throw "Command $Args Failed with exit code $exitCode"
+ }
+ return
+ }
+
+ $output = & @Args 2>&1
+ $exitCode = $LASTEXITCODE
+
+ if ($exitCode -ne 0) {
+ $errorMessages = @()
+ Write-Host "Command $Args Failed" -ForegroundColor Red
+ foreach ($item in $output) {
+ if ($item -is [System.Management.Automation.ErrorRecord]) {
+ $msg = $item.Exception.Message
+ Write-Host "$msg" -ForegroundColor Red
+ $errorMessages += $msg
+ }
+ else {
+ Write-Host $item
+ $errorMessages += $item
+ }
+ }
+ throw [System.Exception]::new(($errorMessages -join "`n"))
+ }
+}
+
function Invoke-Download {
param (
[Parameter(Mandatory = $true)]
@@ -133,12 +242,26 @@ function Invoke-Unzip {
Remove-Item $ZipPath -Force
}
-chcp 65001
+$install_pkg = "ffmpeg cmake uv"
+
+if ($IsWindows) {
+ chcp 65001
+ $install_pkg = "$install_pkg vc14_runtime"
+}
Set-Location $PSScriptRoot
-Write-Info "Installing FFmpeg & CMake..."
-Invoke-Conda ffmpeg cmake
-Write-Success "FFmpeg & CMake Installed"
+
+if ($Update) {
+ Write-Info "Updating GPT-SoVITS Repository..."
+ git pull || {
+ Write-Warning "Git Pull Failed"
+ }
+ Write-Success "Repository Updated"
+}
+
+Write-Info "Installing FFmpeg & CMake and Some Other Tools..."
+Invoke-Conda $install_pkg
+Write-Success "FFmpeg, CMake, VC14 Runtime, uv Installed"
$PretrainedURL = ""
$G2PWURL = ""
@@ -155,14 +278,6 @@ switch ($Source) {
$NLTKURL = "https://huggingface.co/XXXXRT/GPT-SoVITS-Pretrained/resolve/main/nltk_data.zip"
$OpenJTalkURL = "https://huggingface.co/XXXXRT/GPT-SoVITS-Pretrained/resolve/main/open_jtalk_dic_utf_8-1.11.tar.gz"
}
- "HF-Mirror" {
- Write-Info "Download Model From HuggingFace-Mirror"
- $PretrainedURL = "https://hf-mirror.com/XXXXRT/GPT-SoVITS-Pretrained/resolve/main/pretrained_models.zip"
- $G2PWURL = "https://hf-mirror.com/XXXXRT/GPT-SoVITS-Pretrained/resolve/main/G2PWModel.zip"
- $UVR5URL = "https://hf-mirror.com/XXXXRT/GPT-SoVITS-Pretrained/resolve/main/uvr5_weights.zip"
- $NLTKURL = "https://hf-mirror.com/XXXXRT/GPT-SoVITS-Pretrained/resolve/main/nltk_data.zip"
- $OpenJTalkURL = "https://hf-mirror.com/XXXXRT/GPT-SoVITS-Pretrained/resolve/main/open_jtalk_dic_utf_8-1.11.tar.gz"
- }
"ModelScope" {
Write-Info "Download Model From ModelScope"
$PretrainedURL = "https://www.modelscope.cn/models/XXXXRT/GPT-SoVITS-Pretrained/resolve/master/pretrained_models.zip"
@@ -195,10 +310,10 @@ if (-not (Test-Path "GPT_SoVITS/text/G2PWModel")) {
}
if ($DownloadUVR5) {
- if (-not (Test-Path "tools/uvr5/uvr5_weights")) {
+ if (-not (Test-Path "gsv_tools/uvr5/uvr5_weights")) {
Write-Info "Downloading UVR5 Models..."
Invoke-Download -Uri $UVR5URL -OutFile "uvr5_weights.zip"
- Invoke-Unzip "uvr5_weights.zip" "tools/uvr5"
+ Invoke-Unzip "uvr5_weights.zip" "gsv_tools/uvr5"
Write-Success "UVR5 Models Downloaded"
} else {
Write-Info "UVR5 Models Exists"
@@ -208,23 +323,54 @@ if ($DownloadUVR5) {
switch ($Device) {
"CU128" {
+ $cudaLine = nvidia-smi | Select-String "CUDA Version"
+ $version = ($cudaLine -split "CUDA Version:")[1].Trim()
+ Write-Info "Maximum CUDA Version Supported By Current Driver: $version"
+ if ([version](nvidia-smi | Select-String "CUDA Version" | ForEach-Object { ($_ -split "CUDA Version:")[1].Trim() }) -ge [version]"12.0") {
+ Write-Warning "CUDA 12.8 Is Not Supported By Current Driver"
+ }
Write-Info "Installing PyTorch For CUDA 12.8..."
- Invoke-Pip torch torchcodec --index-url "https://download.pytorch.org/whl/cu128"
+ Invoke-PIP ".[cu128]"
+ Invoke-Conda cuda-nvcc=12.8
+ Write-Info "Installing Flash Attn..."
+ Invoke-PIP ".[flash-attn]"
+ Write-Success "Flash Attn Installed"
+ $Extra = "cu128"
}
"CU126" {
+ $cudaLine = nvidia-smi | Select-String "CUDA Version"
+ $version = ($cudaLine -split "CUDA Version:")[1].Trim()
+ Write-Info "Maximum CUDA Version Supported By Current Driver: $version"
+ if ([version](nvidia-smi | Select-String "CUDA Version" | ForEach-Object { ($_ -split "CUDA Version:")[1].Trim() }) -ge [version]"12.0") {
+ Write-Warning "CUDA 12.6 Is Not Supported By Current Driver"
+ }
Write-Info "Installing PyTorch For CUDA 12.6..."
- Invoke-Pip torch torchcodec --index-url "https://download.pytorch.org/whl/cu126"
+ Invoke-PIP ".[cu126]"
+ Invoke-Conda cuda-nvcc=12.6
+ Write-Info "Installing Flash Attn..."
+ Invoke-PIP ".[flash-attn]"
+ Write-Success "Flash Attn Installed"
+ $Extra = "cu126"
}
"CPU" {
Write-Info "Installing PyTorch For CPU..."
- Invoke-Pip torch torchcodec --index-url "https://download.pytorch.org/whl/cpu"
+ Invoke-PIP ".[cpu]"
+ $Extra = "cpu"
}
}
+
Write-Success "PyTorch Installed"
Write-Info "Installing Python Dependencies From requirements.txt..."
-Invoke-Pip -r extra-req.txt --no-deps
-Invoke-Pip -r requirements.txt
+Invoke-Command uv export --extra=main --extra="$Extra" -o pylock.toml
+
+if ($Sync) {
+ Write-Info "Syncing UV Environment..."
+ Invoke-Command uv pip sync pylock.toml --no-break-system-packages --preview-features pylock
+} else {
+ Invoke-Command uv pip install -r pylock.toml --preview-features pylock
+}
+
Write-Success "Python Dependencies Installed"
Write-Info "Downloading NLTK Data..."
diff --git a/install.sh b/install.sh
index da0fb839..e3ca4efd 100644
--- a/install.sh
+++ b/install.sh
@@ -32,44 +32,77 @@ on_error() {
}
run_conda_quiet() {
+ if [ "$VERBOSE" = true ]; then
+ conda install --yes -c conda-forge "$@"
+ return
+ fi
local output
output=$(conda install --yes --quiet -c conda-forge "$@" 2>&1) || {
- echo -e "${ERROR} Conda install failed:\n$output"
+ echo -e "${ERROR}Conda install failed:\n$output"
exit 1
}
}
run_pip_quiet() {
+ if [ "$VERBOSE" = true ]; then
+ uv pip install "$@" --python "$(which python)"
+ return
+ fi
local output
- output=$(pip install "$@" 2>&1) || {
- echo -e "${ERROR} Pip install failed:\n$output"
+ output=$(uv pip install "$@" --python "$(which python)" 2>&1) || {
+ echo -e "${ERROR}UV PIP install failed:\n$output"
exit 1
}
}
run_wget_quiet() {
+ if [ "$VERBOSE" = true ]; then
+ wget --tries=25 --wait=5 --read-timeout=40 --show-progress "$@"
+ return
+ fi
if wget --tries=25 --wait=5 --read-timeout=40 -q --show-progress "$@" 2>&1; then
- if [ "$WORKFLOW" = "false" ]; then
- tput cuu1 && tput el
- fi
+ tput cuu1 && tput el
else
- echo -e "${ERROR} Wget failed"
+ echo -e "${ERROR}Wget failed"
exit 1
fi
}
+run_quiet() {
+ if [ "$VERBOSE" = true ]; then
+ "$@"
+ return
+ fi
+ local output
+ output=$("$@" 2>&1) || {
+ echo -e "${ERROR}Command failed:\n$output"
+ exit 1
+ }
+}
+
if ! command -v conda &>/dev/null; then
echo -e "${ERROR}Conda Not Found"
exit 1
fi
-USE_CUDA=false
+UPDATE=false
+USE_CUDA=true
+USE_MLX=false
USE_ROCM=false
USE_CPU=false
+CUDA=128
+EXTRA=cu128
+Sync=false
+VERBOSE=false
WORKFLOW=${WORKFLOW:-"false"}
-USE_HF=false
-USE_HF_MIRROR=false
+if [ "$(uname)" = "Darwin" ]; then
+ USE_MLX=true
+ EXTRA=mlx
+ USE_CUDA=false
+fi
+
+USE_HF=true
USE_MODELSCOPE=false
DOWNLOAD_UVR5=false
@@ -77,67 +110,80 @@ print_help() {
echo "Usage: bash install.sh [OPTIONS]"
echo ""
echo "Options:"
- echo " --device CU126|CU128|ROCM|MPS|CPU Specify the Device (REQUIRED)"
- echo " --source HF|HF-Mirror|ModelScope Specify the model source (REQUIRED)"
- echo " --download-uvr5 Enable downloading the UVR5 model"
- echo " -h, --help Show this help message and exit"
+ echo " -D, --device CU126|CU128|ROCM|MLX|CPU Specify the Device (Optional, default: CU128 on Linux, MLX on macOS)"
+ echo " -S, --source HF|ModelScope Specify the model source (Optional, default: HF)"
+ echo " -U, --update Update the GPT-SoVITS repository and UV Lock before installation"
+ echo " -V, --verbose Enable verbose output during installation"
+ echo " --sync Sync the uv.lock into the conda environment instead of installing from it"
+ echo " --download-uvr5 Enable downloading the UVR5 model"
+ echo " -h, --help Show this help message and exit"
echo ""
echo "Examples:"
- echo " bash install.sh --device CU128 --source HF --download-uvr5"
- echo " bash install.sh --device MPS --source ModelScope"
+ echo " bash install.sh --update"
+ echo " bash install.sh --device MLX --source HF --download-uvr5"
}
-# Show help if no arguments provided
-if [[ $# -eq 0 ]]; then
- print_help
- exit 0
+if ! python3 -c "import sys; sys.exit(0 if sys.version_info >= (3,10) else 1)"; then
+ echo -e "${ERROR}Python version < 3.10"
+ exit 1
fi
# Parse arguments
while [[ $# -gt 0 ]]; do
case "$1" in
- --source)
+ -s | -S | --source | --Source)
case "$2" in
- HF)
+ HF | hf | HuggingFace | huggingface)
USE_HF=true
;;
- HF-Mirror)
- USE_HF_MIRROR=true
- ;;
- ModelScope)
+ ModelScope | modelscope | MS | ms)
USE_MODELSCOPE=true
+ USE_HF=false
;;
*)
- echo -e "${ERROR}Error: Invalid Download Source: $2"
- echo -e "${ERROR}Choose From: [HF, HF-Mirror, ModelScope]"
- exit 1
+ USE_HF=true
+ echo -e "${WARNING}Invalid or Empty Download Source: $2"
+ echo -e "${WARNING}Fallback to: HF"
;;
esac
shift 2
;;
- --device)
+ -d | -D | --device | --Device)
case "$2" in
- CU126)
+ CU126 | cu126)
CUDA=126
USE_CUDA=true
+ EXTRA=cu126
;;
- CU128)
+ CU128 | cu128)
CUDA=128
USE_CUDA=true
+ EXTRA=cu128
;;
- ROCM)
+ ROCM | rocm)
USE_ROCM=true
+ USE_CUDA=false
+ USE_MLX=false
+ EXTRA=rocm
;;
- MPS)
- USE_CPU=true
+ MLX | mlx)
+ USE_MLX=true
+ USE_CUDA=false
+ EXTRA=mlx
;;
- CPU)
+ CPU | cpu)
USE_CPU=true
+ USE_CUDA=false
+ USE_MLX=false
+ EXTRA=cpu
;;
*)
- echo -e "${ERROR}Error: Invalid Device: $2"
- echo -e "${ERROR}Choose From: [CU126, CU128, ROCM, MPS, CPU]"
- exit 1
+ echo -e "${WARNING}Invalid or Empty Device: $2"
+ if [ "$(uname)" != "Darwin" ]; then
+ echo -e "${WARNING}Fallback to: CU128"
+ else
+ echo -e "${WARNING}Fallback to: MLX"
+ fi
;;
esac
shift 2
@@ -146,28 +192,42 @@ while [[ $# -gt 0 ]]; do
DOWNLOAD_UVR5=true
shift
;;
+ -u | -U | --update | --Update)
+ UPDATE=true
+ shift
+ ;;
+ -v | -V | --verbose | --Verbose)
+ VERBOSE=true
+ shift
+ ;;
+ --sync | --Sync)
+ Sync=true
+ shift
+ ;;
-h | --help)
print_help
exit 0
;;
- *)
- echo -e "${ERROR}Unknown Argument: $1"
- echo ""
- print_help
- exit 1
- ;;
esac
done
-if ! $USE_CUDA && ! $USE_ROCM && ! $USE_CPU; then
- echo -e "${ERROR}Error: Device is REQUIRED"
+if [ "$UPDATE" = true ]; then
+ echo -e "${INFO}Updating GPT-SoVITS Repository..."
+ git pull || {
+ echo -e "${WARNING}Git Pull Failed"
+ }
+ echo -e "${SUCCESS}Repository Updated"
+fi
+
+if ! $USE_CUDA && ! $USE_ROCM && ! $USE_MLX && ! $USE_CPU; then
+ echo -e "${ERROR}Device is REQUIRED"
echo ""
print_help
exit 1
fi
-if ! $USE_HF && ! $USE_HF_MIRROR && ! $USE_MODELSCOPE; then
- echo -e "${ERROR}Error: Download Source is REQUIRED"
+if ! $USE_HF && ! $USE_MODELSCOPE; then
+ echo -e "${ERROR}Download Source is REQUIRED"
echo ""
print_help
exit 1
@@ -176,7 +236,6 @@ fi
case "$(uname -m)" in
x86_64 | amd64) SYSROOT_PKG="sysroot_linux-64>=2.28" ;;
aarch64 | arm64) SYSROOT_PKG="sysroot_linux-aarch64>=2.28" ;;
-ppc64le) SYSROOT_PKG="sysroot_linux-ppc64le>=2.28" ;;
*)
echo "Unsupported architecture: $(uname -m)"
exit 1
@@ -189,7 +248,7 @@ if [ "$(uname)" != "Darwin" ]; then
gcc_major_version=$(command -v gcc >/dev/null 2>&1 && gcc -dumpversion | cut -d. -f1 || echo 0)
if [ "$gcc_major_version" -lt 11 ]; then
echo -e "${INFO}Installing GCC & G++..."
- run_conda_quiet gcc=11 gxx=11
+ run_conda_quiet gcc gxx binutils
run_conda_quiet "$SYSROOT_PKG"
echo -e "${SUCCESS}GCC & G++ Installed..."
else
@@ -217,19 +276,15 @@ else
else
XCODE_PATH=$(xcode-select -p)
if [[ "$XCODE_PATH" == *"Xcode.app"* ]]; then
- echo -e "${WARNING} Detected Xcode path: $XCODE_PATH"
- echo -e "${WARNING} If your Xcode version does not match your macOS version, it may cause unexpected issues during compilation or package builds."
+ echo -e "${WARNING}Detected Xcode path: $XCODE_PATH"
+ echo -e "${WARNING}If your Xcode version does not match your macOS version, it may cause unexpected issues during compilation or package builds."
fi
fi
fi
-echo -e "${INFO}Installing FFmpeg & CMake..."
-run_conda_quiet ffmpeg cmake make
-echo -e "${SUCCESS}FFmpeg & CMake Installed"
-
-echo -e "${INFO}Installing unzip..."
-run_conda_quiet unzip
-echo -e "${SUCCESS}unzip Installed"
+echo -e "${INFO}Installing FFmpeg & CMake and Some Other Tools..."
+run_conda_quiet ffmpeg cmake make pkg-config uv unzip
+echo -e "${SUCCESS}FFmpeg, CMake, Make, UnZip, pkg-config, uv Installed"
if [ "$USE_HF" = "true" ]; then
echo -e "${INFO}Download Model From HuggingFace"
@@ -238,13 +293,6 @@ if [ "$USE_HF" = "true" ]; then
UVR5_URL="https://huggingface.co/XXXXRT/GPT-SoVITS-Pretrained/resolve/main/uvr5_weights.zip"
NLTK_URL="https://huggingface.co/XXXXRT/GPT-SoVITS-Pretrained/resolve/main/nltk_data.zip"
PYOPENJTALK_URL="https://huggingface.co/XXXXRT/GPT-SoVITS-Pretrained/resolve/main/open_jtalk_dic_utf_8-1.11.tar.gz"
-elif [ "$USE_HF_MIRROR" = "true" ]; then
- echo -e "${INFO}Download Model From HuggingFace-Mirror"
- PRETRINED_URL="https://hf-mirror.com/XXXXRT/GPT-SoVITS-Pretrained/resolve/main/pretrained_models.zip"
- G2PW_URL="https://hf-mirror.com/XXXXRT/GPT-SoVITS-Pretrained/resolve/main/G2PWModel.zip"
- UVR5_URL="https://hf-mirror.com/XXXXRT/GPT-SoVITS-Pretrained/resolve/main/uvr5_weights.zip"
- NLTK_URL="https://hf-mirror.com/XXXXRT/GPT-SoVITS-Pretrained/resolve/main/nltk_data.zip"
- PYOPENJTALK_URL="https://hf-mirror.com/XXXXRT/GPT-SoVITS-Pretrained/resolve/main/open_jtalk_dic_utf_8-1.11.tar.gz"
elif [ "$USE_MODELSCOPE" = "true" ]; then
echo -e "${INFO}Download Model From ModelScope"
PRETRINED_URL="https://www.modelscope.cn/models/XXXXRT/GPT-SoVITS-Pretrained/resolve/master/pretrained_models.zip"
@@ -281,7 +329,7 @@ else
fi
if [ "$DOWNLOAD_UVR5" = "true" ]; then
- if find -L "tools/uvr5/uvr5_weights" -mindepth 1 ! -name '.gitignore' | grep -q .; then
+ if find -L "gsv_tools/uvr5/uvr5_weights" -mindepth 1 ! -name '.gitignore' | grep -q .; then
echo -e"${INFO}UVR5 Models Exists"
echo -e "${INFO}Skip Downloading UVR5 Models"
else
@@ -289,20 +337,21 @@ if [ "$DOWNLOAD_UVR5" = "true" ]; then
rm -rf uvr5_weights.zip
run_wget_quiet "$UVR5_URL"
- unzip -q -o uvr5_weights.zip -d tools/uvr5
+ unzip -q -o uvr5_weights.zip -d gsv_tools/uvr5
rm -rf uvr5_weights.zip
echo -e "${SUCCESS}UVR5 Models Downloaded"
fi
fi
+NVIDIA_DRIVER=false
if [ "$USE_CUDA" = true ] && [ "$WORKFLOW" = false ]; then
echo -e "${INFO}Checking For Nvidia Driver Installation..."
if command -v nvidia-smi &>/dev/null; then
- echo "${INFO}Nvidia Driver Founded"
+ echo -e "${INFO}Nvidia Driver Founded"
+ NVIDIA_DRIVER=true
else
- echo -e "${WARNING}Nvidia Driver Not Found, Fallback to CPU"
- USE_CUDA=false
- USE_CPU=true
+ echo -e "${WARNING}Nvidia Driver Not Found"
+ NVIDIA_DRIVER=false
fi
fi
@@ -323,20 +372,48 @@ if [ "$USE_ROCM" = true ] && [ "$WORKFLOW" = false ]; then
fi
fi
+if [ "$UPDATE" = true ]; then
+ echo -e "${INFO}Updating UV Lock..."
+ uv lock -U
+ echo -e "${SUCCESS}UV Environment Updated"
+fi
+
if [ "$USE_CUDA" = true ] && [ "$WORKFLOW" = false ]; then
- if [ "$CUDA" = 128 ]; then
- echo -e "${INFO}Installing PyTorch For CUDA 12.8..."
- run_pip_quiet torch torchcodec --index-url "https://download.pytorch.org/whl/cu128"
- elif [ "$CUDA" = 126 ]; then
- echo -e "${INFO}Installing PyTorch For CUDA 12.6..."
- run_pip_quiet torch torchcodec --index-url "https://download.pytorch.org/whl/cu126"
+ if [ "$NVIDIA_DRIVER" = false ]; then
+ CUDAVERSION="0.0"
+ else
+ CUDAVERSION=$(nvidia-smi | grep "CUDA Version" | sed -E 's/.*CUDA Version: ([0-9]+\.[0-9]+).*/\1/')
fi
+
+ echo -e "${INFO}Maximum CUDA Version Supported By Current Driver: $CUDAVERSION"
+ if [ "$CUDA" = 128 ]; then
+ if awk "BEGIN {exit !($CUDAVERSION < 12.0)}"; then
+ echo -e "${WARNING}CUDA 12.8 Is Not Supported By Current Driver"
+ fi
+ echo -e "${INFO}Installing PyTorch For CUDA 12.8..."
+ run_pip_quiet ".[cu128]"
+ run_conda_quiet cuda-nvcc=12.8
+ elif [ "$CUDA" = 126 ]; then
+ if awk "BEGIN {exit !($CUDAVERSION < 12.0)}"; then
+ echo -e "${WARNING}CUDA 12.6 Is Not Supported By Current Driver"
+ fi
+ echo -e "${INFO}Installing PyTorch For CUDA 12.6..."
+ run_pip_quiet ".[cu126]"
+ run_conda_quiet cuda-nvcc=12.6
+ fi
+
+ echo -e "${INFO}Installing Flash Attn"
+ run_pip_quiet ".[flash-attn]"
+ echo -e "${SUCCESS}Flash Attn Installed"
+elif [ "$USE_MLX" = true ] && [ "$WORKFLOW" = false ]; then
+ echo -e "${INFO}Installing MLX & PyTorch..."
+ run_pip_quiet ".[mlx]"
elif [ "$USE_ROCM" = true ] && [ "$WORKFLOW" = false ]; then
echo -e "${INFO}Installing PyTorch For ROCm 6.2..."
- run_pip_quiet torch torchcodec --index-url "https://download.pytorch.org/whl/rocm6.2"
+ run_pip_quiet ".[rocm64]"
elif [ "$USE_CPU" = true ] && [ "$WORKFLOW" = false ]; then
echo -e "${INFO}Installing PyTorch For CPU..."
- run_pip_quiet torch torchcodec --index-url "https://download.pytorch.org/whl/cpu"
+ run_pip_quiet ".[cpu]"
elif [ "$WORKFLOW" = false ]; then
echo -e "${ERROR}Unknown Err"
exit 1
@@ -345,11 +422,14 @@ echo -e "${SUCCESS}PyTorch Installed"
echo -e "${INFO}Installing Python Dependencies From requirements.txt..."
-hash -r
+run_quiet uv export --extra=main --extra="$EXTRA" -o pylock.toml
-run_pip_quiet -r extra-req.txt --no-deps
-
-run_pip_quiet -r requirements.txt
+if [ "$Sync" = true ]; then
+ echo -e "${INFO}Syncing UV Environment..."
+ run_quiet uv pip sync pylock.toml --no-break-system-packages --preview-features pylock
+else
+ run_quiet uv pip install -r pylock.toml --preview-features pylock
+fi
echo -e "${SUCCESS}Python Dependencies Installed"
diff --git a/pyproject.toml b/pyproject.toml
new file mode 100644
index 00000000..ee3cd0a4
--- /dev/null
+++ b/pyproject.toml
@@ -0,0 +1,167 @@
+[build-system]
+requires = ["hatchling", "hatch-requirements-txt"]
+build-backend = "hatchling.build"
+
+[project]
+name = "GPT-SoVITS-Meta"
+description = "GPT-SoVITS: A Powerful Few-shot Text-to-Speech Project"
+version = "5.0.0.dev0+V2Pro"
+authors = [{ name = "RVC-Boss" }]
+license = { file = "LICENSE" }
+readme = "README.md"
+classifiers = [
+ "Development Status :: 5 - Production/Stable",
+
+ "Intended Audience :: Science/Research",
+ "Intended Audience :: Developers",
+
+ "Topic :: Scientific/Engineering",
+ "Topic :: Scientific/Engineering :: Artificial Intelligence",
+
+ "Natural Language :: English",
+ "Natural Language :: Chinese (Simplified)",
+
+ "Operating System :: OS Independent",
+
+ "Programming Language :: Python :: 3 :: Only",
+ "Programming Language :: Python :: 3.10",
+ "Programming Language :: Python :: 3.11",
+ "Programming Language :: Python :: 3.12",
+]
+
+requires-python = ">=3.10,<3.14"
+dependencies = [
+ "pre-commit",
+ "pip",
+ "ninja",
+ "cmake",
+ "cython",
+ "setuptools",
+ "wheel",
+ "build",
+]
+dynamic = ["optional-dependencies"]
+
+[project.urls]
+Homepage = "https://github.com/RVC-Boss/GPT-SoVITS"
+Repository = "https://github.com/RVC-Boss/GPT-SoVITS.git"
+
+[tool.hatch.metadata.hooks.requirements_txt.optional-dependencies]
+flash-attn = ["requirements/requirements.flash-attn.txt"]
+cpu = ["requirements/requirements.torch.txt"]
+cu126 = ["requirements/requirements.torch.txt"]
+cu128 = ["requirements/requirements.torch.txt"]
+rocm64 = ["requirements/requirements.torch.txt", "requirements/requirements.torch.rocm.txt"]
+mlx = ["requirements/requirements.mlx.txt", "requirements/requirements.torch.txt"]
+main = ["requirements/requirements.main.txt"]
+
+
+[tool.hatch.build.targets.wheel]
+ bypass-selection = true
+
+[tool.uv]
+upgrade = true
+no-build-isolation-package = ["flash-attn"]
+conflicts = [
+ [
+ { extra = "cpu" },
+ { extra = "cu126" },
+ { extra = "cu128" },
+ { extra = "rocm64" },
+ { extra = "mlx" },
+ ],
+]
+dependency-metadata = [
+ { name = "faster-whisper", requires-dist = [], requires-python = ">=3.10" },
+]
+
+[tool.uv.pip]
+no-binary = ["opencc"]
+
+[tool.uv.sources]
+torch = [
+ { index = "pytorch-cpu", extra = "cpu" },
+ { index = "pytorch-cu126", extra = "cu126" },
+ { index = "pytorch-cu128", extra = "cu128" },
+ { index = "pytorch-rocm", extra = "rocm64" },
+ { index = "pytorch-cpu", extra = "mlx", marker = "sys_platform == 'darwin'" },
+ { index = "pytorch-cu129", extra = "mlx", marker = "sys_platform != 'darwin'" },
+]
+flash-attn = [
+ { index = "XXXXRT" },
+]
+torchao = [
+ { index = "pytorch-cpu" },
+]
+torchcodec = [
+ { index = "pytorch-cpu", extra = "cpu", marker = "sys_platform != 'linux' or platform_machine != 'aarch64'" },
+ { index = "pytorch-cu128", extra = "cpu", marker = "sys_platform == 'linux' and platform_machine == 'aarch64'" },
+ { index = "pytorch-cu126", extra = "cu126" },
+ { index = "pytorch-cu128", extra = "cu128" },
+ { index = "pytorch-cu128", extra = "rocm64" },
+ { index = "pytorch-cpu", extra = "mlx", marker = "sys_platform == 'darwin'" },
+ { index = "pytorch-cu129", extra = "mlx", marker = "sys_platform != 'darwin'" },
+] # We don't have 0.10.0 cpu wheels for aarch64 Linux, so we use the cu128 ones which are compatible with CPU
+torchaudio = [
+ { index = "pytorch-cpu" },
+]
+pytorch-triton-rocm = { index = "pytorch-rocm" }
+
+[[tool.uv.index]]
+name = "pytorch-cpu"
+url = "https://download.pytorch.org/whl/cpu"
+explicit = true
+
+[[tool.uv.index]]
+name = "pytorch-cu126"
+url = "https://download.pytorch.org/whl/cu126"
+explicit = true
+
+[[tool.uv.index]]
+name = "pytorch-cu128"
+url = "https://download.pytorch.org/whl/cu128"
+explicit = true
+
+[[tool.uv.index]]
+name = "pytorch-cu129"
+url = "https://download.pytorch.org/whl/cu129"
+explicit = true
+
+[[tool.uv.index]]
+name = "pytorch-rocm"
+url = "https://download.pytorch.org/whl/rocm6.4"
+explicit = true
+
+[[tool.uv.index]]
+name = "XXXXRT"
+url = "https://xxxxrt666.github.io/PIP-Index"
+explicit = true
+
+[tool.ruff]
+target-version = "py310"
+line-length = 120
+fix = true
+show-fixes = true
+
+[tool.ruff.lint]
+select = [
+ "B", # flake8-bugbear
+ "E", # pycodestyle error
+ "F", # pyflakes
+ "I", # isort
+ "UP", # pyupgrade
+ "W", # pycodestyle warning
+]
+
+[tool.ruff.lint.isort]
+lines-after-imports = 2
+known-first-party = ["GPT_SoVITS", "gsv_tools"]
+combine-as-imports = true
+
+[tool.mypy]
+python_version = "3.10"
+show_error_codes = true
+pretty = true
+disallow_untyped_defs = false
+ignore_missing_imports = true
+check_untyped_defs = true
\ No newline at end of file
diff --git a/requirements.txt b/requirements.txt
deleted file mode 100644
index 3b7cd898..00000000
--- a/requirements.txt
+++ /dev/null
@@ -1,43 +0,0 @@
---no-binary=opencc
-numpy<2.0
-scipy
-tensorboard
-librosa==0.10.2
-numba
-pytorch-lightning>=2.4
-gradio<5
-ffmpeg-python
-onnxruntime; platform_machine == "aarch64" or platform_machine == "arm64"
-onnxruntime-gpu; platform_machine == "x86_64" or platform_machine == "AMD64"
-tqdm
-funasr==1.0.27
-cn2an
-pypinyin
-pyopenjtalk>=0.4.1
-g2p_en
-torchaudio
-modelscope
-sentencepiece
-transformers>=4.43,<=4.50
-peft<0.18.0
-chardet
-PyYAML
-psutil
-jieba_fast
-jieba
-split-lang
-fast_langdetect>=0.3.1
-wordsegment
-rotary_embedding_torch
-ToJyutping
-g2pk2
-ko_pron
-opencc
-python_mecab_ko; sys_platform != 'win32'
-fastapi[standard]>=0.115.2
-x_transformers
-torchmetrics<=1.5
-pydantic<=2.10.6
-ctranslate2>=4.0,<5
-av>=11
-tqdm
diff --git a/requirements/requirements.flash-attn.txt b/requirements/requirements.flash-attn.txt
new file mode 100644
index 00000000..4cdb8a2b
--- /dev/null
+++ b/requirements/requirements.flash-attn.txt
@@ -0,0 +1,3 @@
+flash-attn; sys_platform != 'darwin'
+psutil
+packaging
\ No newline at end of file
diff --git a/requirements/requirements.main.txt b/requirements/requirements.main.txt
new file mode 100644
index 00000000..457da4b5
--- /dev/null
+++ b/requirements/requirements.main.txt
@@ -0,0 +1,38 @@
+cn2an
+fastapi[standard]
+faster-whisper
+ffmpeg-python
+funasr
+g2pk2
+g2p-en
+jieba-fast
+kernels
+ko-pron
+modelscope
+opencc
+peft
+py-cpuinfo
+pypinyin
+pytorch-lightning
+rich-argparse
+split-lang
+torchaudio
+transformers
+tensorboard
+ToJyutping
+wordsegment
+x-transformers
+
+onnxruntime; python_version > "3.10" and (platform_machine == "aarch64" or platform_machine == "arm64")
+onnxruntime<1.24; python_version < "3.11" and (platform_machine == "aarch64" or platform_machine == "arm64")
+onnxruntime-gpu; python_version > "3.10" and (platform_machine == "x86_64" or platform_machine == "AMD64")
+onnxruntime-gpu<1.24; python_version < "3.11" and (platform_machine == "x86_64" or platform_machine == "AMD64")
+python-mecab-ko-py313; sys_platform != "win32"
+eunjeon; sys_platform == "win32"
+
+av>=11
+ctranslate2>=4.0,<5
+gradio<5.50
+librosa~=0.10
+matplotlib>=3.10
+pyopenjtalk>=0.4.1
diff --git a/requirements/requirements.mlx.txt b/requirements/requirements.mlx.txt
new file mode 100644
index 00000000..6d05fe26
--- /dev/null
+++ b/requirements/requirements.mlx.txt
@@ -0,0 +1,4 @@
+mlx[cuda12]; sys_platform == "linux" and platform_machine == "x86_64"
+mlx[cpu]; sys_platform == "win32"
+mlx; sys_platform == "darwin" and platform_machine == "arm64"
+mlx-whisper; platform_machine != "aarch64" and sys_platform != "linux"
\ No newline at end of file
diff --git a/requirements/requirements.torch.rocm.txt b/requirements/requirements.torch.rocm.txt
new file mode 100644
index 00000000..95723ca9
--- /dev/null
+++ b/requirements/requirements.torch.rocm.txt
@@ -0,0 +1 @@
+pytorch-triton-rocm
\ No newline at end of file
diff --git a/requirements/requirements.torch.txt b/requirements/requirements.torch.txt
new file mode 100644
index 00000000..8732cf94
--- /dev/null
+++ b/requirements/requirements.torch.txt
@@ -0,0 +1,3 @@
+torch>2.6
+torchaudio
+torchcodec
\ No newline at end of file
diff --git a/tools/uvr5/lib/lib_v5/dataset.py b/tools/uvr5/lib/lib_v5/dataset.py
deleted file mode 100644
index 1a30eec7..00000000
--- a/tools/uvr5/lib/lib_v5/dataset.py
+++ /dev/null
@@ -1,167 +0,0 @@
-import os
-import random
-
-import numpy as np
-import torch
-import torch.utils.data
-from tqdm import tqdm
-
-from . import spec_utils
-
-
-class VocalRemoverValidationSet(torch.utils.data.Dataset):
- def __init__(self, patch_list):
- self.patch_list = patch_list
-
- def __len__(self):
- return len(self.patch_list)
-
- def __getitem__(self, idx):
- path = self.patch_list[idx]
- data = np.load(path)
-
- X, y = data["X"], data["y"]
-
- X_mag = np.abs(X)
- y_mag = np.abs(y)
-
- return X_mag, y_mag
-
-
-def make_pair(mix_dir, inst_dir):
- input_exts = [".wav", ".m4a", ".mp3", ".mp4", ".flac"]
-
- X_list = sorted(
- [os.path.join(mix_dir, fname) for fname in os.listdir(mix_dir) if os.path.splitext(fname)[1] in input_exts]
- )
- y_list = sorted(
- [os.path.join(inst_dir, fname) for fname in os.listdir(inst_dir) if os.path.splitext(fname)[1] in input_exts]
- )
-
- filelist = list(zip(X_list, y_list))
-
- return filelist
-
-
-def train_val_split(dataset_dir, split_mode, val_rate, val_filelist):
- if split_mode == "random":
- filelist = make_pair(
- os.path.join(dataset_dir, "mixtures"),
- os.path.join(dataset_dir, "instruments"),
- )
-
- random.shuffle(filelist)
-
- if len(val_filelist) == 0:
- val_size = int(len(filelist) * val_rate)
- train_filelist = filelist[:-val_size]
- val_filelist = filelist[-val_size:]
- else:
- train_filelist = [pair for pair in filelist if list(pair) not in val_filelist]
- elif split_mode == "subdirs":
- if len(val_filelist) != 0:
- raise ValueError("The `val_filelist` option is not available in `subdirs` mode")
-
- train_filelist = make_pair(
- os.path.join(dataset_dir, "training/mixtures"),
- os.path.join(dataset_dir, "training/instruments"),
- )
-
- val_filelist = make_pair(
- os.path.join(dataset_dir, "validation/mixtures"),
- os.path.join(dataset_dir, "validation/instruments"),
- )
-
- return train_filelist, val_filelist
-
-
-def augment(X, y, reduction_rate, reduction_mask, mixup_rate, mixup_alpha):
- perm = np.random.permutation(len(X))
- for i, idx in enumerate(tqdm(perm)):
- if np.random.uniform() < reduction_rate:
- y[idx] = spec_utils.reduce_vocal_aggressively(X[idx], y[idx], reduction_mask)
-
- if np.random.uniform() < 0.5:
- # swap channel
- X[idx] = X[idx, ::-1]
- y[idx] = y[idx, ::-1]
- if np.random.uniform() < 0.02:
- # mono
- X[idx] = X[idx].mean(axis=0, keepdims=True)
- y[idx] = y[idx].mean(axis=0, keepdims=True)
- if np.random.uniform() < 0.02:
- # inst
- X[idx] = y[idx]
-
- if np.random.uniform() < mixup_rate and i < len(perm) - 1:
- lam = np.random.beta(mixup_alpha, mixup_alpha)
- X[idx] = lam * X[idx] + (1 - lam) * X[perm[i + 1]]
- y[idx] = lam * y[idx] + (1 - lam) * y[perm[i + 1]]
-
- return X, y
-
-
-def make_padding(width, cropsize, offset):
- left = offset
- roi_size = cropsize - left * 2
- if roi_size == 0:
- roi_size = cropsize
- right = roi_size - (width % roi_size) + left
-
- return left, right, roi_size
-
-
-def make_training_set(filelist, cropsize, patches, sr, hop_length, n_fft, offset):
- len_dataset = patches * len(filelist)
-
- X_dataset = np.zeros((len_dataset, 2, n_fft // 2 + 1, cropsize), dtype=np.complex64)
- y_dataset = np.zeros((len_dataset, 2, n_fft // 2 + 1, cropsize), dtype=np.complex64)
-
- for i, (X_path, y_path) in enumerate(tqdm(filelist)):
- X, y = spec_utils.cache_or_load(X_path, y_path, sr, hop_length, n_fft)
- coef = np.max([np.abs(X).max(), np.abs(y).max()])
- X, y = X / coef, y / coef
-
- l, r, roi_size = make_padding(X.shape[2], cropsize, offset)
- X_pad = np.pad(X, ((0, 0), (0, 0), (l, r)), mode="constant")
- y_pad = np.pad(y, ((0, 0), (0, 0), (l, r)), mode="constant")
-
- starts = np.random.randint(0, X_pad.shape[2] - cropsize, patches)
- ends = starts + cropsize
- for j in range(patches):
- idx = i * patches + j
- X_dataset[idx] = X_pad[:, :, starts[j] : ends[j]]
- y_dataset[idx] = y_pad[:, :, starts[j] : ends[j]]
-
- return X_dataset, y_dataset
-
-
-def make_validation_set(filelist, cropsize, sr, hop_length, n_fft, offset):
- patch_list = []
- patch_dir = "cs{}_sr{}_hl{}_nf{}_of{}".format(cropsize, sr, hop_length, n_fft, offset)
- os.makedirs(patch_dir, exist_ok=True)
-
- for i, (X_path, y_path) in enumerate(tqdm(filelist)):
- basename = os.path.splitext(os.path.basename(X_path))[0]
-
- X, y = spec_utils.cache_or_load(X_path, y_path, sr, hop_length, n_fft)
- coef = np.max([np.abs(X).max(), np.abs(y).max()])
- X, y = X / coef, y / coef
-
- l, r, roi_size = make_padding(X.shape[2], cropsize, offset)
- X_pad = np.pad(X, ((0, 0), (0, 0), (l, r)), mode="constant")
- y_pad = np.pad(y, ((0, 0), (0, 0), (l, r)), mode="constant")
-
- len_dataset = int(np.ceil(X.shape[2] / roi_size))
- for j in range(len_dataset):
- outpath = os.path.join(patch_dir, "{}_p{}.npz".format(basename, j))
- start = j * roi_size
- if not os.path.exists(outpath):
- np.savez(
- outpath,
- X=X_pad[:, :, start : start + cropsize],
- y=y_pad[:, :, start : start + cropsize],
- )
- patch_list.append(outpath)
-
- return VocalRemoverValidationSet(patch_list)
diff --git a/tools/uvr5/lib/lib_v5/layers.py b/tools/uvr5/lib/lib_v5/layers.py
deleted file mode 100644
index 2b9101e0..00000000
--- a/tools/uvr5/lib/lib_v5/layers.py
+++ /dev/null
@@ -1,106 +0,0 @@
-import torch
-import torch.nn.functional as F
-from torch import nn
-
-from . import spec_utils
-
-
-class Conv2DBNActiv(nn.Module):
- def __init__(self, nin, nout, ksize=3, stride=1, pad=1, dilation=1, activ=nn.ReLU):
- super(Conv2DBNActiv, self).__init__()
- self.conv = nn.Sequential(
- nn.Conv2d(
- nin,
- nout,
- kernel_size=ksize,
- stride=stride,
- padding=pad,
- dilation=dilation,
- bias=False,
- ),
- nn.BatchNorm2d(nout),
- activ(),
- )
-
- def __call__(self, x):
- return self.conv(x)
-
-
-class SeperableConv2DBNActiv(nn.Module):
- def __init__(self, nin, nout, ksize=3, stride=1, pad=1, dilation=1, activ=nn.ReLU):
- super(SeperableConv2DBNActiv, self).__init__()
- self.conv = nn.Sequential(
- nn.Conv2d(
- nin,
- nin,
- kernel_size=ksize,
- stride=stride,
- padding=pad,
- dilation=dilation,
- groups=nin,
- bias=False,
- ),
- nn.Conv2d(nin, nout, kernel_size=1, bias=False),
- nn.BatchNorm2d(nout),
- activ(),
- )
-
- def __call__(self, x):
- return self.conv(x)
-
-
-class Encoder(nn.Module):
- def __init__(self, nin, nout, ksize=3, stride=1, pad=1, activ=nn.LeakyReLU):
- super(Encoder, self).__init__()
- self.conv1 = Conv2DBNActiv(nin, nout, ksize, 1, pad, activ=activ)
- self.conv2 = Conv2DBNActiv(nout, nout, ksize, stride, pad, activ=activ)
-
- def __call__(self, x):
- skip = self.conv1(x)
- h = self.conv2(skip)
-
- return h, skip
-
-
-class Decoder(nn.Module):
- def __init__(self, nin, nout, ksize=3, stride=1, pad=1, activ=nn.ReLU, dropout=False):
- super(Decoder, self).__init__()
- self.conv = Conv2DBNActiv(nin, nout, ksize, 1, pad, activ=activ)
- self.dropout = nn.Dropout2d(0.1) if dropout else None
-
- def __call__(self, x, skip=None):
- x = F.interpolate(x, scale_factor=2, mode="bilinear", align_corners=True)
- if skip is not None:
- skip = spec_utils.crop_center(skip, x)
- x = torch.cat([x, skip], dim=1)
- h = self.conv(x)
-
- if self.dropout is not None:
- h = self.dropout(h)
-
- return h
-
-
-class ASPPModule(nn.Module):
- def __init__(self, nin, nout, dilations=(4, 8, 16), activ=nn.ReLU):
- super(ASPPModule, self).__init__()
- self.conv1 = nn.Sequential(
- nn.AdaptiveAvgPool2d((1, None)),
- Conv2DBNActiv(nin, nin, 1, 1, 0, activ=activ),
- )
- self.conv2 = Conv2DBNActiv(nin, nin, 1, 1, 0, activ=activ)
- self.conv3 = SeperableConv2DBNActiv(nin, nin, 3, 1, dilations[0], dilations[0], activ=activ)
- self.conv4 = SeperableConv2DBNActiv(nin, nin, 3, 1, dilations[1], dilations[1], activ=activ)
- self.conv5 = SeperableConv2DBNActiv(nin, nin, 3, 1, dilations[2], dilations[2], activ=activ)
- self.bottleneck = nn.Sequential(Conv2DBNActiv(nin * 5, nout, 1, 1, 0, activ=activ), nn.Dropout2d(0.1))
-
- def forward(self, x):
- _, _, h, w = x.size()
- feat1 = F.interpolate(self.conv1(x), size=(h, w), mode="bilinear", align_corners=True)
- feat2 = self.conv2(x)
- feat3 = self.conv3(x)
- feat4 = self.conv4(x)
- feat5 = self.conv5(x)
- out = torch.cat((feat1, feat2, feat3, feat4, feat5), dim=1)
- bottle = self.bottleneck(out)
- return bottle
diff --git a/tools/uvr5/lib/lib_v5/layers_123812KB.py b/tools/uvr5/lib/lib_v5/layers_123812KB.py
deleted file mode 100644
index 2b9101e0..00000000
--- a/tools/uvr5/lib/lib_v5/layers_123812KB.py
+++ /dev/null
@@ -1,106 +0,0 @@
-import torch
-import torch.nn.functional as F
-from torch import nn
-
-from . import spec_utils
-
-
-class Conv2DBNActiv(nn.Module):
- def __init__(self, nin, nout, ksize=3, stride=1, pad=1, dilation=1, activ=nn.ReLU):
- super(Conv2DBNActiv, self).__init__()
- self.conv = nn.Sequential(
- nn.Conv2d(
- nin,
- nout,
- kernel_size=ksize,
- stride=stride,
- padding=pad,
- dilation=dilation,
- bias=False,
- ),
- nn.BatchNorm2d(nout),
- activ(),
- )
-
- def __call__(self, x):
- return self.conv(x)
-
-
-class SeperableConv2DBNActiv(nn.Module):
- def __init__(self, nin, nout, ksize=3, stride=1, pad=1, dilation=1, activ=nn.ReLU):
- super(SeperableConv2DBNActiv, self).__init__()
- self.conv = nn.Sequential(
- nn.Conv2d(
- nin,
- nin,
- kernel_size=ksize,
- stride=stride,
- padding=pad,
- dilation=dilation,
- groups=nin,
- bias=False,
- ),
- nn.Conv2d(nin, nout, kernel_size=1, bias=False),
- nn.BatchNorm2d(nout),
- activ(),
- )
-
- def __call__(self, x):
- return self.conv(x)
-
-
-class Encoder(nn.Module):
- def __init__(self, nin, nout, ksize=3, stride=1, pad=1, activ=nn.LeakyReLU):
- super(Encoder, self).__init__()
- self.conv1 = Conv2DBNActiv(nin, nout, ksize, 1, pad, activ=activ)
- self.conv2 = Conv2DBNActiv(nout, nout, ksize, stride, pad, activ=activ)
-
- def __call__(self, x):
- skip = self.conv1(x)
- h = self.conv2(skip)
-
- return h, skip
-
-
-class Decoder(nn.Module):
- def __init__(self, nin, nout, ksize=3, stride=1, pad=1, activ=nn.ReLU, dropout=False):
- super(Decoder, self).__init__()
- self.conv = Conv2DBNActiv(nin, nout, ksize, 1, pad, activ=activ)
- self.dropout = nn.Dropout2d(0.1) if dropout else None
-
- def __call__(self, x, skip=None):
- x = F.interpolate(x, scale_factor=2, mode="bilinear", align_corners=True)
- if skip is not None:
- skip = spec_utils.crop_center(skip, x)
- x = torch.cat([x, skip], dim=1)
- h = self.conv(x)
-
- if self.dropout is not None:
- h = self.dropout(h)
-
- return h
-
-
-class ASPPModule(nn.Module):
- def __init__(self, nin, nout, dilations=(4, 8, 16), activ=nn.ReLU):
- super(ASPPModule, self).__init__()
- self.conv1 = nn.Sequential(
- nn.AdaptiveAvgPool2d((1, None)),
- Conv2DBNActiv(nin, nin, 1, 1, 0, activ=activ),
- )
- self.conv2 = Conv2DBNActiv(nin, nin, 1, 1, 0, activ=activ)
- self.conv3 = SeperableConv2DBNActiv(nin, nin, 3, 1, dilations[0], dilations[0], activ=activ)
- self.conv4 = SeperableConv2DBNActiv(nin, nin, 3, 1, dilations[1], dilations[1], activ=activ)
- self.conv5 = SeperableConv2DBNActiv(nin, nin, 3, 1, dilations[2], dilations[2], activ=activ)
- self.bottleneck = nn.Sequential(Conv2DBNActiv(nin * 5, nout, 1, 1, 0, activ=activ), nn.Dropout2d(0.1))
-
- def forward(self, x):
- _, _, h, w = x.size()
- feat1 = F.interpolate(self.conv1(x), size=(h, w), mode="bilinear", align_corners=True)
- feat2 = self.conv2(x)
- feat3 = self.conv3(x)
- feat4 = self.conv4(x)
- feat5 = self.conv5(x)
- out = torch.cat((feat1, feat2, feat3, feat4, feat5), dim=1)
- bottle = self.bottleneck(out)
- return bottle
diff --git a/tools/uvr5/lib/lib_v5/layers_123821KB.py b/tools/uvr5/lib/lib_v5/layers_123821KB.py
deleted file mode 100644
index 2b9101e0..00000000
--- a/tools/uvr5/lib/lib_v5/layers_123821KB.py
+++ /dev/null
@@ -1,106 +0,0 @@
-import torch
-import torch.nn.functional as F
-from torch import nn
-
-from . import spec_utils
-
-
-class Conv2DBNActiv(nn.Module):
- def __init__(self, nin, nout, ksize=3, stride=1, pad=1, dilation=1, activ=nn.ReLU):
- super(Conv2DBNActiv, self).__init__()
- self.conv = nn.Sequential(
- nn.Conv2d(
- nin,
- nout,
- kernel_size=ksize,
- stride=stride,
- padding=pad,
- dilation=dilation,
- bias=False,
- ),
- nn.BatchNorm2d(nout),
- activ(),
- )
-
- def __call__(self, x):
- return self.conv(x)
-
-
-class SeperableConv2DBNActiv(nn.Module):
- def __init__(self, nin, nout, ksize=3, stride=1, pad=1, dilation=1, activ=nn.ReLU):
- super(SeperableConv2DBNActiv, self).__init__()
- self.conv = nn.Sequential(
- nn.Conv2d(
- nin,
- nin,
- kernel_size=ksize,
- stride=stride,
- padding=pad,
- dilation=dilation,
- groups=nin,
- bias=False,
- ),
- nn.Conv2d(nin, nout, kernel_size=1, bias=False),
- nn.BatchNorm2d(nout),
- activ(),
- )
-
- def __call__(self, x):
- return self.conv(x)
-
-
-class Encoder(nn.Module):
- def __init__(self, nin, nout, ksize=3, stride=1, pad=1, activ=nn.LeakyReLU):
- super(Encoder, self).__init__()
- self.conv1 = Conv2DBNActiv(nin, nout, ksize, 1, pad, activ=activ)
- self.conv2 = Conv2DBNActiv(nout, nout, ksize, stride, pad, activ=activ)
-
- def __call__(self, x):
- skip = self.conv1(x)
- h = self.conv2(skip)
-
- return h, skip
-
-
-class Decoder(nn.Module):
- def __init__(self, nin, nout, ksize=3, stride=1, pad=1, activ=nn.ReLU, dropout=False):
- super(Decoder, self).__init__()
- self.conv = Conv2DBNActiv(nin, nout, ksize, 1, pad, activ=activ)
- self.dropout = nn.Dropout2d(0.1) if dropout else None
-
- def __call__(self, x, skip=None):
- x = F.interpolate(x, scale_factor=2, mode="bilinear", align_corners=True)
- if skip is not None:
- skip = spec_utils.crop_center(skip, x)
- x = torch.cat([x, skip], dim=1)
- h = self.conv(x)
-
- if self.dropout is not None:
- h = self.dropout(h)
-
- return h
-
-
-class ASPPModule(nn.Module):
- def __init__(self, nin, nout, dilations=(4, 8, 16), activ=nn.ReLU):
- super(ASPPModule, self).__init__()
- self.conv1 = nn.Sequential(
- nn.AdaptiveAvgPool2d((1, None)),
- Conv2DBNActiv(nin, nin, 1, 1, 0, activ=activ),
- )
- self.conv2 = Conv2DBNActiv(nin, nin, 1, 1, 0, activ=activ)
- self.conv3 = SeperableConv2DBNActiv(nin, nin, 3, 1, dilations[0], dilations[0], activ=activ)
- self.conv4 = SeperableConv2DBNActiv(nin, nin, 3, 1, dilations[1], dilations[1], activ=activ)
- self.conv5 = SeperableConv2DBNActiv(nin, nin, 3, 1, dilations[2], dilations[2], activ=activ)
- self.bottleneck = nn.Sequential(Conv2DBNActiv(nin * 5, nout, 1, 1, 0, activ=activ), nn.Dropout2d(0.1))
-
- def forward(self, x):
- _, _, h, w = x.size()
- feat1 = F.interpolate(self.conv1(x), size=(h, w), mode="bilinear", align_corners=True)
- feat2 = self.conv2(x)
- feat3 = self.conv3(x)
- feat4 = self.conv4(x)
- feat5 = self.conv5(x)
- out = torch.cat((feat1, feat2, feat3, feat4, feat5), dim=1)
- bottle = self.bottleneck(out)
- return bottle
diff --git a/tools/uvr5/lib/lib_v5/layers_33966KB.py b/tools/uvr5/lib/lib_v5/layers_33966KB.py
deleted file mode 100644
index 43977778..00000000
--- a/tools/uvr5/lib/lib_v5/layers_33966KB.py
+++ /dev/null
@@ -1,110 +0,0 @@
-import torch
-import torch.nn.functional as F
-from torch import nn
-
-from . import spec_utils
-
-
-class Conv2DBNActiv(nn.Module):
- def __init__(self, nin, nout, ksize=3, stride=1, pad=1, dilation=1, activ=nn.ReLU):
- super(Conv2DBNActiv, self).__init__()
- self.conv = nn.Sequential(
- nn.Conv2d(
- nin,
- nout,
- kernel_size=ksize,
- stride=stride,
- padding=pad,
- dilation=dilation,
- bias=False,
- ),
- nn.BatchNorm2d(nout),
- activ(),
- )
-
- def __call__(self, x):
- return self.conv(x)
-
-
-class SeperableConv2DBNActiv(nn.Module):
- def __init__(self, nin, nout, ksize=3, stride=1, pad=1, dilation=1, activ=nn.ReLU):
- super(SeperableConv2DBNActiv, self).__init__()
- self.conv = nn.Sequential(
- nn.Conv2d(
- nin,
- nin,
- kernel_size=ksize,
- stride=stride,
- padding=pad,
- dilation=dilation,
- groups=nin,
- bias=False,
- ),
- nn.Conv2d(nin, nout, kernel_size=1, bias=False),
- nn.BatchNorm2d(nout),
- activ(),
- )
-
- def __call__(self, x):
- return self.conv(x)
-
-
-class Encoder(nn.Module):
- def __init__(self, nin, nout, ksize=3, stride=1, pad=1, activ=nn.LeakyReLU):
- super(Encoder, self).__init__()
- self.conv1 = Conv2DBNActiv(nin, nout, ksize, 1, pad, activ=activ)
- self.conv2 = Conv2DBNActiv(nout, nout, ksize, stride, pad, activ=activ)
-
- def __call__(self, x):
- skip = self.conv1(x)
- h = self.conv2(skip)
-
- return h, skip
-
-
-class Decoder(nn.Module):
- def __init__(self, nin, nout, ksize=3, stride=1, pad=1, activ=nn.ReLU, dropout=False):
- super(Decoder, self).__init__()
- self.conv = Conv2DBNActiv(nin, nout, ksize, 1, pad, activ=activ)
- self.dropout = nn.Dropout2d(0.1) if dropout else None
-
- def __call__(self, x, skip=None):
- x = F.interpolate(x, scale_factor=2, mode="bilinear", align_corners=True)
- if skip is not None:
- skip = spec_utils.crop_center(skip, x)
- x = torch.cat([x, skip], dim=1)
- h = self.conv(x)
-
- if self.dropout is not None:
- h = self.dropout(h)
-
- return h
-
-
-class ASPPModule(nn.Module):
- def __init__(self, nin, nout, dilations=(4, 8, 16, 32, 64), activ=nn.ReLU):
- super(ASPPModule, self).__init__()
- self.conv1 = nn.Sequential(
- nn.AdaptiveAvgPool2d((1, None)),
- Conv2DBNActiv(nin, nin, 1, 1, 0, activ=activ),
- )
- self.conv2 = Conv2DBNActiv(nin, nin, 1, 1, 0, activ=activ)
- self.conv3 = SeperableConv2DBNActiv(nin, nin, 3, 1, dilations[0], dilations[0], activ=activ)
- self.conv4 = SeperableConv2DBNActiv(nin, nin, 3, 1, dilations[1], dilations[1], activ=activ)
- self.conv5 = SeperableConv2DBNActiv(nin, nin, 3, 1, dilations[2], dilations[2], activ=activ)
- self.conv6 = SeperableConv2DBNActiv(nin, nin, 3, 1, dilations[2], dilations[2], activ=activ)
- self.conv7 = SeperableConv2DBNActiv(nin, nin, 3, 1, dilations[2], dilations[2], activ=activ)
- self.bottleneck = nn.Sequential(Conv2DBNActiv(nin * 7, nout, 1, 1, 0, activ=activ), nn.Dropout2d(0.1))
-
- def forward(self, x):
- _, _, h, w = x.size()
- feat1 = F.interpolate(self.conv1(x), size=(h, w), mode="bilinear", align_corners=True)
- feat2 = self.conv2(x)
- feat3 = self.conv3(x)
- feat4 = self.conv4(x)
- feat5 = self.conv5(x)
- feat6 = self.conv6(x)
- feat7 = self.conv7(x)
- out = torch.cat((feat1, feat2, feat3, feat4, feat5, feat6, feat7), dim=1)
- bottle = self.bottleneck(out)
- return bottle
diff --git a/tools/uvr5/lib/lib_v5/layers_537227KB.py b/tools/uvr5/lib/lib_v5/layers_537227KB.py
deleted file mode 100644
index 43977778..00000000
--- a/tools/uvr5/lib/lib_v5/layers_537227KB.py
+++ /dev/null
@@ -1,110 +0,0 @@
-import torch
-import torch.nn.functional as F
-from torch import nn
-
-from . import spec_utils
-
-
-class Conv2DBNActiv(nn.Module):
- def __init__(self, nin, nout, ksize=3, stride=1, pad=1, dilation=1, activ=nn.ReLU):
- super(Conv2DBNActiv, self).__init__()
- self.conv = nn.Sequential(
- nn.Conv2d(
- nin,
- nout,
- kernel_size=ksize,
- stride=stride,
- padding=pad,
- dilation=dilation,
- bias=False,
- ),
- nn.BatchNorm2d(nout),
- activ(),
- )
-
- def __call__(self, x):
- return self.conv(x)
-
-
-class SeperableConv2DBNActiv(nn.Module):
- def __init__(self, nin, nout, ksize=3, stride=1, pad=1, dilation=1, activ=nn.ReLU):
- super(SeperableConv2DBNActiv, self).__init__()
- self.conv = nn.Sequential(
- nn.Conv2d(
- nin,
- nin,
- kernel_size=ksize,
- stride=stride,
- padding=pad,
- dilation=dilation,
- groups=nin,
- bias=False,
- ),
- nn.Conv2d(nin, nout, kernel_size=1, bias=False),
- nn.BatchNorm2d(nout),
- activ(),
- )
-
- def __call__(self, x):
- return self.conv(x)
-
-
-class Encoder(nn.Module):
- def __init__(self, nin, nout, ksize=3, stride=1, pad=1, activ=nn.LeakyReLU):
- super(Encoder, self).__init__()
- self.conv1 = Conv2DBNActiv(nin, nout, ksize, 1, pad, activ=activ)
- self.conv2 = Conv2DBNActiv(nout, nout, ksize, stride, pad, activ=activ)
-
- def __call__(self, x):
- skip = self.conv1(x)
- h = self.conv2(skip)
-
- return h, skip
-
-
-class Decoder(nn.Module):
- def __init__(self, nin, nout, ksize=3, stride=1, pad=1, activ=nn.ReLU, dropout=False):
- super(Decoder, self).__init__()
- self.conv = Conv2DBNActiv(nin, nout, ksize, 1, pad, activ=activ)
- self.dropout = nn.Dropout2d(0.1) if dropout else None
-
- def __call__(self, x, skip=None):
- x = F.interpolate(x, scale_factor=2, mode="bilinear", align_corners=True)
- if skip is not None:
- skip = spec_utils.crop_center(skip, x)
- x = torch.cat([x, skip], dim=1)
- h = self.conv(x)
-
- if self.dropout is not None:
- h = self.dropout(h)
-
- return h
-
-
-class ASPPModule(nn.Module):
- def __init__(self, nin, nout, dilations=(4, 8, 16, 32, 64), activ=nn.ReLU):
- super(ASPPModule, self).__init__()
- self.conv1 = nn.Sequential(
- nn.AdaptiveAvgPool2d((1, None)),
- Conv2DBNActiv(nin, nin, 1, 1, 0, activ=activ),
- )
- self.conv2 = Conv2DBNActiv(nin, nin, 1, 1, 0, activ=activ)
- self.conv3 = SeperableConv2DBNActiv(nin, nin, 3, 1, dilations[0], dilations[0], activ=activ)
- self.conv4 = SeperableConv2DBNActiv(nin, nin, 3, 1, dilations[1], dilations[1], activ=activ)
- self.conv5 = SeperableConv2DBNActiv(nin, nin, 3, 1, dilations[2], dilations[2], activ=activ)
- self.conv6 = SeperableConv2DBNActiv(nin, nin, 3, 1, dilations[2], dilations[2], activ=activ)
- self.conv7 = SeperableConv2DBNActiv(nin, nin, 3, 1, dilations[2], dilations[2], activ=activ)
- self.bottleneck = nn.Sequential(Conv2DBNActiv(nin * 7, nout, 1, 1, 0, activ=activ), nn.Dropout2d(0.1))
-
- def forward(self, x):
- _, _, h, w = x.size()
- feat1 = F.interpolate(self.conv1(x), size=(h, w), mode="bilinear", align_corners=True)
- feat2 = self.conv2(x)
- feat3 = self.conv3(x)
- feat4 = self.conv4(x)
- feat5 = self.conv5(x)
- feat6 = self.conv6(x)
- feat7 = self.conv7(x)
- out = torch.cat((feat1, feat2, feat3, feat4, feat5, feat6, feat7), dim=1)
- bottle = self.bottleneck(out)
- return bottle
diff --git a/tools/uvr5/lib/lib_v5/layers_537238KB.py b/tools/uvr5/lib/lib_v5/layers_537238KB.py
deleted file mode 100644
index 43977778..00000000
--- a/tools/uvr5/lib/lib_v5/layers_537238KB.py
+++ /dev/null
@@ -1,110 +0,0 @@
-import torch
-import torch.nn.functional as F
-from torch import nn
-
-from . import spec_utils
-
-
-class Conv2DBNActiv(nn.Module):
- def __init__(self, nin, nout, ksize=3, stride=1, pad=1, dilation=1, activ=nn.ReLU):
- super(Conv2DBNActiv, self).__init__()
- self.conv = nn.Sequential(
- nn.Conv2d(
- nin,
- nout,
- kernel_size=ksize,
- stride=stride,
- padding=pad,
- dilation=dilation,
- bias=False,
- ),
- nn.BatchNorm2d(nout),
- activ(),
- )
-
- def __call__(self, x):
- return self.conv(x)
-
-
-class SeperableConv2DBNActiv(nn.Module):
- def __init__(self, nin, nout, ksize=3, stride=1, pad=1, dilation=1, activ=nn.ReLU):
- super(SeperableConv2DBNActiv, self).__init__()
- self.conv = nn.Sequential(
- nn.Conv2d(
- nin,
- nin,
- kernel_size=ksize,
- stride=stride,
- padding=pad,
- dilation=dilation,
- groups=nin,
- bias=False,
- ),
- nn.Conv2d(nin, nout, kernel_size=1, bias=False),
- nn.BatchNorm2d(nout),
- activ(),
- )
-
- def __call__(self, x):
- return self.conv(x)
-
-
-class Encoder(nn.Module):
- def __init__(self, nin, nout, ksize=3, stride=1, pad=1, activ=nn.LeakyReLU):
- super(Encoder, self).__init__()
- self.conv1 = Conv2DBNActiv(nin, nout, ksize, 1, pad, activ=activ)
- self.conv2 = Conv2DBNActiv(nout, nout, ksize, stride, pad, activ=activ)
-
- def __call__(self, x):
- skip = self.conv1(x)
- h = self.conv2(skip)
-
- return h, skip
-
-
-class Decoder(nn.Module):
- def __init__(self, nin, nout, ksize=3, stride=1, pad=1, activ=nn.ReLU, dropout=False):
- super(Decoder, self).__init__()
- self.conv = Conv2DBNActiv(nin, nout, ksize, 1, pad, activ=activ)
- self.dropout = nn.Dropout2d(0.1) if dropout else None
-
- def __call__(self, x, skip=None):
- x = F.interpolate(x, scale_factor=2, mode="bilinear", align_corners=True)
- if skip is not None:
- skip = spec_utils.crop_center(skip, x)
- x = torch.cat([x, skip], dim=1)
- h = self.conv(x)
-
- if self.dropout is not None:
- h = self.dropout(h)
-
- return h
-
-
-class ASPPModule(nn.Module):
- def __init__(self, nin, nout, dilations=(4, 8, 16, 32, 64), activ=nn.ReLU):
- super(ASPPModule, self).__init__()
- self.conv1 = nn.Sequential(
- nn.AdaptiveAvgPool2d((1, None)),
- Conv2DBNActiv(nin, nin, 1, 1, 0, activ=activ),
- )
- self.conv2 = Conv2DBNActiv(nin, nin, 1, 1, 0, activ=activ)
- self.conv3 = SeperableConv2DBNActiv(nin, nin, 3, 1, dilations[0], dilations[0], activ=activ)
- self.conv4 = SeperableConv2DBNActiv(nin, nin, 3, 1, dilations[1], dilations[1], activ=activ)
- self.conv5 = SeperableConv2DBNActiv(nin, nin, 3, 1, dilations[2], dilations[2], activ=activ)
- self.conv6 = SeperableConv2DBNActiv(nin, nin, 3, 1, dilations[2], dilations[2], activ=activ)
- self.conv7 = SeperableConv2DBNActiv(nin, nin, 3, 1, dilations[2], dilations[2], activ=activ)
- self.bottleneck = nn.Sequential(Conv2DBNActiv(nin * 7, nout, 1, 1, 0, activ=activ), nn.Dropout2d(0.1))
-
- def forward(self, x):
- _, _, h, w = x.size()
- feat1 = F.interpolate(self.conv1(x), size=(h, w), mode="bilinear", align_corners=True)
- feat2 = self.conv2(x)
- feat3 = self.conv3(x)
- feat4 = self.conv4(x)
- feat5 = self.conv5(x)
- feat6 = self.conv6(x)
- feat7 = self.conv7(x)
- out = torch.cat((feat1, feat2, feat3, feat4, feat5, feat6, feat7), dim=1)
- bottle = self.bottleneck(out)
- return bottle
diff --git a/tools/uvr5/lib/lib_v5/layers_new.py b/tools/uvr5/lib/lib_v5/layers_new.py
deleted file mode 100644
index 7d7005c0..00000000
--- a/tools/uvr5/lib/lib_v5/layers_new.py
+++ /dev/null
@@ -1,111 +0,0 @@
-import torch
-import torch.nn.functional as F
-from torch import nn
-
-from . import spec_utils
-
-
-class Conv2DBNActiv(nn.Module):
- def __init__(self, nin, nout, ksize=3, stride=1, pad=1, dilation=1, activ=nn.ReLU):
- super(Conv2DBNActiv, self).__init__()
- self.conv = nn.Sequential(
- nn.Conv2d(
- nin,
- nout,
- kernel_size=ksize,
- stride=stride,
- padding=pad,
- dilation=dilation,
- bias=False,
- ),
- nn.BatchNorm2d(nout),
- activ(),
- )
-
- def __call__(self, x):
- return self.conv(x)
-
-
-class Encoder(nn.Module):
- def __init__(self, nin, nout, ksize=3, stride=1, pad=1, activ=nn.LeakyReLU):
- super(Encoder, self).__init__()
- self.conv1 = Conv2DBNActiv(nin, nout, ksize, stride, pad, activ=activ)
- self.conv2 = Conv2DBNActiv(nout, nout, ksize, 1, pad, activ=activ)
-
- def __call__(self, x):
- h = self.conv1(x)
- h = self.conv2(h)
-
- return h
-
-
-class Decoder(nn.Module):
- def __init__(self, nin, nout, ksize=3, stride=1, pad=1, activ=nn.ReLU, dropout=False):
- super(Decoder, self).__init__()
- self.conv1 = Conv2DBNActiv(nin, nout, ksize, 1, pad, activ=activ)
- # self.conv2 = Conv2DBNActiv(nout, nout, ksize, 1, pad, activ=activ)
- self.dropout = nn.Dropout2d(0.1) if dropout else None
-
- def __call__(self, x, skip=None):
- x = F.interpolate(x, scale_factor=2, mode="bilinear", align_corners=True)
-
- if skip is not None:
- skip = spec_utils.crop_center(skip, x)
- x = torch.cat([x, skip], dim=1)
-
- h = self.conv1(x)
- # h = self.conv2(h)
-
- if self.dropout is not None:
- h = self.dropout(h)
-
- return h
-
-
-class ASPPModule(nn.Module):
- def __init__(self, nin, nout, dilations=(4, 8, 12), activ=nn.ReLU, dropout=False):
- super(ASPPModule, self).__init__()
- self.conv1 = nn.Sequential(
- nn.AdaptiveAvgPool2d((1, None)),
- Conv2DBNActiv(nin, nout, 1, 1, 0, activ=activ),
- )
- self.conv2 = Conv2DBNActiv(nin, nout, 1, 1, 0, activ=activ)
- self.conv3 = Conv2DBNActiv(nin, nout, 3, 1, dilations[0], dilations[0], activ=activ)
- self.conv4 = Conv2DBNActiv(nin, nout, 3, 1, dilations[1], dilations[1], activ=activ)
- self.conv5 = Conv2DBNActiv(nin, nout, 3, 1, dilations[2], dilations[2], activ=activ)
- self.bottleneck = Conv2DBNActiv(nout * 5, nout, 1, 1, 0, activ=activ)
- self.dropout = nn.Dropout2d(0.1) if dropout else None
-
- def forward(self, x):
- _, _, h, w = x.size()
- feat1 = F.interpolate(self.conv1(x), size=(h, w), mode="bilinear", align_corners=True)
- feat2 = self.conv2(x)
- feat3 = self.conv3(x)
- feat4 = self.conv4(x)
- feat5 = self.conv5(x)
- out = torch.cat((feat1, feat2, feat3, feat4, feat5), dim=1)
- out = self.bottleneck(out)
-
- if self.dropout is not None:
- out = self.dropout(out)
-
- return out
-
-
-class LSTMModule(nn.Module):
- def __init__(self, nin_conv, nin_lstm, nout_lstm):
- super(LSTMModule, self).__init__()
- self.conv = Conv2DBNActiv(nin_conv, 1, 1, 1, 0)
- self.lstm = nn.LSTM(input_size=nin_lstm, hidden_size=nout_lstm // 2, bidirectional=True)
- self.dense = nn.Sequential(nn.Linear(nout_lstm, nin_lstm), nn.BatchNorm1d(nin_lstm), nn.ReLU())
-
- def forward(self, x):
- N, _, nbins, nframes = x.size()
- h = self.conv(x)[:, 0] # N, nbins, nframes
- h = h.permute(2, 0, 1) # nframes, N, nbins
- h, _ = self.lstm(h)
- h = self.dense(h.reshape(-1, h.size()[-1])) # nframes * N, nbins
- h = h.reshape(nframes, N, 1, nbins)
- h = h.permute(1, 2, 3, 0)
-
- return h
diff --git a/tools/uvr5/lib/lib_v5/model_param_init.py b/tools/uvr5/lib/lib_v5/model_param_init.py
deleted file mode 100644
index 79b94d33..00000000
--- a/tools/uvr5/lib/lib_v5/model_param_init.py
+++ /dev/null
@@ -1,66 +0,0 @@
-import json
-import pathlib
-
-default_param = {}
-default_param["bins"] = 768
-default_param["unstable_bins"] = 9 # training only
-default_param["reduction_bins"] = 762 # training only
-default_param["sr"] = 44100
-default_param["pre_filter_start"] = 757
-default_param["pre_filter_stop"] = 768
-default_param["band"] = {}
-
-
-default_param["band"][1] = {
- "sr": 11025,
- "hl": 128,
- "n_fft": 960,
- "crop_start": 0,
- "crop_stop": 245,
- "lpf_start": 61, # inference only
- "res_type": "polyphase",
-}
-
-default_param["band"][2] = {
- "sr": 44100,
- "hl": 512,
- "n_fft": 1536,
- "crop_start": 24,
- "crop_stop": 547,
- "hpf_start": 81, # inference only
- "res_type": "sinc_best",
-}
-
-
-def int_keys(d):
- r = {}
- for k, v in d:
- if k.isdigit():
- k = int(k)
- r[k] = v
- return r
-
-
-class ModelParameters(object):
- def __init__(self, config_path=""):
- if ".pth" == pathlib.Path(config_path).suffix:
- import zipfile
-
- with zipfile.ZipFile(config_path, "r") as zip:
- self.param = json.loads(zip.read("param.json"), object_pairs_hook=int_keys)
- elif ".json" == pathlib.Path(config_path).suffix:
- with open(config_path, "r") as f:
- self.param = json.loads(f.read(), object_pairs_hook=int_keys)
- else:
- self.param = default_param
-
- for k in [
- "mid_side",
- "mid_side_b",
- "mid_side_b2",
- "stereo_w",
- "stereo_n",
- "reverse",
- ]:
- if k not in self.param:
- self.param[k] = False
diff --git a/tools/uvr5/lib/lib_v5/modelparams/1band_sr16000_hl512.json b/tools/uvr5/lib/lib_v5/modelparams/1band_sr16000_hl512.json
deleted file mode 100644
index 72cb4499..00000000
--- a/tools/uvr5/lib/lib_v5/modelparams/1band_sr16000_hl512.json
+++ /dev/null
@@ -1,19 +0,0 @@
-{
- "bins": 1024,
- "unstable_bins": 0,
- "reduction_bins": 0,
- "band": {
- "1": {
- "sr": 16000,
- "hl": 512,
- "n_fft": 2048,
- "crop_start": 0,
- "crop_stop": 1024,
- "hpf_start": -1,
- "res_type": "sinc_best"
- }
- },
- "sr": 16000,
- "pre_filter_start": 1023,
- "pre_filter_stop": 1024
-}
\ No newline at end of file
diff --git a/tools/uvr5/lib/lib_v5/modelparams/1band_sr32000_hl512.json b/tools/uvr5/lib/lib_v5/modelparams/1band_sr32000_hl512.json
deleted file mode 100644
index 3c00ecf0..00000000
--- a/tools/uvr5/lib/lib_v5/modelparams/1band_sr32000_hl512.json
+++ /dev/null
@@ -1,19 +0,0 @@
-{
- "bins": 1024,
- "unstable_bins": 0,
- "reduction_bins": 0,
- "band": {
- "1": {
- "sr": 32000,
- "hl": 512,
- "n_fft": 2048,
- "crop_start": 0,
- "crop_stop": 1024,
- "hpf_start": -1,
- "res_type": "kaiser_fast"
- }
- },
- "sr": 32000,
- "pre_filter_start": 1000,
- "pre_filter_stop": 1021
-}
\ No newline at end of file
diff --git a/tools/uvr5/lib/lib_v5/modelparams/1band_sr33075_hl384.json b/tools/uvr5/lib/lib_v5/modelparams/1band_sr33075_hl384.json
deleted file mode 100644
index 55666ac9..00000000
--- a/tools/uvr5/lib/lib_v5/modelparams/1band_sr33075_hl384.json
+++ /dev/null
@@ -1,19 +0,0 @@
-{
- "bins": 1024,
- "unstable_bins": 0,
- "reduction_bins": 0,
- "band": {
- "1": {
- "sr": 33075,
- "hl": 384,
- "n_fft": 2048,
- "crop_start": 0,
- "crop_stop": 1024,
- "hpf_start": -1,
- "res_type": "sinc_best"
- }
- },
- "sr": 33075,
- "pre_filter_start": 1000,
- "pre_filter_stop": 1021
-}
\ No newline at end of file
diff --git a/tools/uvr5/lib/lib_v5/modelparams/1band_sr44100_hl1024.json b/tools/uvr5/lib/lib_v5/modelparams/1band_sr44100_hl1024.json
deleted file mode 100644
index 665abe20..00000000
--- a/tools/uvr5/lib/lib_v5/modelparams/1band_sr44100_hl1024.json
+++ /dev/null
@@ -1,19 +0,0 @@
-{
- "bins": 1024,
- "unstable_bins": 0,
- "reduction_bins": 0,
- "band": {
- "1": {
- "sr": 44100,
- "hl": 1024,
- "n_fft": 2048,
- "crop_start": 0,
- "crop_stop": 1024,
- "hpf_start": -1,
- "res_type": "sinc_best"
- }
- },
- "sr": 44100,
- "pre_filter_start": 1023,
- "pre_filter_stop": 1024
-}
\ No newline at end of file
diff --git a/tools/uvr5/lib/lib_v5/modelparams/1band_sr44100_hl256.json b/tools/uvr5/lib/lib_v5/modelparams/1band_sr44100_hl256.json
deleted file mode 100644
index 0e8b16f8..00000000
--- a/tools/uvr5/lib/lib_v5/modelparams/1band_sr44100_hl256.json
+++ /dev/null
@@ -1,19 +0,0 @@
-{
- "bins": 256,
- "unstable_bins": 0,
- "reduction_bins": 0,
- "band": {
- "1": {
- "sr": 44100,
- "hl": 256,
- "n_fft": 512,
- "crop_start": 0,
- "crop_stop": 256,
- "hpf_start": -1,
- "res_type": "sinc_best"
- }
- },
- "sr": 44100,
- "pre_filter_start": 256,
- "pre_filter_stop": 256
-}
\ No newline at end of file
diff --git a/tools/uvr5/lib/lib_v5/modelparams/1band_sr44100_hl512.json b/tools/uvr5/lib/lib_v5/modelparams/1band_sr44100_hl512.json
deleted file mode 100644
index 3b38fcaf..00000000
--- a/tools/uvr5/lib/lib_v5/modelparams/1band_sr44100_hl512.json
+++ /dev/null
@@ -1,19 +0,0 @@
-{
- "bins": 1024,
- "unstable_bins": 0,
- "reduction_bins": 0,
- "band": {
- "1": {
- "sr": 44100,
- "hl": 512,
- "n_fft": 2048,
- "crop_start": 0,
- "crop_stop": 1024,
- "hpf_start": -1,
- "res_type": "sinc_best"
- }
- },
- "sr": 44100,
- "pre_filter_start": 1023,
- "pre_filter_stop": 1024
-}
\ No newline at end of file
diff --git a/tools/uvr5/lib/lib_v5/modelparams/1band_sr44100_hl512_cut.json b/tools/uvr5/lib/lib_v5/modelparams/1band_sr44100_hl512_cut.json
deleted file mode 100644
index 630df352..00000000
--- a/tools/uvr5/lib/lib_v5/modelparams/1band_sr44100_hl512_cut.json
+++ /dev/null
@@ -1,19 +0,0 @@
-{
- "bins": 1024,
- "unstable_bins": 0,
- "reduction_bins": 0,
- "band": {
- "1": {
- "sr": 44100,
- "hl": 512,
- "n_fft": 2048,
- "crop_start": 0,
- "crop_stop": 700,
- "hpf_start": -1,
- "res_type": "sinc_best"
- }
- },
- "sr": 44100,
- "pre_filter_start": 1023,
- "pre_filter_stop": 700
-}
\ No newline at end of file
diff --git a/tools/uvr5/lib/lib_v5/modelparams/2band_32000.json b/tools/uvr5/lib/lib_v5/modelparams/2band_32000.json
deleted file mode 100644
index ab9cf115..00000000
--- a/tools/uvr5/lib/lib_v5/modelparams/2band_32000.json
+++ /dev/null
@@ -1,30 +0,0 @@
-{
- "bins": 768,
- "unstable_bins": 7,
- "reduction_bins": 705,
- "band": {
- "1": {
- "sr": 6000,
- "hl": 66,
- "n_fft": 512,
- "crop_start": 0,
- "crop_stop": 240,
- "lpf_start": 60,
- "lpf_stop": 118,
- "res_type": "sinc_fastest"
- },
- "2": {
- "sr": 32000,
- "hl": 352,
- "n_fft": 1024,
- "crop_start": 22,
- "crop_stop": 505,
- "hpf_start": 44,
- "hpf_stop": 23,
- "res_type": "sinc_medium"
- }
- },
- "sr": 32000,
- "pre_filter_start": 710,
- "pre_filter_stop": 731
-}
diff --git a/tools/uvr5/lib/lib_v5/modelparams/2band_44100_lofi.json b/tools/uvr5/lib/lib_v5/modelparams/2band_44100_lofi.json
deleted file mode 100644
index 7faa216d..00000000
--- a/tools/uvr5/lib/lib_v5/modelparams/2band_44100_lofi.json
+++ /dev/null
@@ -1,30 +0,0 @@
-{
- "bins": 512,
- "unstable_bins": 7,
- "reduction_bins": 510,
- "band": {
- "1": {
- "sr": 11025,
- "hl": 160,
- "n_fft": 768,
- "crop_start": 0,
- "crop_stop": 192,
- "lpf_start": 41,
- "lpf_stop": 139,
- "res_type": "sinc_fastest"
- },
- "2": {
- "sr": 44100,
- "hl": 640,
- "n_fft": 1024,
- "crop_start": 10,
- "crop_stop": 320,
- "hpf_start": 47,
- "hpf_stop": 15,
- "res_type": "sinc_medium"
- }
- },
- "sr": 44100,
- "pre_filter_start": 510,
- "pre_filter_stop": 512
-}
diff --git a/tools/uvr5/lib/lib_v5/modelparams/2band_48000.json b/tools/uvr5/lib/lib_v5/modelparams/2band_48000.json
deleted file mode 100644
index 7e781750..00000000
--- a/tools/uvr5/lib/lib_v5/modelparams/2band_48000.json
+++ /dev/null
@@ -1,30 +0,0 @@
-{
- "bins": 768,
- "unstable_bins": 7,
- "reduction_bins": 705,
- "band": {
- "1": {
- "sr": 6000,
- "hl": 66,
- "n_fft": 512,
- "crop_start": 0,
- "crop_stop": 240,
- "lpf_start": 60,
- "lpf_stop": 240,
- "res_type": "sinc_fastest"
- },
- "2": {
- "sr": 48000,
- "hl": 528,
- "n_fft": 1536,
- "crop_start": 22,
- "crop_stop": 505,
- "hpf_start": 82,
- "hpf_stop": 22,
- "res_type": "sinc_medium"
- }
- },
- "sr": 48000,
- "pre_filter_start": 710,
- "pre_filter_stop": 731
-}
\ No newline at end of file
diff --git a/tools/uvr5/lib/lib_v5/modelparams/3band_44100.json b/tools/uvr5/lib/lib_v5/modelparams/3band_44100.json
deleted file mode 100644
index d881d767..00000000
--- a/tools/uvr5/lib/lib_v5/modelparams/3band_44100.json
+++ /dev/null
@@ -1,42 +0,0 @@
-{
- "bins": 768,
- "unstable_bins": 5,
- "reduction_bins": 733,
- "band": {
- "1": {
- "sr": 11025,
- "hl": 128,
- "n_fft": 768,
- "crop_start": 0,
- "crop_stop": 278,
- "lpf_start": 28,
- "lpf_stop": 140,
- "res_type": "polyphase"
- },
- "2": {
- "sr": 22050,
- "hl": 256,
- "n_fft": 768,
- "crop_start": 14,
- "crop_stop": 322,
- "hpf_start": 70,
- "hpf_stop": 14,
- "lpf_start": 283,
- "lpf_stop": 314,
- "res_type": "polyphase"
- },
- "3": {
- "sr": 44100,
- "hl": 512,
- "n_fft": 768,
- "crop_start": 131,
- "crop_stop": 313,
- "hpf_start": 154,
- "hpf_stop": 141,
- "res_type": "sinc_medium"
- }
- },
- "sr": 44100,
- "pre_filter_start": 757,
- "pre_filter_stop": 768
-}
diff --git a/tools/uvr5/lib/lib_v5/modelparams/3band_44100_mid.json b/tools/uvr5/lib/lib_v5/modelparams/3band_44100_mid.json
deleted file mode 100644
index 77ec1985..00000000
--- a/tools/uvr5/lib/lib_v5/modelparams/3band_44100_mid.json
+++ /dev/null
@@ -1,43 +0,0 @@
-{
- "mid_side": true,
- "bins": 768,
- "unstable_bins": 5,
- "reduction_bins": 733,
- "band": {
- "1": {
- "sr": 11025,
- "hl": 128,
- "n_fft": 768,
- "crop_start": 0,
- "crop_stop": 278,
- "lpf_start": 28,
- "lpf_stop": 140,
- "res_type": "polyphase"
- },
- "2": {
- "sr": 22050,
- "hl": 256,
- "n_fft": 768,
- "crop_start": 14,
- "crop_stop": 322,
- "hpf_start": 70,
- "hpf_stop": 14,
- "lpf_start": 283,
- "lpf_stop": 314,
- "res_type": "polyphase"
- },
- "3": {
- "sr": 44100,
- "hl": 512,
- "n_fft": 768,
- "crop_start": 131,
- "crop_stop": 313,
- "hpf_start": 154,
- "hpf_stop": 141,
- "res_type": "sinc_medium"
- }
- },
- "sr": 44100,
- "pre_filter_start": 757,
- "pre_filter_stop": 768
-}
diff --git a/tools/uvr5/lib/lib_v5/modelparams/3band_44100_msb2.json b/tools/uvr5/lib/lib_v5/modelparams/3band_44100_msb2.json
deleted file mode 100644
index 85ee8a7d..00000000
--- a/tools/uvr5/lib/lib_v5/modelparams/3band_44100_msb2.json
+++ /dev/null
@@ -1,43 +0,0 @@
-{
- "mid_side_b2": true,
- "bins": 640,
- "unstable_bins": 7,
- "reduction_bins": 565,
- "band": {
- "1": {
- "sr": 11025,
- "hl": 108,
- "n_fft": 1024,
- "crop_start": 0,
- "crop_stop": 187,
- "lpf_start": 92,
- "lpf_stop": 186,
- "res_type": "polyphase"
- },
- "2": {
- "sr": 22050,
- "hl": 216,
- "n_fft": 768,
- "crop_start": 0,
- "crop_stop": 212,
- "hpf_start": 68,
- "hpf_stop": 34,
- "lpf_start": 174,
- "lpf_stop": 209,
- "res_type": "polyphase"
- },
- "3": {
- "sr": 44100,
- "hl": 432,
- "n_fft": 640,
- "crop_start": 66,
- "crop_stop": 307,
- "hpf_start": 86,
- "hpf_stop": 72,
- "res_type": "kaiser_fast"
- }
- },
- "sr": 44100,
- "pre_filter_start": 639,
- "pre_filter_stop": 640
-}
diff --git a/tools/uvr5/lib/lib_v5/modelparams/4band_44100.json b/tools/uvr5/lib/lib_v5/modelparams/4band_44100.json
deleted file mode 100644
index df123754..00000000
--- a/tools/uvr5/lib/lib_v5/modelparams/4band_44100.json
+++ /dev/null
@@ -1,54 +0,0 @@
-{
- "bins": 768,
- "unstable_bins": 7,
- "reduction_bins": 668,
- "band": {
- "1": {
- "sr": 11025,
- "hl": 128,
- "n_fft": 1024,
- "crop_start": 0,
- "crop_stop": 186,
- "lpf_start": 37,
- "lpf_stop": 73,
- "res_type": "polyphase"
- },
- "2": {
- "sr": 11025,
- "hl": 128,
- "n_fft": 512,
- "crop_start": 4,
- "crop_stop": 185,
- "hpf_start": 36,
- "hpf_stop": 18,
- "lpf_start": 93,
- "lpf_stop": 185,
- "res_type": "polyphase"
- },
- "3": {
- "sr": 22050,
- "hl": 256,
- "n_fft": 512,
- "crop_start": 46,
- "crop_stop": 186,
- "hpf_start": 93,
- "hpf_stop": 46,
- "lpf_start": 164,
- "lpf_stop": 186,
- "res_type": "polyphase"
- },
- "4": {
- "sr": 44100,
- "hl": 512,
- "n_fft": 768,
- "crop_start": 121,
- "crop_stop": 382,
- "hpf_start": 138,
- "hpf_stop": 123,
- "res_type": "sinc_medium"
- }
- },
- "sr": 44100,
- "pre_filter_start": 740,
- "pre_filter_stop": 768
-}
diff --git a/tools/uvr5/lib/lib_v5/modelparams/4band_44100_mid.json b/tools/uvr5/lib/lib_v5/modelparams/4band_44100_mid.json
deleted file mode 100644
index e91b699e..00000000
--- a/tools/uvr5/lib/lib_v5/modelparams/4band_44100_mid.json
+++ /dev/null
@@ -1,55 +0,0 @@
-{
- "bins": 768,
- "unstable_bins": 7,
- "mid_side": true,
- "reduction_bins": 668,
- "band": {
- "1": {
- "sr": 11025,
- "hl": 128,
- "n_fft": 1024,
- "crop_start": 0,
- "crop_stop": 186,
- "lpf_start": 37,
- "lpf_stop": 73,
- "res_type": "polyphase"
- },
- "2": {
- "sr": 11025,
- "hl": 128,
- "n_fft": 512,
- "crop_start": 4,
- "crop_stop": 185,
- "hpf_start": 36,
- "hpf_stop": 18,
- "lpf_start": 93,
- "lpf_stop": 185,
- "res_type": "polyphase"
- },
- "3": {
- "sr": 22050,
- "hl": 256,
- "n_fft": 512,
- "crop_start": 46,
- "crop_stop": 186,
- "hpf_start": 93,
- "hpf_stop": 46,
- "lpf_start": 164,
- "lpf_stop": 186,
- "res_type": "polyphase"
- },
- "4": {
- "sr": 44100,
- "hl": 512,
- "n_fft": 768,
- "crop_start": 121,
- "crop_stop": 382,
- "hpf_start": 138,
- "hpf_stop": 123,
- "res_type": "sinc_medium"
- }
- },
- "sr": 44100,
- "pre_filter_start": 740,
- "pre_filter_stop": 768
-}
diff --git a/tools/uvr5/lib/lib_v5/modelparams/4band_44100_msb.json b/tools/uvr5/lib/lib_v5/modelparams/4band_44100_msb.json
deleted file mode 100644
index f852f280..00000000
--- a/tools/uvr5/lib/lib_v5/modelparams/4band_44100_msb.json
+++ /dev/null
@@ -1,55 +0,0 @@
-{
- "mid_side_b": true,
- "bins": 768,
- "unstable_bins": 7,
- "reduction_bins": 668,
- "band": {
- "1": {
- "sr": 11025,
- "hl": 128,
- "n_fft": 1024,
- "crop_start": 0,
- "crop_stop": 186,
- "lpf_start": 37,
- "lpf_stop": 73,
- "res_type": "polyphase"
- },
- "2": {
- "sr": 11025,
- "hl": 128,
- "n_fft": 512,
- "crop_start": 4,
- "crop_stop": 185,
- "hpf_start": 36,
- "hpf_stop": 18,
- "lpf_start": 93,
- "lpf_stop": 185,
- "res_type": "polyphase"
- },
- "3": {
- "sr": 22050,
- "hl": 256,
- "n_fft": 512,
- "crop_start": 46,
- "crop_stop": 186,
- "hpf_start": 93,
- "hpf_stop": 46,
- "lpf_start": 164,
- "lpf_stop": 186,
- "res_type": "polyphase"
- },
- "4": {
- "sr": 44100,
- "hl": 512,
- "n_fft": 768,
- "crop_start": 121,
- "crop_stop": 382,
- "hpf_start": 138,
- "hpf_stop": 123,
- "res_type": "sinc_medium"
- }
- },
- "sr": 44100,
- "pre_filter_start": 740,
- "pre_filter_stop": 768
-}
\ No newline at end of file
diff --git a/tools/uvr5/lib/lib_v5/modelparams/4band_44100_msb2.json b/tools/uvr5/lib/lib_v5/modelparams/4band_44100_msb2.json
deleted file mode 100644
index f852f280..00000000
--- a/tools/uvr5/lib/lib_v5/modelparams/4band_44100_msb2.json
+++ /dev/null
@@ -1,55 +0,0 @@
-{
- "mid_side_b": true,
- "bins": 768,
- "unstable_bins": 7,
- "reduction_bins": 668,
- "band": {
- "1": {
- "sr": 11025,
- "hl": 128,
- "n_fft": 1024,
- "crop_start": 0,
- "crop_stop": 186,
- "lpf_start": 37,
- "lpf_stop": 73,
- "res_type": "polyphase"
- },
- "2": {
- "sr": 11025,
- "hl": 128,
- "n_fft": 512,
- "crop_start": 4,
- "crop_stop": 185,
- "hpf_start": 36,
- "hpf_stop": 18,
- "lpf_start": 93,
- "lpf_stop": 185,
- "res_type": "polyphase"
- },
- "3": {
- "sr": 22050,
- "hl": 256,
- "n_fft": 512,
- "crop_start": 46,
- "crop_stop": 186,
- "hpf_start": 93,
- "hpf_stop": 46,
- "lpf_start": 164,
- "lpf_stop": 186,
- "res_type": "polyphase"
- },
- "4": {
- "sr": 44100,
- "hl": 512,
- "n_fft": 768,
- "crop_start": 121,
- "crop_stop": 382,
- "hpf_start": 138,
- "hpf_stop": 123,
- "res_type": "sinc_medium"
- }
- },
- "sr": 44100,
- "pre_filter_start": 740,
- "pre_filter_stop": 768
-}
\ No newline at end of file
diff --git a/tools/uvr5/lib/lib_v5/modelparams/4band_44100_reverse.json b/tools/uvr5/lib/lib_v5/modelparams/4band_44100_reverse.json
deleted file mode 100644
index 7a07d554..00000000
--- a/tools/uvr5/lib/lib_v5/modelparams/4band_44100_reverse.json
+++ /dev/null
@@ -1,55 +0,0 @@
-{
- "reverse": true,
- "bins": 768,
- "unstable_bins": 7,
- "reduction_bins": 668,
- "band": {
- "1": {
- "sr": 11025,
- "hl": 128,
- "n_fft": 1024,
- "crop_start": 0,
- "crop_stop": 186,
- "lpf_start": 37,
- "lpf_stop": 73,
- "res_type": "polyphase"
- },
- "2": {
- "sr": 11025,
- "hl": 128,
- "n_fft": 512,
- "crop_start": 4,
- "crop_stop": 185,
- "hpf_start": 36,
- "hpf_stop": 18,
- "lpf_start": 93,
- "lpf_stop": 185,
- "res_type": "polyphase"
- },
- "3": {
- "sr": 22050,
- "hl": 256,
- "n_fft": 512,
- "crop_start": 46,
- "crop_stop": 186,
- "hpf_start": 93,
- "hpf_stop": 46,
- "lpf_start": 164,
- "lpf_stop": 186,
- "res_type": "polyphase"
- },
- "4": {
- "sr": 44100,
- "hl": 512,
- "n_fft": 768,
- "crop_start": 121,
- "crop_stop": 382,
- "hpf_start": 138,
- "hpf_stop": 123,
- "res_type": "sinc_medium"
- }
- },
- "sr": 44100,
- "pre_filter_start": 740,
- "pre_filter_stop": 768
-}
\ No newline at end of file
diff --git a/tools/uvr5/lib/lib_v5/modelparams/4band_44100_sw.json b/tools/uvr5/lib/lib_v5/modelparams/4band_44100_sw.json
deleted file mode 100644
index ba0cf342..00000000
--- a/tools/uvr5/lib/lib_v5/modelparams/4band_44100_sw.json
+++ /dev/null
@@ -1,55 +0,0 @@
-{
- "stereo_w": true,
- "bins": 768,
- "unstable_bins": 7,
- "reduction_bins": 668,
- "band": {
- "1": {
- "sr": 11025,
- "hl": 128,
- "n_fft": 1024,
- "crop_start": 0,
- "crop_stop": 186,
- "lpf_start": 37,
- "lpf_stop": 73,
- "res_type": "polyphase"
- },
- "2": {
- "sr": 11025,
- "hl": 128,
- "n_fft": 512,
- "crop_start": 4,
- "crop_stop": 185,
- "hpf_start": 36,
- "hpf_stop": 18,
- "lpf_start": 93,
- "lpf_stop": 185,
- "res_type": "polyphase"
- },
- "3": {
- "sr": 22050,
- "hl": 256,
- "n_fft": 512,
- "crop_start": 46,
- "crop_stop": 186,
- "hpf_start": 93,
- "hpf_stop": 46,
- "lpf_start": 164,
- "lpf_stop": 186,
- "res_type": "polyphase"
- },
- "4": {
- "sr": 44100,
- "hl": 512,
- "n_fft": 768,
- "crop_start": 121,
- "crop_stop": 382,
- "hpf_start": 138,
- "hpf_stop": 123,
- "res_type": "sinc_medium"
- }
- },
- "sr": 44100,
- "pre_filter_start": 740,
- "pre_filter_stop": 768
-}
\ No newline at end of file
diff --git a/tools/uvr5/lib/lib_v5/modelparams/4band_v2.json b/tools/uvr5/lib/lib_v5/modelparams/4band_v2.json
deleted file mode 100644
index 33281a0c..00000000
--- a/tools/uvr5/lib/lib_v5/modelparams/4band_v2.json
+++ /dev/null
@@ -1,54 +0,0 @@
-{
- "bins": 672,
- "unstable_bins": 8,
- "reduction_bins": 637,
- "band": {
- "1": {
- "sr": 7350,
- "hl": 80,
- "n_fft": 640,
- "crop_start": 0,
- "crop_stop": 85,
- "lpf_start": 25,
- "lpf_stop": 53,
- "res_type": "polyphase"
- },
- "2": {
- "sr": 7350,
- "hl": 80,
- "n_fft": 320,
- "crop_start": 4,
- "crop_stop": 87,
- "hpf_start": 25,
- "hpf_stop": 12,
- "lpf_start": 31,
- "lpf_stop": 62,
- "res_type": "polyphase"
- },
- "3": {
- "sr": 14700,
- "hl": 160,
- "n_fft": 512,
- "crop_start": 17,
- "crop_stop": 216,
- "hpf_start": 48,
- "hpf_stop": 24,
- "lpf_start": 139,
- "lpf_stop": 210,
- "res_type": "polyphase"
- },
- "4": {
- "sr": 44100,
- "hl": 480,
- "n_fft": 960,
- "crop_start": 78,
- "crop_stop": 383,
- "hpf_start": 130,
- "hpf_stop": 86,
- "res_type": "kaiser_fast"
- }
- },
- "sr": 44100,
- "pre_filter_start": 668,
- "pre_filter_stop": 672
-}
\ No newline at end of file
diff --git a/tools/uvr5/lib/lib_v5/modelparams/4band_v2_sn.json b/tools/uvr5/lib/lib_v5/modelparams/4band_v2_sn.json
deleted file mode 100644
index 2e5c770f..00000000
--- a/tools/uvr5/lib/lib_v5/modelparams/4band_v2_sn.json
+++ /dev/null
@@ -1,55 +0,0 @@
-{
- "bins": 672,
- "unstable_bins": 8,
- "reduction_bins": 637,
- "band": {
- "1": {
- "sr": 7350,
- "hl": 80,
- "n_fft": 640,
- "crop_start": 0,
- "crop_stop": 85,
- "lpf_start": 25,
- "lpf_stop": 53,
- "res_type": "polyphase"
- },
- "2": {
- "sr": 7350,
- "hl": 80,
- "n_fft": 320,
- "crop_start": 4,
- "crop_stop": 87,
- "hpf_start": 25,
- "hpf_stop": 12,
- "lpf_start": 31,
- "lpf_stop": 62,
- "res_type": "polyphase"
- },
- "3": {
- "sr": 14700,
- "hl": 160,
- "n_fft": 512,
- "crop_start": 17,
- "crop_stop": 216,
- "hpf_start": 48,
- "hpf_stop": 24,
- "lpf_start": 139,
- "lpf_stop": 210,
- "res_type": "polyphase"
- },
- "4": {
- "sr": 44100,
- "hl": 480,
- "n_fft": 960,
- "crop_start": 78,
- "crop_stop": 383,
- "hpf_start": 130,
- "hpf_stop": 86,
- "convert_channels": "stereo_n",
- "res_type": "kaiser_fast"
- }
- },
- "sr": 44100,
- "pre_filter_start": 668,
- "pre_filter_stop": 672
-}
\ No newline at end of file
diff --git a/tools/uvr5/lib/lib_v5/modelparams/4band_v3.json b/tools/uvr5/lib/lib_v5/modelparams/4band_v3.json
deleted file mode 100644
index 2a73bc97..00000000
--- a/tools/uvr5/lib/lib_v5/modelparams/4band_v3.json
+++ /dev/null
@@ -1,54 +0,0 @@
-{
- "bins": 672,
- "unstable_bins": 8,
- "reduction_bins": 530,
- "band": {
- "1": {
- "sr": 7350,
- "hl": 80,
- "n_fft": 640,
- "crop_start": 0,
- "crop_stop": 85,
- "lpf_start": 25,
- "lpf_stop": 53,
- "res_type": "polyphase"
- },
- "2": {
- "sr": 7350,
- "hl": 80,
- "n_fft": 320,
- "crop_start": 4,
- "crop_stop": 87,
- "hpf_start": 25,
- "hpf_stop": 12,
- "lpf_start": 31,
- "lpf_stop": 62,
- "res_type": "polyphase"
- },
- "3": {
- "sr": 14700,
- "hl": 160,
- "n_fft": 512,
- "crop_start": 17,
- "crop_stop": 216,
- "hpf_start": 48,
- "hpf_stop": 24,
- "lpf_start": 139,
- "lpf_stop": 210,
- "res_type": "polyphase"
- },
- "4": {
- "sr": 44100,
- "hl": 480,
- "n_fft": 960,
- "crop_start": 78,
- "crop_stop": 383,
- "hpf_start": 130,
- "hpf_stop": 86,
- "res_type": "kaiser_fast"
- }
- },
- "sr": 44100,
- "pre_filter_start": 668,
- "pre_filter_stop": 672
-}
\ No newline at end of file
diff --git a/tools/uvr5/lib/lib_v5/modelparams/ensemble.json b/tools/uvr5/lib/lib_v5/modelparams/ensemble.json
deleted file mode 100644
index ee69beb4..00000000
--- a/tools/uvr5/lib/lib_v5/modelparams/ensemble.json
+++ /dev/null
@@ -1,43 +0,0 @@
-{
- "mid_side_b2": true,
- "bins": 1280,
- "unstable_bins": 7,
- "reduction_bins": 565,
- "band": {
- "1": {
- "sr": 11025,
- "hl": 108,
- "n_fft": 2048,
- "crop_start": 0,
- "crop_stop": 374,
- "lpf_start": 92,
- "lpf_stop": 186,
- "res_type": "polyphase"
- },
- "2": {
- "sr": 22050,
- "hl": 216,
- "n_fft": 1536,
- "crop_start": 0,
- "crop_stop": 424,
- "hpf_start": 68,
- "hpf_stop": 34,
- "lpf_start": 348,
- "lpf_stop": 418,
- "res_type": "polyphase"
- },
- "3": {
- "sr": 44100,
- "hl": 432,
- "n_fft": 1280,
- "crop_start": 132,
- "crop_stop": 614,
- "hpf_start": 172,
- "hpf_stop": 144,
- "res_type": "polyphase"
- }
- },
- "sr": 44100,
- "pre_filter_start": 1280,
- "pre_filter_stop": 1280
-}
\ No newline at end of file
diff --git a/tools/uvr5/lib/lib_v5/nets.py b/tools/uvr5/lib/lib_v5/nets.py
deleted file mode 100644
index 42d7807a..00000000
--- a/tools/uvr5/lib/lib_v5/nets.py
+++ /dev/null
@@ -1,121 +0,0 @@
-import layers
-import torch
-import torch.nn.functional as F
-from torch import nn
-
-
-class BaseASPPNet(nn.Module):
- def __init__(self, nin, ch, dilations=(4, 8, 16)):
- super(BaseASPPNet, self).__init__()
- self.enc1 = layers.Encoder(nin, ch, 3, 2, 1)
- self.enc2 = layers.Encoder(ch, ch * 2, 3, 2, 1)
- self.enc3 = layers.Encoder(ch * 2, ch * 4, 3, 2, 1)
- self.enc4 = layers.Encoder(ch * 4, ch * 8, 3, 2, 1)
-
- self.aspp = layers.ASPPModule(ch * 8, ch * 16, dilations)
-
- self.dec4 = layers.Decoder(ch * (8 + 16), ch * 8, 3, 1, 1)
- self.dec3 = layers.Decoder(ch * (4 + 8), ch * 4, 3, 1, 1)
- self.dec2 = layers.Decoder(ch * (2 + 4), ch * 2, 3, 1, 1)
- self.dec1 = layers.Decoder(ch * (1 + 2), ch, 3, 1, 1)
-
- def __call__(self, x):
- h, e1 = self.enc1(x)
- h, e2 = self.enc2(h)
- h, e3 = self.enc3(h)
- h, e4 = self.enc4(h)
-
- h = self.aspp(h)
-
- h = self.dec4(h, e4)
- h = self.dec3(h, e3)
- h = self.dec2(h, e2)
- h = self.dec1(h, e1)
-
- return h
-
-
-class CascadedASPPNet(nn.Module):
- def __init__(self, n_fft):
- super(CascadedASPPNet, self).__init__()
- self.stg1_low_band_net = BaseASPPNet(2, 16)
- self.stg1_high_band_net = BaseASPPNet(2, 16)
-
- self.stg2_bridge = layers.Conv2DBNActiv(18, 8, 1, 1, 0)
- self.stg2_full_band_net = BaseASPPNet(8, 16)
-
- self.stg3_bridge = layers.Conv2DBNActiv(34, 16, 1, 1, 0)
- self.stg3_full_band_net = BaseASPPNet(16, 32)
-
- self.out = nn.Conv2d(32, 2, 1, bias=False)
- self.aux1_out = nn.Conv2d(16, 2, 1, bias=False)
- self.aux2_out = nn.Conv2d(16, 2, 1, bias=False)
-
- self.max_bin = n_fft // 2
- self.output_bin = n_fft // 2 + 1
-
- self.offset = 128
-
- def forward(self, x, aggressiveness=None):
- mix = x.detach()
- x = x.clone()
-
- x = x[:, :, : self.max_bin]
-
- bandw = x.size()[2] // 2
- aux1 = torch.cat(
- [
- self.stg1_low_band_net(x[:, :, :bandw]),
- self.stg1_high_band_net(x[:, :, bandw:]),
- ],
- dim=2,
- )
-
- h = torch.cat([x, aux1], dim=1)
- aux2 = self.stg2_full_band_net(self.stg2_bridge(h))
-
- h = torch.cat([x, aux1, aux2], dim=1)
- h = self.stg3_full_band_net(self.stg3_bridge(h))
-
- mask = torch.sigmoid(self.out(h))
- mask = F.pad(
- input=mask,
- pad=(0, 0, 0, self.output_bin - mask.size()[2]),
- mode="replicate",
- )
-
- if self.training:
- aux1 = torch.sigmoid(self.aux1_out(aux1))
- aux1 = F.pad(
- input=aux1,
- pad=(0, 0, 0, self.output_bin - aux1.size()[2]),
- mode="replicate",
- )
- aux2 = torch.sigmoid(self.aux2_out(aux2))
- aux2 = F.pad(
- input=aux2,
- pad=(0, 0, 0, self.output_bin - aux2.size()[2]),
- mode="replicate",
- )
- return mask * mix, aux1 * mix, aux2 * mix
- else:
- if aggressiveness:
- mask[:, :, : aggressiveness["split_bin"]] = torch.pow(
- mask[:, :, : aggressiveness["split_bin"]],
- 1 + aggressiveness["value"] / 3,
- )
- mask[:, :, aggressiveness["split_bin"] :] = torch.pow(
- mask[:, :, aggressiveness["split_bin"] :],
- 1 + aggressiveness["value"],
- )
-
- return mask * mix
-
- def predict(self, x_mag, aggressiveness=None):
- h = self.forward(x_mag, aggressiveness)
-
- if self.offset > 0:
- h = h[:, :, :, self.offset : -self.offset]
- assert h.size()[3] > 0
-
- return h
diff --git a/tools/uvr5/lib/lib_v5/nets_123812KB.py b/tools/uvr5/lib/lib_v5/nets_123812KB.py
deleted file mode 100644
index 167d4cb2..00000000
--- a/tools/uvr5/lib/lib_v5/nets_123812KB.py
+++ /dev/null
@@ -1,122 +0,0 @@
-import torch
-import torch.nn.functional as F
-from torch import nn
-
-from . import layers_123821KB as layers
-
-
-class BaseASPPNet(nn.Module):
- def __init__(self, nin, ch, dilations=(4, 8, 16)):
- super(BaseASPPNet, self).__init__()
- self.enc1 = layers.Encoder(nin, ch, 3, 2, 1)
- self.enc2 = layers.Encoder(ch, ch * 2, 3, 2, 1)
- self.enc3 = layers.Encoder(ch * 2, ch * 4, 3, 2, 1)
- self.enc4 = layers.Encoder(ch * 4, ch * 8, 3, 2, 1)
-
- self.aspp = layers.ASPPModule(ch * 8, ch * 16, dilations)
-
- self.dec4 = layers.Decoder(ch * (8 + 16), ch * 8, 3, 1, 1)
- self.dec3 = layers.Decoder(ch * (4 + 8), ch * 4, 3, 1, 1)
- self.dec2 = layers.Decoder(ch * (2 + 4), ch * 2, 3, 1, 1)
- self.dec1 = layers.Decoder(ch * (1 + 2), ch, 3, 1, 1)
-
- def __call__(self, x):
- h, e1 = self.enc1(x)
- h, e2 = self.enc2(h)
- h, e3 = self.enc3(h)
- h, e4 = self.enc4(h)
-
- h = self.aspp(h)
-
- h = self.dec4(h, e4)
- h = self.dec3(h, e3)
- h = self.dec2(h, e2)
- h = self.dec1(h, e1)
-
- return h
-
-
-class CascadedASPPNet(nn.Module):
- def __init__(self, n_fft):
- super(CascadedASPPNet, self).__init__()
- self.stg1_low_band_net = BaseASPPNet(2, 32)
- self.stg1_high_band_net = BaseASPPNet(2, 32)
-
- self.stg2_bridge = layers.Conv2DBNActiv(34, 16, 1, 1, 0)
- self.stg2_full_band_net = BaseASPPNet(16, 32)
-
- self.stg3_bridge = layers.Conv2DBNActiv(66, 32, 1, 1, 0)
- self.stg3_full_band_net = BaseASPPNet(32, 64)
-
- self.out = nn.Conv2d(64, 2, 1, bias=False)
- self.aux1_out = nn.Conv2d(32, 2, 1, bias=False)
- self.aux2_out = nn.Conv2d(32, 2, 1, bias=False)
-
- self.max_bin = n_fft // 2
- self.output_bin = n_fft // 2 + 1
-
- self.offset = 128
-
- def forward(self, x, aggressiveness=None):
- mix = x.detach()
- x = x.clone()
-
- x = x[:, :, : self.max_bin]
-
- bandw = x.size()[2] // 2
- aux1 = torch.cat(
- [
- self.stg1_low_band_net(x[:, :, :bandw]),
- self.stg1_high_band_net(x[:, :, bandw:]),
- ],
- dim=2,
- )
-
- h = torch.cat([x, aux1], dim=1)
- aux2 = self.stg2_full_band_net(self.stg2_bridge(h))
-
- h = torch.cat([x, aux1, aux2], dim=1)
- h = self.stg3_full_band_net(self.stg3_bridge(h))
-
- mask = torch.sigmoid(self.out(h))
- mask = F.pad(
- input=mask,
- pad=(0, 0, 0, self.output_bin - mask.size()[2]),
- mode="replicate",
- )
-
- if self.training:
- aux1 = torch.sigmoid(self.aux1_out(aux1))
- aux1 = F.pad(
- input=aux1,
- pad=(0, 0, 0, self.output_bin - aux1.size()[2]),
- mode="replicate",
- )
- aux2 = torch.sigmoid(self.aux2_out(aux2))
- aux2 = F.pad(
- input=aux2,
- pad=(0, 0, 0, self.output_bin - aux2.size()[2]),
- mode="replicate",
- )
- return mask * mix, aux1 * mix, aux2 * mix
- else:
- if aggressiveness:
- mask[:, :, : aggressiveness["split_bin"]] = torch.pow(
- mask[:, :, : aggressiveness["split_bin"]],
- 1 + aggressiveness["value"] / 3,
- )
- mask[:, :, aggressiveness["split_bin"] :] = torch.pow(
- mask[:, :, aggressiveness["split_bin"] :],
- 1 + aggressiveness["value"],
- )
-
- return mask * mix
-
- def predict(self, x_mag, aggressiveness=None):
- h = self.forward(x_mag, aggressiveness)
-
- if self.offset > 0:
- h = h[:, :, :, self.offset : -self.offset]
- assert h.size()[3] > 0
-
- return h
diff --git a/tools/uvr5/lib/lib_v5/nets_123821KB.py b/tools/uvr5/lib/lib_v5/nets_123821KB.py
deleted file mode 100644
index 167d4cb2..00000000
--- a/tools/uvr5/lib/lib_v5/nets_123821KB.py
+++ /dev/null
@@ -1,122 +0,0 @@
-import torch
-import torch.nn.functional as F
-from torch import nn
-
-from . import layers_123821KB as layers
-
-
-class BaseASPPNet(nn.Module):
- def __init__(self, nin, ch, dilations=(4, 8, 16)):
- super(BaseASPPNet, self).__init__()
- self.enc1 = layers.Encoder(nin, ch, 3, 2, 1)
- self.enc2 = layers.Encoder(ch, ch * 2, 3, 2, 1)
- self.enc3 = layers.Encoder(ch * 2, ch * 4, 3, 2, 1)
- self.enc4 = layers.Encoder(ch * 4, ch * 8, 3, 2, 1)
-
- self.aspp = layers.ASPPModule(ch * 8, ch * 16, dilations)
-
- self.dec4 = layers.Decoder(ch * (8 + 16), ch * 8, 3, 1, 1)
- self.dec3 = layers.Decoder(ch * (4 + 8), ch * 4, 3, 1, 1)
- self.dec2 = layers.Decoder(ch * (2 + 4), ch * 2, 3, 1, 1)
- self.dec1 = layers.Decoder(ch * (1 + 2), ch, 3, 1, 1)
-
- def __call__(self, x):
- h, e1 = self.enc1(x)
- h, e2 = self.enc2(h)
- h, e3 = self.enc3(h)
- h, e4 = self.enc4(h)
-
- h = self.aspp(h)
-
- h = self.dec4(h, e4)
- h = self.dec3(h, e3)
- h = self.dec2(h, e2)
- h = self.dec1(h, e1)
-
- return h
-
-
-class CascadedASPPNet(nn.Module):
- def __init__(self, n_fft):
- super(CascadedASPPNet, self).__init__()
- self.stg1_low_band_net = BaseASPPNet(2, 32)
- self.stg1_high_band_net = BaseASPPNet(2, 32)
-
- self.stg2_bridge = layers.Conv2DBNActiv(34, 16, 1, 1, 0)
- self.stg2_full_band_net = BaseASPPNet(16, 32)
-
- self.stg3_bridge = layers.Conv2DBNActiv(66, 32, 1, 1, 0)
- self.stg3_full_band_net = BaseASPPNet(32, 64)
-
- self.out = nn.Conv2d(64, 2, 1, bias=False)
- self.aux1_out = nn.Conv2d(32, 2, 1, bias=False)
- self.aux2_out = nn.Conv2d(32, 2, 1, bias=False)
-
- self.max_bin = n_fft // 2
- self.output_bin = n_fft // 2 + 1
-
- self.offset = 128
-
- def forward(self, x, aggressiveness=None):
- mix = x.detach()
- x = x.clone()
-
- x = x[:, :, : self.max_bin]
-
- bandw = x.size()[2] // 2
- aux1 = torch.cat(
- [
- self.stg1_low_band_net(x[:, :, :bandw]),
- self.stg1_high_band_net(x[:, :, bandw:]),
- ],
- dim=2,
- )
-
- h = torch.cat([x, aux1], dim=1)
- aux2 = self.stg2_full_band_net(self.stg2_bridge(h))
-
- h = torch.cat([x, aux1, aux2], dim=1)
- h = self.stg3_full_band_net(self.stg3_bridge(h))
-
- mask = torch.sigmoid(self.out(h))
- mask = F.pad(
- input=mask,
- pad=(0, 0, 0, self.output_bin - mask.size()[2]),
- mode="replicate",
- )
-
- if self.training:
- aux1 = torch.sigmoid(self.aux1_out(aux1))
- aux1 = F.pad(
- input=aux1,
- pad=(0, 0, 0, self.output_bin - aux1.size()[2]),
- mode="replicate",
- )
- aux2 = torch.sigmoid(self.aux2_out(aux2))
- aux2 = F.pad(
- input=aux2,
- pad=(0, 0, 0, self.output_bin - aux2.size()[2]),
- mode="replicate",
- )
- return mask * mix, aux1 * mix, aux2 * mix
- else:
- if aggressiveness:
- mask[:, :, : aggressiveness["split_bin"]] = torch.pow(
- mask[:, :, : aggressiveness["split_bin"]],
- 1 + aggressiveness["value"] / 3,
- )
- mask[:, :, aggressiveness["split_bin"] :] = torch.pow(
- mask[:, :, aggressiveness["split_bin"] :],
- 1 + aggressiveness["value"],
- )
-
- return mask * mix
-
- def predict(self, x_mag, aggressiveness=None):
- h = self.forward(x_mag, aggressiveness)
-
- if self.offset > 0:
- h = h[:, :, :, self.offset : -self.offset]
- assert h.size()[3] > 0
-
- return h
diff --git a/tools/uvr5/lib/lib_v5/nets_33966KB.py b/tools/uvr5/lib/lib_v5/nets_33966KB.py
deleted file mode 100644
index 73a5b836..00000000
--- a/tools/uvr5/lib/lib_v5/nets_33966KB.py
+++ /dev/null
@@ -1,122 +0,0 @@
-import torch
-import torch.nn.functional as F
-from torch import nn
-
-from . import layers_33966KB as layers
-
-
-class BaseASPPNet(nn.Module):
- def __init__(self, nin, ch, dilations=(4, 8, 16, 32)):
- super(BaseASPPNet, self).__init__()
- self.enc1 = layers.Encoder(nin, ch, 3, 2, 1)
- self.enc2 = layers.Encoder(ch, ch * 2, 3, 2, 1)
- self.enc3 = layers.Encoder(ch * 2, ch * 4, 3, 2, 1)
- self.enc4 = layers.Encoder(ch * 4, ch * 8, 3, 2, 1)
-
- self.aspp = layers.ASPPModule(ch * 8, ch * 16, dilations)
-
- self.dec4 = layers.Decoder(ch * (8 + 16), ch * 8, 3, 1, 1)
- self.dec3 = layers.Decoder(ch * (4 + 8), ch * 4, 3, 1, 1)
- self.dec2 = layers.Decoder(ch * (2 + 4), ch * 2, 3, 1, 1)
- self.dec1 = layers.Decoder(ch * (1 + 2), ch, 3, 1, 1)
-
- def __call__(self, x):
- h, e1 = self.enc1(x)
- h, e2 = self.enc2(h)
- h, e3 = self.enc3(h)
- h, e4 = self.enc4(h)
-
- h = self.aspp(h)
-
- h = self.dec4(h, e4)
- h = self.dec3(h, e3)
- h = self.dec2(h, e2)
- h = self.dec1(h, e1)
-
- return h
-
-
-class CascadedASPPNet(nn.Module):
- def __init__(self, n_fft):
- super(CascadedASPPNet, self).__init__()
- self.stg1_low_band_net = BaseASPPNet(2, 16)
- self.stg1_high_band_net = BaseASPPNet(2, 16)
-
- self.stg2_bridge = layers.Conv2DBNActiv(18, 8, 1, 1, 0)
- self.stg2_full_band_net = BaseASPPNet(8, 16)
-
- self.stg3_bridge = layers.Conv2DBNActiv(34, 16, 1, 1, 0)
- self.stg3_full_band_net = BaseASPPNet(16, 32)
-
- self.out = nn.Conv2d(32, 2, 1, bias=False)
- self.aux1_out = nn.Conv2d(16, 2, 1, bias=False)
- self.aux2_out = nn.Conv2d(16, 2, 1, bias=False)
-
- self.max_bin = n_fft // 2
- self.output_bin = n_fft // 2 + 1
-
- self.offset = 128
-
- def forward(self, x, aggressiveness=None):
- mix = x.detach()
- x = x.clone()
-
- x = x[:, :, : self.max_bin]
-
- bandw = x.size()[2] // 2
- aux1 = torch.cat(
- [
- self.stg1_low_band_net(x[:, :, :bandw]),
- self.stg1_high_band_net(x[:, :, bandw:]),
- ],
- dim=2,
- )
-
- h = torch.cat([x, aux1], dim=1)
- aux2 = self.stg2_full_band_net(self.stg2_bridge(h))
-
- h = torch.cat([x, aux1, aux2], dim=1)
- h = self.stg3_full_band_net(self.stg3_bridge(h))
-
- mask = torch.sigmoid(self.out(h))
- mask = F.pad(
- input=mask,
- pad=(0, 0, 0, self.output_bin - mask.size()[2]),
- mode="replicate",
- )
-
- if self.training:
- aux1 = torch.sigmoid(self.aux1_out(aux1))
- aux1 = F.pad(
- input=aux1,
- pad=(0, 0, 0, self.output_bin - aux1.size()[2]),
- mode="replicate",
- )
- aux2 = torch.sigmoid(self.aux2_out(aux2))
- aux2 = F.pad(
- input=aux2,
- pad=(0, 0, 0, self.output_bin - aux2.size()[2]),
- mode="replicate",
- )
- return mask * mix, aux1 * mix, aux2 * mix
- else:
- if aggressiveness:
- mask[:, :, : aggressiveness["split_bin"]] = torch.pow(
- mask[:, :, : aggressiveness["split_bin"]],
- 1 + aggressiveness["value"] / 3,
- )
- mask[:, :, aggressiveness["split_bin"] :] = torch.pow(
- mask[:, :, aggressiveness["split_bin"] :],
- 1 + aggressiveness["value"],
- )
-
- return mask * mix
-
- def predict(self, x_mag, aggressiveness=None):
- h = self.forward(x_mag, aggressiveness)
-
- if self.offset > 0:
- h = h[:, :, :, self.offset : -self.offset]
- assert h.size()[3] > 0
-
- return h
diff --git a/tools/uvr5/lib/lib_v5/nets_537227KB.py b/tools/uvr5/lib/lib_v5/nets_537227KB.py
deleted file mode 100644
index 9bb1df1e..00000000
--- a/tools/uvr5/lib/lib_v5/nets_537227KB.py
+++ /dev/null
@@ -1,122 +0,0 @@
-import torch
-import torch.nn.functional as F
-from torch import nn
-
-from . import layers_537238KB as layers
-
-
-class BaseASPPNet(nn.Module):
- def __init__(self, nin, ch, dilations=(4, 8, 16)):
- super(BaseASPPNet, self).__init__()
- self.enc1 = layers.Encoder(nin, ch, 3, 2, 1)
- self.enc2 = layers.Encoder(ch, ch * 2, 3, 2, 1)
- self.enc3 = layers.Encoder(ch * 2, ch * 4, 3, 2, 1)
- self.enc4 = layers.Encoder(ch * 4, ch * 8, 3, 2, 1)
-
- self.aspp = layers.ASPPModule(ch * 8, ch * 16, dilations)
-
- self.dec4 = layers.Decoder(ch * (8 + 16), ch * 8, 3, 1, 1)
- self.dec3 = layers.Decoder(ch * (4 + 8), ch * 4, 3, 1, 1)
- self.dec2 = layers.Decoder(ch * (2 + 4), ch * 2, 3, 1, 1)
- self.dec1 = layers.Decoder(ch * (1 + 2), ch, 3, 1, 1)
-
- def __call__(self, x):
- h, e1 = self.enc1(x)
- h, e2 = self.enc2(h)
- h, e3 = self.enc3(h)
- h, e4 = self.enc4(h)
-
- h = self.aspp(h)
-
- h = self.dec4(h, e4)
- h = self.dec3(h, e3)
- h = self.dec2(h, e2)
- h = self.dec1(h, e1)
-
- return h
-
-
-class CascadedASPPNet(nn.Module):
- def __init__(self, n_fft):
- super(CascadedASPPNet, self).__init__()
- self.stg1_low_band_net = BaseASPPNet(2, 64)
- self.stg1_high_band_net = BaseASPPNet(2, 64)
-
- self.stg2_bridge = layers.Conv2DBNActiv(66, 32, 1, 1, 0)
- self.stg2_full_band_net = BaseASPPNet(32, 64)
-
- self.stg3_bridge = layers.Conv2DBNActiv(130, 64, 1, 1, 0)
- self.stg3_full_band_net = BaseASPPNet(64, 128)
-
- self.out = nn.Conv2d(128, 2, 1, bias=False)
- self.aux1_out = nn.Conv2d(64, 2, 1, bias=False)
- self.aux2_out = nn.Conv2d(64, 2, 1, bias=False)
-
- self.max_bin = n_fft // 2
- self.output_bin = n_fft // 2 + 1
-
- self.offset = 128
-
- def forward(self, x, aggressiveness=None):
- mix = x.detach()
- x = x.clone()
-
- x = x[:, :, : self.max_bin]
-
- bandw = x.size()[2] // 2
- aux1 = torch.cat(
- [
- self.stg1_low_band_net(x[:, :, :bandw]),
- self.stg1_high_band_net(x[:, :, bandw:]),
- ],
- dim=2,
- )
-
- h = torch.cat([x, aux1], dim=1)
- aux2 = self.stg2_full_band_net(self.stg2_bridge(h))
-
- h = torch.cat([x, aux1, aux2], dim=1)
- h = self.stg3_full_band_net(self.stg3_bridge(h))
-
- mask = torch.sigmoid(self.out(h))
- mask = F.pad(
- input=mask,
- pad=(0, 0, 0, self.output_bin - mask.size()[2]),
- mode="replicate",
- )
-
- if self.training:
- aux1 = torch.sigmoid(self.aux1_out(aux1))
- aux1 = F.pad(
- input=aux1,
- pad=(0, 0, 0, self.output_bin - aux1.size()[2]),
- mode="replicate",
- )
- aux2 = torch.sigmoid(self.aux2_out(aux2))
- aux2 = F.pad(
- input=aux2,
- pad=(0, 0, 0, self.output_bin - aux2.size()[2]),
- mode="replicate",
- )
- return mask * mix, aux1 * mix, aux2 * mix
- else:
- if aggressiveness:
- mask[:, :, : aggressiveness["split_bin"]] = torch.pow(
- mask[:, :, : aggressiveness["split_bin"]],
- 1 + aggressiveness["value"] / 3,
- )
- mask[:, :, aggressiveness["split_bin"] :] = torch.pow(
- mask[:, :, aggressiveness["split_bin"] :],
- 1 + aggressiveness["value"],
- )
-
- return mask * mix
-
- def predict(self, x_mag, aggressiveness=None):
- h = self.forward(x_mag, aggressiveness)
-
- if self.offset > 0:
- h = h[:, :, :, self.offset : -self.offset]
- assert h.size()[3] > 0
-
- return h
diff --git a/tools/uvr5/lib/lib_v5/nets_537238KB.py b/tools/uvr5/lib/lib_v5/nets_537238KB.py
deleted file mode 100644
index 9bb1df1e..00000000
--- a/tools/uvr5/lib/lib_v5/nets_537238KB.py
+++ /dev/null
@@ -1,122 +0,0 @@
-import torch
-import torch.nn.functional as F
-from torch import nn
-
-from . import layers_537238KB as layers
-
-
-class BaseASPPNet(nn.Module):
- def __init__(self, nin, ch, dilations=(4, 8, 16)):
- super(BaseASPPNet, self).__init__()
- self.enc1 = layers.Encoder(nin, ch, 3, 2, 1)
- self.enc2 = layers.Encoder(ch, ch * 2, 3, 2, 1)
- self.enc3 = layers.Encoder(ch * 2, ch * 4, 3, 2, 1)
- self.enc4 = layers.Encoder(ch * 4, ch * 8, 3, 2, 1)
-
- self.aspp = layers.ASPPModule(ch * 8, ch * 16, dilations)
-
- self.dec4 = layers.Decoder(ch * (8 + 16), ch * 8, 3, 1, 1)
- self.dec3 = layers.Decoder(ch * (4 + 8), ch * 4, 3, 1, 1)
- self.dec2 = layers.Decoder(ch * (2 + 4), ch * 2, 3, 1, 1)
- self.dec1 = layers.Decoder(ch * (1 + 2), ch, 3, 1, 1)
-
- def __call__(self, x):
- h, e1 = self.enc1(x)
- h, e2 = self.enc2(h)
- h, e3 = self.enc3(h)
- h, e4 = self.enc4(h)
-
- h = self.aspp(h)
-
- h = self.dec4(h, e4)
- h = self.dec3(h, e3)
- h = self.dec2(h, e2)
- h = self.dec1(h, e1)
-
- return h
-
-
-class CascadedASPPNet(nn.Module):
- def __init__(self, n_fft):
- super(CascadedASPPNet, self).__init__()
- self.stg1_low_band_net = BaseASPPNet(2, 64)
- self.stg1_high_band_net = BaseASPPNet(2, 64)
-
- self.stg2_bridge = layers.Conv2DBNActiv(66, 32, 1, 1, 0)
- self.stg2_full_band_net = BaseASPPNet(32, 64)
-
- self.stg3_bridge = layers.Conv2DBNActiv(130, 64, 1, 1, 0)
- self.stg3_full_band_net = BaseASPPNet(64, 128)
-
- self.out = nn.Conv2d(128, 2, 1, bias=False)
- self.aux1_out = nn.Conv2d(64, 2, 1, bias=False)
- self.aux2_out = nn.Conv2d(64, 2, 1, bias=False)
-
- self.max_bin = n_fft // 2
- self.output_bin = n_fft // 2 + 1
-
- self.offset = 128
-
- def forward(self, x, aggressiveness=None):
- mix = x.detach()
- x = x.clone()
-
- x = x[:, :, : self.max_bin]
-
- bandw = x.size()[2] // 2
- aux1 = torch.cat(
- [
- self.stg1_low_band_net(x[:, :, :bandw]),
- self.stg1_high_band_net(x[:, :, bandw:]),
- ],
- dim=2,
- )
-
- h = torch.cat([x, aux1], dim=1)
- aux2 = self.stg2_full_band_net(self.stg2_bridge(h))
-
- h = torch.cat([x, aux1, aux2], dim=1)
- h = self.stg3_full_band_net(self.stg3_bridge(h))
-
- mask = torch.sigmoid(self.out(h))
- mask = F.pad(
- input=mask,
- pad=(0, 0, 0, self.output_bin - mask.size()[2]),
- mode="replicate",
- )
-
- if self.training:
- aux1 = torch.sigmoid(self.aux1_out(aux1))
- aux1 = F.pad(
- input=aux1,
- pad=(0, 0, 0, self.output_bin - aux1.size()[2]),
- mode="replicate",
- )
- aux2 = torch.sigmoid(self.aux2_out(aux2))
- aux2 = F.pad(
- input=aux2,
- pad=(0, 0, 0, self.output_bin - aux2.size()[2]),
- mode="replicate",
- )
- return mask * mix, aux1 * mix, aux2 * mix
- else:
- if aggressiveness:
- mask[:, :, : aggressiveness["split_bin"]] = torch.pow(
- mask[:, :, : aggressiveness["split_bin"]],
- 1 + aggressiveness["value"] / 3,
- )
- mask[:, :, aggressiveness["split_bin"] :] = torch.pow(
- mask[:, :, aggressiveness["split_bin"] :],
- 1 + aggressiveness["value"],
- )
-
- return mask * mix
-
- def predict(self, x_mag, aggressiveness=None):
- h = self.forward(x_mag, aggressiveness)
-
- if self.offset > 0:
- h = h[:, :, :, self.offset : -self.offset]
- assert h.size()[3] > 0
-
- return h
diff --git a/tools/uvr5/lib/lib_v5/nets_61968KB.py b/tools/uvr5/lib/lib_v5/nets_61968KB.py
deleted file mode 100644
index 167d4cb2..00000000
--- a/tools/uvr5/lib/lib_v5/nets_61968KB.py
+++ /dev/null
@@ -1,122 +0,0 @@
-import torch
-import torch.nn.functional as F
-from torch import nn
-
-from . import layers_123821KB as layers
-
-
-class BaseASPPNet(nn.Module):
- def __init__(self, nin, ch, dilations=(4, 8, 16)):
- super(BaseASPPNet, self).__init__()
- self.enc1 = layers.Encoder(nin, ch, 3, 2, 1)
- self.enc2 = layers.Encoder(ch, ch * 2, 3, 2, 1)
- self.enc3 = layers.Encoder(ch * 2, ch * 4, 3, 2, 1)
- self.enc4 = layers.Encoder(ch * 4, ch * 8, 3, 2, 1)
-
- self.aspp = layers.ASPPModule(ch * 8, ch * 16, dilations)
-
- self.dec4 = layers.Decoder(ch * (8 + 16), ch * 8, 3, 1, 1)
- self.dec3 = layers.Decoder(ch * (4 + 8), ch * 4, 3, 1, 1)
- self.dec2 = layers.Decoder(ch * (2 + 4), ch * 2, 3, 1, 1)
- self.dec1 = layers.Decoder(ch * (1 + 2), ch, 3, 1, 1)
-
- def __call__(self, x):
- h, e1 = self.enc1(x)
- h, e2 = self.enc2(h)
- h, e3 = self.enc3(h)
- h, e4 = self.enc4(h)
-
- h = self.aspp(h)
-
- h = self.dec4(h, e4)
- h = self.dec3(h, e3)
- h = self.dec2(h, e2)
- h = self.dec1(h, e1)
-
- return h
-
-
-class CascadedASPPNet(nn.Module):
- def __init__(self, n_fft):
- super(CascadedASPPNet, self).__init__()
- self.stg1_low_band_net = BaseASPPNet(2, 32)
- self.stg1_high_band_net = BaseASPPNet(2, 32)
-
- self.stg2_bridge = layers.Conv2DBNActiv(34, 16, 1, 1, 0)
- self.stg2_full_band_net = BaseASPPNet(16, 32)
-
- self.stg3_bridge = layers.Conv2DBNActiv(66, 32, 1, 1, 0)
- self.stg3_full_band_net = BaseASPPNet(32, 64)
-
- self.out = nn.Conv2d(64, 2, 1, bias=False)
- self.aux1_out = nn.Conv2d(32, 2, 1, bias=False)
- self.aux2_out = nn.Conv2d(32, 2, 1, bias=False)
-
- self.max_bin = n_fft // 2
- self.output_bin = n_fft // 2 + 1
-
- self.offset = 128
-
- def forward(self, x, aggressiveness=None):
- mix = x.detach()
- x = x.clone()
-
- x = x[:, :, : self.max_bin]
-
- bandw = x.size()[2] // 2
- aux1 = torch.cat(
- [
- self.stg1_low_band_net(x[:, :, :bandw]),
- self.stg1_high_band_net(x[:, :, bandw:]),
- ],
- dim=2,
- )
-
- h = torch.cat([x, aux1], dim=1)
- aux2 = self.stg2_full_band_net(self.stg2_bridge(h))
-
- h = torch.cat([x, aux1, aux2], dim=1)
- h = self.stg3_full_band_net(self.stg3_bridge(h))
-
- mask = torch.sigmoid(self.out(h))
- mask = F.pad(
- input=mask,
- pad=(0, 0, 0, self.output_bin - mask.size()[2]),
- mode="replicate",
- )
-
- if self.training:
- aux1 = torch.sigmoid(self.aux1_out(aux1))
- aux1 = F.pad(
- input=aux1,
- pad=(0, 0, 0, self.output_bin - aux1.size()[2]),
- mode="replicate",
- )
- aux2 = torch.sigmoid(self.aux2_out(aux2))
- aux2 = F.pad(
- input=aux2,
- pad=(0, 0, 0, self.output_bin - aux2.size()[2]),
- mode="replicate",
- )
- return mask * mix, aux1 * mix, aux2 * mix
- else:
- if aggressiveness:
- mask[:, :, : aggressiveness["split_bin"]] = torch.pow(
- mask[:, :, : aggressiveness["split_bin"]],
- 1 + aggressiveness["value"] / 3,
- )
- mask[:, :, aggressiveness["split_bin"] :] = torch.pow(
- mask[:, :, aggressiveness["split_bin"] :],
- 1 + aggressiveness["value"],
- )
-
- return mask * mix
-
- def predict(self, x_mag, aggressiveness=None):
- h = self.forward(x_mag, aggressiveness)
-
- if self.offset > 0:
- h = h[:, :, :, self.offset : -self.offset]
- assert h.size()[3] > 0
-
- return h
diff --git a/tools/uvr5/lib/lib_v5/nets_new.py b/tools/uvr5/lib/lib_v5/nets_new.py
deleted file mode 100644
index ba1a5599..00000000
--- a/tools/uvr5/lib/lib_v5/nets_new.py
+++ /dev/null
@@ -1,125 +0,0 @@
-import torch
-import torch.nn.functional as F
-from torch import nn
-
-from . import layers_new
-
-
-class BaseNet(nn.Module):
- def __init__(self, nin, nout, nin_lstm, nout_lstm, dilations=((4, 2), (8, 4), (12, 6))):
- super(BaseNet, self).__init__()
- self.enc1 = layers_new.Conv2DBNActiv(nin, nout, 3, 1, 1)
- self.enc2 = layers_new.Encoder(nout, nout * 2, 3, 2, 1)
- self.enc3 = layers_new.Encoder(nout * 2, nout * 4, 3, 2, 1)
- self.enc4 = layers_new.Encoder(nout * 4, nout * 6, 3, 2, 1)
- self.enc5 = layers_new.Encoder(nout * 6, nout * 8, 3, 2, 1)
-
- self.aspp = layers_new.ASPPModule(nout * 8, nout * 8, dilations, dropout=True)
-
- self.dec4 = layers_new.Decoder(nout * (6 + 8), nout * 6, 3, 1, 1)
- self.dec3 = layers_new.Decoder(nout * (4 + 6), nout * 4, 3, 1, 1)
- self.dec2 = layers_new.Decoder(nout * (2 + 4), nout * 2, 3, 1, 1)
- self.lstm_dec2 = layers_new.LSTMModule(nout * 2, nin_lstm, nout_lstm)
- self.dec1 = layers_new.Decoder(nout * (1 + 2) + 1, nout * 1, 3, 1, 1)
-
- def __call__(self, x):
- e1 = self.enc1(x)
- e2 = self.enc2(e1)
- e3 = self.enc3(e2)
- e4 = self.enc4(e3)
- e5 = self.enc5(e4)
-
- h = self.aspp(e5)
-
- h = self.dec4(h, e4)
- h = self.dec3(h, e3)
- h = self.dec2(h, e2)
- h = torch.cat([h, self.lstm_dec2(h)], dim=1)
- h = self.dec1(h, e1)
-
- return h
-
-
-class CascadedNet(nn.Module):
- def __init__(self, n_fft, nout=32, nout_lstm=128):
- super(CascadedNet, self).__init__()
-
- self.max_bin = n_fft // 2
- self.output_bin = n_fft // 2 + 1
- self.nin_lstm = self.max_bin // 2
- self.offset = 64
-
- self.stg1_low_band_net = nn.Sequential(
- BaseNet(2, nout // 2, self.nin_lstm // 2, nout_lstm),
- layers_new.Conv2DBNActiv(nout // 2, nout // 4, 1, 1, 0),
- )
-
- self.stg1_high_band_net = BaseNet(2, nout // 4, self.nin_lstm // 2, nout_lstm // 2)
-
- self.stg2_low_band_net = nn.Sequential(
- BaseNet(nout // 4 + 2, nout, self.nin_lstm // 2, nout_lstm),
- layers_new.Conv2DBNActiv(nout, nout // 2, 1, 1, 0),
- )
- self.stg2_high_band_net = BaseNet(nout // 4 + 2, nout // 2, self.nin_lstm // 2, nout_lstm // 2)
-
- self.stg3_full_band_net = BaseNet(3 * nout // 4 + 2, nout, self.nin_lstm, nout_lstm)
-
- self.out = nn.Conv2d(nout, 2, 1, bias=False)
- self.aux_out = nn.Conv2d(3 * nout // 4, 2, 1, bias=False)
-
- def forward(self, x):
- x = x[:, :, : self.max_bin]
-
- bandw = x.size()[2] // 2
- l1_in = x[:, :, :bandw]
- h1_in = x[:, :, bandw:]
- l1 = self.stg1_low_band_net(l1_in)
- h1 = self.stg1_high_band_net(h1_in)
- aux1 = torch.cat([l1, h1], dim=2)
-
- l2_in = torch.cat([l1_in, l1], dim=1)
- h2_in = torch.cat([h1_in, h1], dim=1)
- l2 = self.stg2_low_band_net(l2_in)
- h2 = self.stg2_high_band_net(h2_in)
- aux2 = torch.cat([l2, h2], dim=2)
-
- f3_in = torch.cat([x, aux1, aux2], dim=1)
- f3 = self.stg3_full_band_net(f3_in)
-
- mask = torch.sigmoid(self.out(f3))
- mask = F.pad(
- input=mask,
- pad=(0, 0, 0, self.output_bin - mask.size()[2]),
- mode="replicate",
- )
-
- if self.training:
- aux = torch.cat([aux1, aux2], dim=1)
- aux = torch.sigmoid(self.aux_out(aux))
- aux = F.pad(
- input=aux,
- pad=(0, 0, 0, self.output_bin - aux.size()[2]),
- mode="replicate",
- )
- return mask, aux
- else:
- return mask
-
- def predict_mask(self, x):
- mask = self.forward(x)
-
- if self.offset > 0:
- mask = mask[:, :, :, self.offset : -self.offset]
- assert mask.size()[3] > 0
-
- return mask
-
- def predict(self, x, aggressiveness=None):
- mask = self.forward(x)
- pred_mag = x * mask
-
- if self.offset > 0:
- pred_mag = pred_mag[:, :, :, self.offset : -self.offset]
- assert pred_mag.size()[3] > 0
-
- return pred_mag
diff --git a/tools/uvr5/lib/lib_v5/spec_utils.py b/tools/uvr5/lib/lib_v5/spec_utils.py
deleted file mode 100644
index 4d987cd8..00000000
--- a/tools/uvr5/lib/lib_v5/spec_utils.py
+++ /dev/null
@@ -1,635 +0,0 @@
-import hashlib
-import json
-import math
-import os
-
-import librosa
-import numpy as np
-import soundfile as sf
-from tqdm import tqdm
-
-
-def crop_center(h1, h2):
- h1_shape = h1.size()
- h2_shape = h2.size()
-
- if h1_shape[3] == h2_shape[3]:
- return h1
- elif h1_shape[3] < h2_shape[3]:
- raise ValueError("h1_shape[3] must be greater than h2_shape[3]")
-
- # s_freq = (h2_shape[2] - h1_shape[2]) // 2
- # e_freq = s_freq + h1_shape[2]
- s_time = (h1_shape[3] - h2_shape[3]) // 2
- e_time = s_time + h2_shape[3]
- h1 = h1[:, :, :, s_time:e_time]
-
- return h1
-
-
-def wave_to_spectrogram(wave, hop_length, n_fft, mid_side=False, mid_side_b2=False, reverse=False):
- if reverse:
- wave_left = np.flip(np.asfortranarray(wave[0]))
- wave_right = np.flip(np.asfortranarray(wave[1]))
- elif mid_side:
- wave_left = np.asfortranarray(np.add(wave[0], wave[1]) / 2)
- wave_right = np.asfortranarray(np.subtract(wave[0], wave[1]))
- elif mid_side_b2:
- wave_left = np.asfortranarray(np.add(wave[1], wave[0] * 0.5))
- wave_right = np.asfortranarray(np.subtract(wave[0], wave[1] * 0.5))
- else:
- wave_left = np.asfortranarray(wave[0])
- wave_right = np.asfortranarray(wave[1])
-
- spec_left = librosa.stft(wave_left, n_fft=n_fft, hop_length=hop_length)
- spec_right = librosa.stft(wave_right, n_fft=n_fft, hop_length=hop_length)
-
- spec = np.asfortranarray([spec_left, spec_right])
-
- return spec
-
-
-def wave_to_spectrogram_mt(wave, hop_length, n_fft, mid_side=False, mid_side_b2=False, reverse=False):
- import threading
-
- if reverse:
- wave_left = np.flip(np.asfortranarray(wave[0]))
- wave_right = np.flip(np.asfortranarray(wave[1]))
- elif mid_side:
- wave_left = np.asfortranarray(np.add(wave[0], wave[1]) / 2)
- wave_right = np.asfortranarray(np.subtract(wave[0], wave[1]))
- elif mid_side_b2:
- wave_left = np.asfortranarray(np.add(wave[1], wave[0] * 0.5))
- wave_right = np.asfortranarray(np.subtract(wave[0], wave[1] * 0.5))
- else:
- wave_left = np.asfortranarray(wave[0])
- wave_right = np.asfortranarray(wave[1])
-
- def run_thread(**kwargs):
- global spec_left
- spec_left = librosa.stft(**kwargs)
-
- thread = threading.Thread(
- target=run_thread,
- kwargs={"y": wave_left, "n_fft": n_fft, "hop_length": hop_length},
- )
- thread.start()
- spec_right = librosa.stft(wave_right, n_fft=n_fft, hop_length=hop_length)
- thread.join()
-
- spec = np.asfortranarray([spec_left, spec_right])
-
- return spec
-
-
-def combine_spectrograms(specs, mp):
- l = min([specs[i].shape[2] for i in specs])
- spec_c = np.zeros(shape=(2, mp.param["bins"] + 1, l), dtype=np.complex64)
- offset = 0
- bands_n = len(mp.param["band"])
-
- for d in range(1, bands_n + 1):
- h = mp.param["band"][d]["crop_stop"] - mp.param["band"][d]["crop_start"]
- spec_c[:, offset : offset + h, :l] = specs[d][
- :, mp.param["band"][d]["crop_start"] : mp.param["band"][d]["crop_stop"], :l
- ]
- offset += h
-
- if offset > mp.param["bins"]:
- raise ValueError("Too much bins")
-
- # lowpass fiter
- if mp.param["pre_filter_start"] > 0: # and mp.param['band'][bands_n]['res_type'] in ['scipy', 'polyphase']:
- if bands_n == 1:
- spec_c = fft_lp_filter(spec_c, mp.param["pre_filter_start"], mp.param["pre_filter_stop"])
- else:
- gp = 1
- for b in range(mp.param["pre_filter_start"] + 1, mp.param["pre_filter_stop"]):
- g = math.pow(10, -(b - mp.param["pre_filter_start"]) * (3.5 - gp) / 20.0)
- gp = g
- spec_c[:, b, :] *= g
-
- return np.asfortranarray(spec_c)
-
-
-def spectrogram_to_image(spec, mode="magnitude"):
- if mode == "magnitude":
- if np.iscomplexobj(spec):
- y = np.abs(spec)
- else:
- y = spec
- y = np.log10(y**2 + 1e-8)
- elif mode == "phase":
- if np.iscomplexobj(spec):
- y = np.angle(spec)
- else:
- y = spec
-
- y -= y.min()
- y *= 255 / y.max()
- img = np.uint8(y)
-
- if y.ndim == 3:
- img = img.transpose(1, 2, 0)
- img = np.concatenate([np.max(img, axis=2, keepdims=True), img], axis=2)
-
- return img
-
-
-def reduce_vocal_aggressively(X, y, softmask):
- v = X - y
- y_mag_tmp = np.abs(y)
- v_mag_tmp = np.abs(v)
-
- v_mask = v_mag_tmp > y_mag_tmp
- y_mag = np.clip(y_mag_tmp - v_mag_tmp * v_mask * softmask, 0, np.inf)
-
- return y_mag * np.exp(1.0j * np.angle(y))
-
-
-def mask_silence(mag, ref, thres=0.2, min_range=64, fade_size=32):
- if min_range < fade_size * 2:
- raise ValueError("min_range must be >= fade_area * 2")
-
- mag = mag.copy()
-
- idx = np.where(ref.mean(axis=(0, 1)) < thres)[0]
- starts = np.insert(idx[np.where(np.diff(idx) != 1)[0] + 1], 0, idx[0])
- ends = np.append(idx[np.where(np.diff(idx) != 1)[0]], idx[-1])
- uninformative = np.where(ends - starts > min_range)[0]
- if len(uninformative) > 0:
- starts = starts[uninformative]
- ends = ends[uninformative]
- old_e = None
- for s, e in zip(starts, ends):
- if old_e is not None and s - old_e < fade_size:
- s = old_e - fade_size * 2
-
- if s != 0:
- weight = np.linspace(0, 1, fade_size)
- mag[:, :, s : s + fade_size] += weight * ref[:, :, s : s + fade_size]
- else:
- s -= fade_size
-
- if e != mag.shape[2]:
- weight = np.linspace(1, 0, fade_size)
- mag[:, :, e - fade_size : e] += weight * ref[:, :, e - fade_size : e]
- else:
- e += fade_size
-
- mag[:, :, s + fade_size : e - fade_size] += ref[:, :, s + fade_size : e - fade_size]
- old_e = e
-
- return mag
-
-
-def align_wave_head_and_tail(a, b):
- l = min([a[0].size, b[0].size])
-
- return a[:l, :l], b[:l, :l]
-
-
-def cache_or_load(mix_path, inst_path, mp):
- mix_basename = os.path.splitext(os.path.basename(mix_path))[0]
- inst_basename = os.path.splitext(os.path.basename(inst_path))[0]
-
- cache_dir = "mph{}".format(hashlib.sha1(json.dumps(mp.param, sort_keys=True).encode("utf-8")).hexdigest())
- mix_cache_dir = os.path.join("cache", cache_dir)
- inst_cache_dir = os.path.join("cache", cache_dir)
-
- os.makedirs(mix_cache_dir, exist_ok=True)
- os.makedirs(inst_cache_dir, exist_ok=True)
-
- mix_cache_path = os.path.join(mix_cache_dir, mix_basename + ".npy")
- inst_cache_path = os.path.join(inst_cache_dir, inst_basename + ".npy")
-
- if os.path.exists(mix_cache_path) and os.path.exists(inst_cache_path):
- X_spec_m = np.load(mix_cache_path)
- y_spec_m = np.load(inst_cache_path)
- else:
- X_wave, y_wave, X_spec_s, y_spec_s = {}, {}, {}, {}
-
- for d in range(len(mp.param["band"]), 0, -1):
- bp = mp.param["band"][d]
-
- if d == len(mp.param["band"]): # high-end band
- X_wave[d], _ = librosa.load(
- mix_path, sr=bp["sr"], mono=False, dtype=np.float32, res_type=bp["res_type"]
- )
- y_wave[d], _ = librosa.load(
- inst_path,
- sr=bp["sr"],
- mono=False,
- dtype=np.float32,
- res_type=bp["res_type"],
- )
- else: # lower bands
- X_wave[d] = librosa.resample(
- X_wave[d + 1],
- orig_sr=mp.param["band"][d + 1]["sr"],
- target_sr=bp["sr"],
- res_type=bp["res_type"],
- )
- y_wave[d] = librosa.resample(
- y_wave[d + 1],
- orig_sr=mp.param["band"][d + 1]["sr"],
- target_sr=bp["sr"],
- res_type=bp["res_type"],
- )
-
- X_wave[d], y_wave[d] = align_wave_head_and_tail(X_wave[d], y_wave[d])
-
- X_spec_s[d] = wave_to_spectrogram(
- X_wave[d],
- bp["hl"],
- bp["n_fft"],
- mp.param["mid_side"],
- mp.param["mid_side_b2"],
- mp.param["reverse"],
- )
- y_spec_s[d] = wave_to_spectrogram(
- y_wave[d],
- bp["hl"],
- bp["n_fft"],
- mp.param["mid_side"],
- mp.param["mid_side_b2"],
- mp.param["reverse"],
- )
-
- del X_wave, y_wave
-
- X_spec_m = combine_spectrograms(X_spec_s, mp)
- y_spec_m = combine_spectrograms(y_spec_s, mp)
-
- if X_spec_m.shape != y_spec_m.shape:
- raise ValueError("The combined spectrograms are different: " + mix_path)
-
- _, ext = os.path.splitext(mix_path)
-
- np.save(mix_cache_path, X_spec_m)
- np.save(inst_cache_path, y_spec_m)
-
- return X_spec_m, y_spec_m
-
-
-def spectrogram_to_wave(spec, hop_length, mid_side, mid_side_b2, reverse):
- spec_left = np.asfortranarray(spec[0])
- spec_right = np.asfortranarray(spec[1])
-
- wave_left = librosa.istft(spec_left, hop_length=hop_length)
- wave_right = librosa.istft(spec_right, hop_length=hop_length)
-
- if reverse:
- return np.asfortranarray([np.flip(wave_left), np.flip(wave_right)])
- elif mid_side:
- return np.asfortranarray([np.add(wave_left, wave_right / 2), np.subtract(wave_left, wave_right / 2)])
- elif mid_side_b2:
- return np.asfortranarray(
- [
- np.add(wave_right / 1.25, 0.4 * wave_left),
- np.subtract(wave_left / 1.25, 0.4 * wave_right),
- ]
- )
- else:
- return np.asfortranarray([wave_left, wave_right])
-
-
-def spectrogram_to_wave_mt(spec, hop_length, mid_side, reverse, mid_side_b2):
- import threading
-
- spec_left = np.asfortranarray(spec[0])
- spec_right = np.asfortranarray(spec[1])
-
- def run_thread(**kwargs):
- global wave_left
- wave_left = librosa.istft(**kwargs)
-
- thread = threading.Thread(target=run_thread, kwargs={"stft_matrix": spec_left, "hop_length": hop_length})
- thread.start()
- wave_right = librosa.istft(spec_right, hop_length=hop_length)
- thread.join()
-
- if reverse:
- return np.asfortranarray([np.flip(wave_left), np.flip(wave_right)])
- elif mid_side:
- return np.asfortranarray([np.add(wave_left, wave_right / 2), np.subtract(wave_left, wave_right / 2)])
- elif mid_side_b2:
- return np.asfortranarray(
- [
- np.add(wave_right / 1.25, 0.4 * wave_left),
- np.subtract(wave_left / 1.25, 0.4 * wave_right),
- ]
- )
- else:
- return np.asfortranarray([wave_left, wave_right])
-
-
-def cmb_spectrogram_to_wave(spec_m, mp, extra_bins_h=None, extra_bins=None):
- wave_band = {}
- bands_n = len(mp.param["band"])
- offset = 0
-
- for d in range(1, bands_n + 1):
- bp = mp.param["band"][d]
- spec_s = np.ndarray(shape=(2, bp["n_fft"] // 2 + 1, spec_m.shape[2]), dtype=complex)
- h = bp["crop_stop"] - bp["crop_start"]
- spec_s[:, bp["crop_start"] : bp["crop_stop"], :] = spec_m[:, offset : offset + h, :]
-
- offset += h
- if d == bands_n: # higher
- if extra_bins_h: # if --high_end_process bypass
- max_bin = bp["n_fft"] // 2
- spec_s[:, max_bin - extra_bins_h : max_bin, :] = extra_bins[:, :extra_bins_h, :]
- if bp["hpf_start"] > 0:
- spec_s = fft_hp_filter(spec_s, bp["hpf_start"], bp["hpf_stop"] - 1)
- if bands_n == 1:
- wave = spectrogram_to_wave(
- spec_s,
- bp["hl"],
- mp.param["mid_side"],
- mp.param["mid_side_b2"],
- mp.param["reverse"],
- )
- else:
- wave = np.add(
- wave,
- spectrogram_to_wave(
- spec_s,
- bp["hl"],
- mp.param["mid_side"],
- mp.param["mid_side_b2"],
- mp.param["reverse"],
- ),
- )
- else:
- sr = mp.param["band"][d + 1]["sr"]
- if d == 1: # lower
- spec_s = fft_lp_filter(spec_s, bp["lpf_start"], bp["lpf_stop"])
- wave = librosa.resample(
- spectrogram_to_wave(
- spec_s,
- bp["hl"],
- mp.param["mid_side"],
- mp.param["mid_side_b2"],
- mp.param["reverse"],
- ),
- orig_sr=bp["sr"],
- target_sr=sr,
- res_type="sinc_fastest",
- )
- else: # mid
- spec_s = fft_hp_filter(spec_s, bp["hpf_start"], bp["hpf_stop"] - 1)
- spec_s = fft_lp_filter(spec_s, bp["lpf_start"], bp["lpf_stop"])
- wave2 = np.add(
- wave,
- spectrogram_to_wave(
- spec_s,
- bp["hl"],
- mp.param["mid_side"],
- mp.param["mid_side_b2"],
- mp.param["reverse"],
- ),
- )
- # wave = librosa.core.resample(wave2, orig_sr=bp['sr'], target_sr=sr, res_type="sinc_fastest")
- wave = librosa.core.resample(wave2, orig_sr=bp["sr"], target_sr=sr, res_type="scipy")
-
- return wave.T
-
-
-def fft_lp_filter(spec, bin_start, bin_stop):
- g = 1.0
- for b in range(bin_start, bin_stop):
- g -= 1 / (bin_stop - bin_start)
- spec[:, b, :] = g * spec[:, b, :]
-
- spec[:, bin_stop:, :] *= 0
-
- return spec
-
-
-def fft_hp_filter(spec, bin_start, bin_stop):
- g = 1.0
- for b in range(bin_start, bin_stop, -1):
- g -= 1 / (bin_start - bin_stop)
- spec[:, b, :] = g * spec[:, b, :]
-
- spec[:, 0 : bin_stop + 1, :] *= 0
-
- return spec
-
-
-def mirroring(a, spec_m, input_high_end, mp):
- if "mirroring" == a:
- mirror = np.flip(
- np.abs(
- spec_m[
- :,
- mp.param["pre_filter_start"] - 10 - input_high_end.shape[1] : mp.param["pre_filter_start"] - 10,
- :,
- ]
- ),
- 1,
- )
- mirror = mirror * np.exp(1.0j * np.angle(input_high_end))
-
- return np.where(np.abs(input_high_end) <= np.abs(mirror), input_high_end, mirror)
-
- if "mirroring2" == a:
- mirror = np.flip(
- np.abs(
- spec_m[
- :,
- mp.param["pre_filter_start"] - 10 - input_high_end.shape[1] : mp.param["pre_filter_start"] - 10,
- :,
- ]
- ),
- 1,
- )
- mi = np.multiply(mirror, input_high_end * 1.7)
-
- return np.where(np.abs(input_high_end) <= np.abs(mi), input_high_end, mi)
-
-
-def ensembling(a, specs):
- for i in range(1, len(specs)):
- if i == 1:
- spec = specs[0]
-
- ln = min([spec.shape[2], specs[i].shape[2]])
- spec = spec[:, :, :ln]
- specs[i] = specs[i][:, :, :ln]
-
- if "min_mag" == a:
- spec = np.where(np.abs(specs[i]) <= np.abs(spec), specs[i], spec)
- if "max_mag" == a:
- spec = np.where(np.abs(specs[i]) >= np.abs(spec), specs[i], spec)
-
- return spec
-
-
-def stft(wave, nfft, hl):
- wave_left = np.asfortranarray(wave[0])
- wave_right = np.asfortranarray(wave[1])
- spec_left = librosa.stft(wave_left, n_fft=nfft, hop_length=hl)
- spec_right = librosa.stft(wave_right, n_fft=nfft, hop_length=hl)
- spec = np.asfortranarray([spec_left, spec_right])
-
- return spec
-
-
-def istft(spec, hl):
- spec_left = np.asfortranarray(spec[0])
- spec_right = np.asfortranarray(spec[1])
-
- wave_left = librosa.istft(spec_left, hop_length=hl)
- wave_right = librosa.istft(spec_right, hop_length=hl)
- wave = np.asfortranarray([wave_left, wave_right])
-
-
-if __name__ == "__main__":
- import argparse
- import time
-
- import cv2
- from model_param_init import ModelParameters
-
- p = argparse.ArgumentParser()
- p.add_argument(
- "--algorithm",
- "-a",
- type=str,
- choices=["invert", "invert_p", "min_mag", "max_mag", "deep", "align"],
- default="min_mag",
- )
- p.add_argument(
- "--model_params",
- "-m",
- type=str,
- default=os.path.join("modelparams", "1band_sr44100_hl512.json"),
- )
- p.add_argument("--output_name", "-o", type=str, default="output")
- p.add_argument("--vocals_only", "-v", action="store_true")
- p.add_argument("input", nargs="+")
- args = p.parse_args()
-
- start_time = time.time()
-
- if args.algorithm.startswith("invert") and len(args.input) != 2:
- raise ValueError("There should be two input files.")
-
- if not args.algorithm.startswith("invert") and len(args.input) < 2:
- raise ValueError("There must be at least two input files.")
-
- wave, specs = {}, {}
- mp = ModelParameters(args.model_params)
-
- for i in range(len(args.input)):
- spec = {}
-
- for d in range(len(mp.param["band"]), 0, -1):
- bp = mp.param["band"][d]
-
- if d == len(mp.param["band"]): # high-end band
- wave[d], _ = librosa.load(
- args.input[i],
- sr=bp["sr"],
- mono=False,
- dtype=np.float32,
- res_type=bp["res_type"],
- )
-
- if len(wave[d].shape) == 1: # mono to stereo
- wave[d] = np.array([wave[d], wave[d]])
- else: # lower bands
- wave[d] = librosa.resample(
- wave[d + 1],
- orig_sr=mp.param["band"][d + 1]["sr"],
- target_sr=bp["sr"],
- res_type=bp["res_type"],
- )
-
- spec[d] = wave_to_spectrogram(
- wave[d],
- bp["hl"],
- bp["n_fft"],
- mp.param["mid_side"],
- mp.param["mid_side_b2"],
- mp.param["reverse"],
- )
-
- specs[i] = combine_spectrograms(spec, mp)
-
- del wave
-
- if args.algorithm == "deep":
- d_spec = np.where(np.abs(specs[0]) <= np.abs(spec[1]), specs[0], spec[1])
- v_spec = d_spec - specs[1]
- sf.write(
- os.path.join("{}.wav".format(args.output_name)),
- cmb_spectrogram_to_wave(v_spec, mp),
- mp.param["sr"],
- )
-
- if args.algorithm.startswith("invert"):
- ln = min([specs[0].shape[2], specs[1].shape[2]])
- specs[0] = specs[0][:, :, :ln]
- specs[1] = specs[1][:, :, :ln]
-
- if "invert_p" == args.algorithm:
- X_mag = np.abs(specs[0])
- y_mag = np.abs(specs[1])
- max_mag = np.where(X_mag >= y_mag, X_mag, y_mag)
- v_spec = specs[1] - max_mag * np.exp(1.0j * np.angle(specs[0]))
- else:
- specs[1] = reduce_vocal_aggressively(specs[0], specs[1], 0.2)
- v_spec = specs[0] - specs[1]
-
- if not args.vocals_only:
- X_mag = np.abs(specs[0])
- y_mag = np.abs(specs[1])
- v_mag = np.abs(v_spec)
-
- X_image = spectrogram_to_image(X_mag)
- y_image = spectrogram_to_image(y_mag)
- v_image = spectrogram_to_image(v_mag)
-
- cv2.imwrite("{}_X.png".format(args.output_name), X_image)
- cv2.imwrite("{}_y.png".format(args.output_name), y_image)
- cv2.imwrite("{}_v.png".format(args.output_name), v_image)
-
- sf.write(
- "{}_X.wav".format(args.output_name),
- cmb_spectrogram_to_wave(specs[0], mp),
- mp.param["sr"],
- )
- sf.write(
- "{}_y.wav".format(args.output_name),
- cmb_spectrogram_to_wave(specs[1], mp),
- mp.param["sr"],
- )
-
- sf.write(
- "{}_v.wav".format(args.output_name),
- cmb_spectrogram_to_wave(v_spec, mp),
- mp.param["sr"],
- )
- else:
- if not args.algorithm == "deep":
- sf.write(
- os.path.join("ensembled", "{}.wav".format(args.output_name)),
- cmb_spectrogram_to_wave(ensembling(args.algorithm, specs), mp),
- mp.param["sr"],
- )
-
- if args.algorithm == "align":
- trackalignment = [
- {
- "file1": '"{}"'.format(args.input[0]),
- "file2": '"{}"'.format(args.input[1]),
- }
- ]
-
- for i, e in tqdm(enumerate(trackalignment), desc="Performing Alignment..."):
- os.system(f"python lib/align_tracks.py {e['file1']} {e['file2']}")
-
- # print('Total time: {0:.{1}f}s'.format(time.time() - start_time, 1))
diff --git a/tools/uvr5/lib/name_params.json b/tools/uvr5/lib/name_params.json
deleted file mode 100644
index 4e5ee7be..00000000
--- a/tools/uvr5/lib/name_params.json
+++ /dev/null
@@ -1,263 +0,0 @@
-{
- "equivalent" : [
- {
- "model_hash_name" : [
- {
- "hash_name": "47939caf0cfe52a0e81442b85b971dfd",
- "model_params": "lib/lib_v5/modelparams/4band_44100.json",
- "param_name": "4band_44100"
- },
- {
- "hash_name": "4e4ecb9764c50a8c414fee6e10395bbe",
- "model_params": "lib/lib_v5/modelparams/4band_v2.json",
- "param_name": "4band_v2"
- },
- {
- "hash_name": "ca106edd563e034bde0bdec4bb7a4b36",
- "model_params": "lib/lib_v5/modelparams/4band_v2.json",
- "param_name": "4band_v2"
- },
- {
- "hash_name": "e60a1e84803ce4efc0a6551206cc4b71",
- "model_params": "lib/lib_v5/modelparams/4band_44100.json",
- "param_name": "4band_44100"
- },
- {
- "hash_name": "a82f14e75892e55e994376edbf0c8435",
- "model_params": "lib/lib_v5/modelparams/4band_44100.json",
- "param_name": "4band_44100"
- },
- {
- "hash_name": "6dd9eaa6f0420af9f1d403aaafa4cc06",
- "model_params": "lib/lib_v5/modelparams/4band_v2_sn.json",
- "param_name": "4band_v2_sn"
- },
- {
- "hash_name": "08611fb99bd59eaa79ad27c58d137727",
- "model_params": "lib/lib_v5/modelparams/4band_v2_sn.json",
- "param_name": "4band_v2_sn"
- },
- {
- "hash_name": "5c7bbca45a187e81abbbd351606164e5",
- "model_params": "lib/lib_v5/modelparams/3band_44100_msb2.json",
- "param_name": "3band_44100_msb2"
- },
- {
- "hash_name": "d6b2cb685a058a091e5e7098192d3233",
- "model_params": "lib/lib_v5/modelparams/3band_44100_msb2.json",
- "param_name": "3band_44100_msb2"
- },
- {
- "hash_name": "c1b9f38170a7c90e96f027992eb7c62b",
- "model_params": "lib/lib_v5/modelparams/4band_44100.json",
- "param_name": "4band_44100"
- },
- {
- "hash_name": "c3448ec923fa0edf3d03a19e633faa53",
- "model_params": "lib/lib_v5/modelparams/4band_44100.json",
- "param_name": "4band_44100"
- },
- {
- "hash_name": "68aa2c8093d0080704b200d140f59e54",
- "model_params": "lib/lib_v5/modelparams/3band_44100.json",
- "param_name": "3band_44100"
- },
- {
- "hash_name": "fdc83be5b798e4bd29fe00fe6600e147",
- "model_params": "lib/lib_v5/modelparams/3band_44100_mid.json",
- "param_name": "3band_44100_mid.json"
- },
- {
- "hash_name": "2ce34bc92fd57f55db16b7a4def3d745",
- "model_params": "lib/lib_v5/modelparams/3band_44100_mid.json",
- "param_name": "3band_44100_mid.json"
- },
- {
- "hash_name": "52fdca89576f06cf4340b74a4730ee5f",
- "model_params": "lib/lib_v5/modelparams/4band_44100.json",
- "param_name": "4band_44100.json"
- },
- {
- "hash_name": "41191165b05d38fc77f072fa9e8e8a30",
- "model_params": "lib/lib_v5/modelparams/4band_44100.json",
- "param_name": "4band_44100.json"
- },
- {
- "hash_name": "89e83b511ad474592689e562d5b1f80e",
- "model_params": "lib/lib_v5/modelparams/2band_32000.json",
- "param_name": "2band_32000.json"
- },
- {
- "hash_name": "0b954da81d453b716b114d6d7c95177f",
- "model_params": "lib/lib_v5/modelparams/2band_32000.json",
- "param_name": "2band_32000.json"
- }
-
- ],
- "v4 Models": [
- {
- "hash_name": "6a00461c51c2920fd68937d4609ed6c8",
- "model_params": "lib/lib_v5/modelparams/1band_sr16000_hl512.json",
- "param_name": "1band_sr16000_hl512"
- },
- {
- "hash_name": "0ab504864d20f1bd378fe9c81ef37140",
- "model_params": "lib/lib_v5/modelparams/1band_sr32000_hl512.json",
- "param_name": "1band_sr32000_hl512"
- },
- {
- "hash_name": "7dd21065bf91c10f7fccb57d7d83b07f",
- "model_params": "lib/lib_v5/modelparams/1band_sr32000_hl512.json",
- "param_name": "1band_sr32000_hl512"
- },
- {
- "hash_name": "80ab74d65e515caa3622728d2de07d23",
- "model_params": "lib/lib_v5/modelparams/1band_sr32000_hl512.json",
- "param_name": "1band_sr32000_hl512"
- },
- {
- "hash_name": "edc115e7fc523245062200c00caa847f",
- "model_params": "lib/lib_v5/modelparams/1band_sr33075_hl384.json",
- "param_name": "1band_sr33075_hl384"
- },
- {
- "hash_name": "28063e9f6ab5b341c5f6d3c67f2045b7",
- "model_params": "lib/lib_v5/modelparams/1band_sr33075_hl384.json",
- "param_name": "1band_sr33075_hl384"
- },
- {
- "hash_name": "b58090534c52cbc3e9b5104bad666ef2",
- "model_params": "lib/lib_v5/modelparams/1band_sr44100_hl512.json",
- "param_name": "1band_sr44100_hl512"
- },
- {
- "hash_name": "0cdab9947f1b0928705f518f3c78ea8f",
- "model_params": "lib/lib_v5/modelparams/1band_sr44100_hl512.json",
- "param_name": "1band_sr44100_hl512"
- },
- {
- "hash_name": "ae702fed0238afb5346db8356fe25f13",
- "model_params": "lib/lib_v5/modelparams/1band_sr44100_hl1024.json",
- "param_name": "1band_sr44100_hl1024"
- }
- ]
- }
- ],
- "User Models" : [
- {
- "1 Band": [
- {
- "hash_name": "1band_sr16000_hl512",
- "model_params": "lib/lib_v5/modelparams/1band_sr16000_hl512.json",
- "param_name": "1band_sr16000_hl512"
- },
- {
- "hash_name": "1band_sr32000_hl512",
- "model_params": "lib/lib_v5/modelparams/1band_sr32000_hl512.json",
- "param_name": "1band_sr16000_hl512"
- },
- {
- "hash_name": "1band_sr33075_hl384",
- "model_params": "lib/lib_v5/modelparams/1band_sr33075_hl384.json",
- "param_name": "1band_sr33075_hl384"
- },
- {
- "hash_name": "1band_sr44100_hl256",
- "model_params": "lib/lib_v5/modelparams/1band_sr44100_hl256.json",
- "param_name": "1band_sr44100_hl256"
- },
- {
- "hash_name": "1band_sr44100_hl512",
- "model_params": "lib/lib_v5/modelparams/1band_sr44100_hl512.json",
- "param_name": "1band_sr44100_hl512"
- },
- {
- "hash_name": "1band_sr44100_hl1024",
- "model_params": "lib/lib_v5/modelparams/1band_sr44100_hl1024.json",
- "param_name": "1band_sr44100_hl1024"
- }
- ],
- "2 Band": [
- {
- "hash_name": "2band_44100_lofi",
- "model_params": "lib/lib_v5/modelparams/2band_44100_lofi.json",
- "param_name": "2band_44100_lofi"
- },
- {
- "hash_name": "2band_32000",
- "model_params": "lib/lib_v5/modelparams/2band_32000.json",
- "param_name": "2band_32000"
- },
- {
- "hash_name": "2band_48000",
- "model_params": "lib/lib_v5/modelparams/2band_48000.json",
- "param_name": "2band_48000"
- }
- ],
- "3 Band": [
- {
- "hash_name": "3band_44100",
- "model_params": "lib/lib_v5/modelparams/3band_44100.json",
- "param_name": "3band_44100"
- },
- {
- "hash_name": "3band_44100_mid",
- "model_params": "lib/lib_v5/modelparams/3band_44100_mid.json",
- "param_name": "3band_44100_mid"
- },
- {
- "hash_name": "3band_44100_msb2",
- "model_params": "lib/lib_v5/modelparams/3band_44100_msb2.json",
- "param_name": "3band_44100_msb2"
- }
- ],
- "4 Band": [
- {
- "hash_name": "4band_44100",
- "model_params": "lib/lib_v5/modelparams/4band_44100.json",
- "param_name": "4band_44100"
- },
- {
- "hash_name": "4band_44100_mid",
- "model_params": "lib/lib_v5/modelparams/4band_44100_mid.json",
- "param_name": "4band_44100_mid"
- },
- {
- "hash_name": "4band_44100_msb",
- "model_params": "lib/lib_v5/modelparams/4band_44100_msb.json",
- "param_name": "4band_44100_msb"
- },
- {
- "hash_name": "4band_44100_msb2",
- "model_params": "lib/lib_v5/modelparams/4band_44100_msb2.json",
- "param_name": "4band_44100_msb2"
- },
- {
- "hash_name": "4band_44100_reverse",
- "model_params": "lib/lib_v5/modelparams/4band_44100_reverse.json",
- "param_name": "4band_44100_reverse"
- },
- {
- "hash_name": "4band_44100_sw",
- "model_params": "lib/lib_v5/modelparams/4band_44100_sw.json",
- "param_name": "4band_44100_sw"
- },
- {
- "hash_name": "4band_v2",
- "model_params": "lib/lib_v5/modelparams/4band_v2.json",
- "param_name": "4band_v2"
- },
- {
- "hash_name": "4band_v2_sn",
- "model_params": "lib/lib_v5/modelparams/4band_v2_sn.json",
- "param_name": "4band_v2_sn"
- },
- {
- "hash_name": "tmodelparam",
- "model_params": "lib/lib_v5/modelparams/tmodelparam.json",
- "param_name": "User Model Param Set"
- }
- ]
- }
- ]
-}
\ No newline at end of file
diff --git a/tools/uvr5/lib/utils.py b/tools/uvr5/lib/utils.py
deleted file mode 100644
index 0166d52b..00000000
--- a/tools/uvr5/lib/utils.py
+++ /dev/null
@@ -1,113 +0,0 @@
-import json
-
-import numpy as np
-import torch
-from tqdm import tqdm
-
-
-def load_data(file_name: str = "./lib/name_params.json") -> dict:
- with open(file_name, "r") as f:
- data = json.load(f)
-
- return data
-
-
-def make_padding(width, cropsize, offset):
- left = offset
- roi_size = cropsize - left * 2
- if roi_size == 0:
- roi_size = cropsize
- right = roi_size - (width % roi_size) + left
-
- return left, right, roi_size
-
-
-def inference(X_spec, device, model, aggressiveness, data):
- """
- data : dic configs
- """
-
- def _execute(X_mag_pad, roi_size, n_window, device, model, aggressiveness, is_half=True):
- model.eval()
- with torch.no_grad():
- preds = []
-
- iterations = [n_window]
-
- total_iterations = sum(iterations)
- for i in tqdm(range(n_window)):
- start = i * roi_size
- X_mag_window = X_mag_pad[None, :, :, start : start + data["window_size"]]
- X_mag_window = torch.from_numpy(X_mag_window)
- if is_half:
- X_mag_window = X_mag_window.half()
- X_mag_window = X_mag_window.to(device)
-
- pred = model.predict(X_mag_window, aggressiveness)
-
- pred = pred.detach().cpu().numpy()
- preds.append(pred[0])
-
- pred = np.concatenate(preds, axis=2)
- return pred
-
- def preprocess(X_spec):
- X_mag = np.abs(X_spec)
- X_phase = np.angle(X_spec)
-
- return X_mag, X_phase
-
- X_mag, X_phase = preprocess(X_spec)
-
- coef = X_mag.max()
- X_mag_pre = X_mag / coef
-
- n_frame = X_mag_pre.shape[2]
- pad_l, pad_r, roi_size = make_padding(n_frame, data["window_size"], model.offset)
- n_window = int(np.ceil(n_frame / roi_size))
-
- X_mag_pad = np.pad(X_mag_pre, ((0, 0), (0, 0), (pad_l, pad_r)), mode="constant")
-
- if list(model.state_dict().values())[0].dtype == torch.float16:
- is_half = True
- else:
- is_half = False
- pred = _execute(X_mag_pad, roi_size, n_window, device, model, aggressiveness, is_half)
- pred = pred[:, :, :n_frame]
-
- if data["tta"]:
- pad_l += roi_size // 2
- pad_r += roi_size // 2
- n_window += 1
-
- X_mag_pad = np.pad(X_mag_pre, ((0, 0), (0, 0), (pad_l, pad_r)), mode="constant")
-
- pred_tta = _execute(X_mag_pad, roi_size, n_window, device, model, aggressiveness, is_half)
- pred_tta = pred_tta[:, :, roi_size // 2 :]
- pred_tta = pred_tta[:, :, :n_frame]
-
- return (pred + pred_tta) * 0.5 * coef, X_mag, np.exp(1.0j * X_phase)
- else:
- return pred * coef, X_mag, np.exp(1.0j * X_phase)
-
-
-def _get_name_params(model_path, model_hash):
- data = load_data()
- flag = False
- ModelName = model_path
- for type in list(data):
- for model in list(data[type][0]):
- for i in range(len(data[type][0][model])):
- if str(data[type][0][model][i]["hash_name"]) == model_hash:
- flag = True
- elif str(data[type][0][model][i]["hash_name"]) in ModelName:
- flag = True
-
- if flag:
- model_params_auto = data[type][0][model][i]["model_params"]
- param_name_auto = data[type][0][model][i]["param_name"]
- if type == "equivalent":
- return param_name_auto, model_params_auto
- else:
- flag = False
- return param_name_auto, model_params_auto
diff --git a/uv.lock b/uv.lock
new file mode 100644
index 00000000..1ac0c01f
--- /dev/null
+++ b/uv.lock
@@ -0,0 +1,8100 @@
+version = 1
+revision = 3
+requires-python = ">=3.10, <3.14"
+resolution-markers = [
+ "(python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version >= '3.13' and platform_machine == 'arm64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version >= '3.13' and platform_machine == 'arm64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.12.*' and platform_machine == 'aarch64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.12.*' and platform_machine == 'arm64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.11.*' and platform_machine == 'aarch64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.11.*' and platform_machine == 'arm64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version >= '3.13' and platform_machine == 'AMD64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version >= '3.13' and platform_machine == 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.12.*' and platform_machine == 'AMD64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.12.*' and platform_machine == 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.11.*' and platform_machine == 'AMD64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.11.*' and platform_machine == 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version < '3.11' and platform_machine == 'aarch64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version < '3.11' and platform_machine == 'arm64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version < '3.11' and platform_machine == 'AMD64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version < '3.11' and platform_machine == 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')",
+ "python_full_version >= '3.13' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version == '3.12.*' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version == '3.11.*' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version < '3.11' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version >= '3.13' and platform_machine == 'arm64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version == '3.12.*' and platform_machine == 'arm64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version == '3.11.*' and platform_machine == 'arm64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "(python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform == 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version >= '3.13' and platform_machine == 'arm64' and sys_platform == 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.12.*' and platform_machine == 'aarch64' and sys_platform == 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.12.*' and platform_machine == 'arm64' and sys_platform == 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform == 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.11.*' and platform_machine == 'arm64' and sys_platform == 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version == '3.12.*' and platform_machine == 'aarch64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "(python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform != 'darwin' and sys_platform != 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version >= '3.13' and platform_machine == 'arm64' and sys_platform != 'darwin' and sys_platform != 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.12.*' and platform_machine == 'aarch64' and sys_platform != 'darwin' and sys_platform != 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.12.*' and platform_machine == 'arm64' and sys_platform != 'darwin' and sys_platform != 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform != 'darwin' and sys_platform != 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.11.*' and platform_machine == 'arm64' and sys_platform != 'darwin' and sys_platform != 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version >= '3.13' and platform_machine == 'AMD64' and sys_platform == 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version >= '3.13' and platform_machine == 'x86_64' and sys_platform == 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.12.*' and platform_machine == 'AMD64' and sys_platform == 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.12.*' and platform_machine == 'x86_64' and sys_platform == 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.11.*' and platform_machine == 'AMD64' and sys_platform == 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.11.*' and platform_machine == 'x86_64' and sys_platform == 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "python_full_version >= '3.13' and platform_machine == 'x86_64' and sys_platform == 'linux' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version == '3.12.*' and platform_machine == 'x86_64' and sys_platform == 'linux' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version == '3.11.*' and platform_machine == 'x86_64' and sys_platform == 'linux' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "(python_full_version >= '3.13' and platform_machine == 'AMD64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version >= '3.13' and platform_machine == 'x86_64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.12.*' and platform_machine == 'AMD64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.12.*' and platform_machine == 'x86_64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.11.*' and platform_machine == 'AMD64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.11.*' and platform_machine == 'x86_64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version >= '3.13' and platform_machine == 'x86_64' and sys_platform != 'darwin' and sys_platform != 'linux' and sys_platform != 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version >= '3.13' and platform_machine == 'AMD64' and sys_platform != 'darwin' and sys_platform != 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version >= '3.13' and platform_machine == 'AMD64' and sys_platform == 'linux' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.12.*' and platform_machine == 'x86_64' and sys_platform != 'darwin' and sys_platform != 'linux' and sys_platform != 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.12.*' and platform_machine == 'AMD64' and sys_platform != 'darwin' and sys_platform != 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.12.*' and platform_machine == 'AMD64' and sys_platform == 'linux' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.11.*' and platform_machine == 'x86_64' and sys_platform != 'darwin' and sys_platform != 'linux' and sys_platform != 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.11.*' and platform_machine == 'AMD64' and sys_platform != 'darwin' and sys_platform != 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.11.*' and platform_machine == 'AMD64' and sys_platform == 'linux' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "python_full_version < '3.11' and platform_machine == 'arm64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "(python_full_version < '3.11' and platform_machine == 'aarch64' and sys_platform == 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version < '3.11' and platform_machine == 'arm64' and sys_platform == 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "python_full_version < '3.11' and platform_machine == 'aarch64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "(python_full_version < '3.11' and platform_machine == 'aarch64' and sys_platform != 'darwin' and sys_platform != 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version < '3.11' and platform_machine == 'arm64' and sys_platform != 'darwin' and sys_platform != 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version < '3.11' and platform_machine == 'AMD64' and sys_platform == 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version < '3.11' and platform_machine == 'x86_64' and sys_platform == 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "python_full_version < '3.11' and platform_machine == 'x86_64' and sys_platform == 'linux' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "(python_full_version < '3.11' and platform_machine == 'AMD64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version < '3.11' and platform_machine == 'x86_64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version < '3.11' and platform_machine == 'x86_64' and sys_platform != 'darwin' and sys_platform != 'linux' and sys_platform != 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version < '3.11' and platform_machine == 'AMD64' and sys_platform != 'darwin' and sys_platform != 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version < '3.11' and platform_machine == 'AMD64' and sys_platform == 'linux' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "python_full_version >= '3.13' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version == '3.12.*' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version == '3.11.*' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version < '3.11' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version >= '3.13' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version == '3.12.*' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version == '3.11.*' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version < '3.11' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "(python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version >= '3.13' and platform_machine == 'arm64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.12.*' and platform_machine == 'aarch64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.12.*' and platform_machine == 'arm64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version >= '3.13' and platform_machine == 'arm64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.12.*' and platform_machine == 'aarch64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.12.*' and platform_machine == 'arm64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.11.*' and platform_machine == 'arm64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.11.*' and platform_machine == 'arm64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version >= '3.13' and platform_machine == 'AMD64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version >= '3.13' and platform_machine == 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.12.*' and platform_machine == 'AMD64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.12.*' and platform_machine == 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.11.*' and platform_machine == 'AMD64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.11.*' and platform_machine == 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version < '3.11' and platform_machine == 'aarch64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version < '3.11' and platform_machine == 'arm64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version < '3.11' and platform_machine == 'aarch64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version < '3.11' and platform_machine == 'arm64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version < '3.11' and platform_machine == 'AMD64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version < '3.11' and platform_machine == 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "python_full_version >= '3.13' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version == '3.12.*' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version == '3.11.*' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version < '3.11' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "(python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version >= '3.13' and platform_machine == 'arm64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.12.*' and platform_machine == 'aarch64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.12.*' and platform_machine == 'arm64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version >= '3.13' and platform_machine == 'arm64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.12.*' and platform_machine == 'aarch64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.12.*' and platform_machine == 'arm64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.11.*' and platform_machine == 'arm64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.11.*' and platform_machine == 'arm64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version >= '3.13' and platform_machine == 'AMD64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version >= '3.13' and platform_machine == 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.12.*' and platform_machine == 'AMD64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.12.*' and platform_machine == 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.11.*' and platform_machine == 'AMD64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.11.*' and platform_machine == 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version < '3.11' and platform_machine == 'aarch64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version < '3.11' and platform_machine == 'arm64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version < '3.11' and platform_machine == 'aarch64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version < '3.11' and platform_machine == 'arm64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version < '3.11' and platform_machine == 'AMD64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version < '3.11' and platform_machine == 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "python_full_version >= '3.13' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version == '3.12.*' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version == '3.11.*' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version < '3.11' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "(python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version >= '3.13' and platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.12.*' and platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.12.*' and platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.11.*' and platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version >= '3.13' and platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version >= '3.13' and platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.12.*' and platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.12.*' and platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.11.*' and platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.11.*' and platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version < '3.11' and platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version < '3.11' and platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version < '3.11' and platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version < '3.11' and platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "python_full_version >= '3.13' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version == '3.12.*' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version == '3.11.*' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version < '3.11' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version == '3.12.*' and platform_machine == 'aarch64' and sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version < '3.11' and platform_machine == 'aarch64' and sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "(python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version >= '3.13' and platform_machine == 'arm64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version >= '3.13' and platform_machine == 'arm64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.12.*' and platform_machine == 'aarch64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.12.*' and platform_machine == 'arm64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.11.*' and platform_machine == 'arm64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.12.*' and platform_machine == 'aarch64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.12.*' and platform_machine == 'arm64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.11.*' and platform_machine == 'arm64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version >= '3.13' and platform_machine == 'AMD64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version >= '3.13' and platform_machine == 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.12.*' and platform_machine == 'AMD64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.12.*' and platform_machine == 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.11.*' and platform_machine == 'AMD64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.11.*' and platform_machine == 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version < '3.11' and platform_machine == 'aarch64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version < '3.11' and platform_machine == 'arm64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version < '3.11' and platform_machine == 'aarch64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version < '3.11' and platform_machine == 'arm64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version < '3.11' and platform_machine == 'AMD64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version < '3.11' and platform_machine == 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "python_full_version >= '3.13' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version == '3.12.*' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version == '3.11.*' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version < '3.11' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+]
+conflicts = [[
+ { package = "gpt-sovits-meta", extra = "cpu" },
+ { package = "gpt-sovits-meta", extra = "cu126" },
+ { package = "gpt-sovits-meta", extra = "cu128" },
+ { package = "gpt-sovits-meta", extra = "mlx" },
+ { package = "gpt-sovits-meta", extra = "rocm64" },
+]]
+
+[manifest]
+
+[[manifest.dependency-metadata]]
+name = "faster-whisper"
+requires-python = ">=3.10"
+
+[[package]]
+name = "absl-py"
+version = "2.4.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/64/c7/8de93764ad66968d19329a7e0c147a2bb3c7054c554d4a119111b8f9440f/absl_py-2.4.0.tar.gz", hash = "sha256:8c6af82722b35cf71e0f4d1d47dcaebfff286e27110a99fc359349b247dfb5d4", size = 116543, upload-time = "2026-01-28T10:17:05.322Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/18/a6/907a406bb7d359e6a63f99c313846d9eec4f7e6f7437809e03aa00fa3074/absl_py-2.4.0-py3-none-any.whl", hash = "sha256:88476fd881ca8aab94ffa78b7b6c632a782ab3ba1cd19c9bd423abc4fb4cd28d", size = 135750, upload-time = "2026-01-28T10:17:04.19Z" },
+]
+
+[[package]]
+name = "accelerate"
+version = "1.12.0"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "huggingface-hub" },
+ { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11' or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "numpy", version = "2.3.5", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11' or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "packaging" },
+ { name = "psutil" },
+ { name = "pyyaml" },
+ { name = "safetensors" },
+ { name = "torch", version = "2.9.1", source = { registry = "https://download.pytorch.org/whl/cpu" }, marker = "(platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu') or (platform_machine == 'aarch64' and sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cpu') or (platform_machine == 'arm64' and sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu') or (platform_machine != 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine != 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine != 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine != 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'aarch64' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "torch", version = "2.9.1+cpu", source = { registry = "https://download.pytorch.org/whl/cpu" }, marker = "(platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'arm64' and sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine == 'aarch64' and sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'aarch64' and sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'arm64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'aarch64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine != 'aarch64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'aarch64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'aarch64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'aarch64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'linux' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (sys_platform == 'linux' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'linux' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'linux' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'linux' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'linux' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "torch", version = "2.9.1+cu129", source = { registry = "https://download.pytorch.org/whl/cu129" }, marker = "(sys_platform != 'darwin' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "torch", version = "2.9.1+rocm6.4", source = { registry = "https://download.pytorch.org/whl/rocm6.4" }, marker = "(extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "torch", version = "2.10.0", source = { registry = "https://pypi.org/simple" }, marker = "(extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "torch", version = "2.10.0+cu126", source = { registry = "https://download.pytorch.org/whl/cu126" }, marker = "extra == 'extra-15-gpt-sovits-meta-cu126' or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "torch", version = "2.10.0+cu128", source = { registry = "https://download.pytorch.org/whl/cu128" }, marker = "extra == 'extra-15-gpt-sovits-meta-cu128' or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/4a/8e/ac2a9566747a93f8be36ee08532eb0160558b07630a081a6056a9f89bf1d/accelerate-1.12.0.tar.gz", hash = "sha256:70988c352feb481887077d2ab845125024b2a137a5090d6d7a32b57d03a45df6", size = 398399, upload-time = "2025-11-21T11:27:46.973Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/9f/d2/c581486aa6c4fbd7394c23c47b83fa1a919d34194e16944241daf9e762dd/accelerate-1.12.0-py3-none-any.whl", hash = "sha256:3e2091cd341423207e2f084a6654b1efcd250dc326f2a37d6dde446e07cabb11", size = 380935, upload-time = "2025-11-21T11:27:44.522Z" },
+]
+
+[[package]]
+name = "aiofiles"
+version = "24.1.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/0b/03/a88171e277e8caa88a4c77808c20ebb04ba74cc4681bf1e9416c862de237/aiofiles-24.1.0.tar.gz", hash = "sha256:22a075c9e5a3810f0c2e48f3008c94d68c65d763b9b03857924c99e57355166c", size = 30247, upload-time = "2024-06-24T11:02:03.584Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/a5/45/30bb92d442636f570cb5651bc661f52b610e2eec3f891a5dc3a4c3667db0/aiofiles-24.1.0-py3-none-any.whl", hash = "sha256:b4ec55f4195e3eb5d7abd1bf7e061763e864dd4954231fb8539a0ef8bb8260e5", size = 15896, upload-time = "2024-06-24T11:02:01.529Z" },
+]
+
+[[package]]
+name = "aiohappyeyeballs"
+version = "2.6.1"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/26/30/f84a107a9c4331c14b2b586036f40965c128aa4fee4dda5d3d51cb14ad54/aiohappyeyeballs-2.6.1.tar.gz", hash = "sha256:c3f9d0113123803ccadfdf3f0faa505bc78e6a72d1cc4806cbd719826e943558", size = 22760, upload-time = "2025-03-12T01:42:48.764Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/0f/15/5bf3b99495fb160b63f95972b81750f18f7f4e02ad051373b669d17d44f2/aiohappyeyeballs-2.6.1-py3-none-any.whl", hash = "sha256:f349ba8f4b75cb25c99c5c2d84e997e485204d2902a9597802b0371f09331fb8", size = 15265, upload-time = "2025-03-12T01:42:47.083Z" },
+]
+
+[[package]]
+name = "aiohttp"
+version = "3.13.3"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "aiohappyeyeballs" },
+ { name = "aiosignal" },
+ { name = "async-timeout", marker = "python_full_version < '3.11' or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "attrs" },
+ { name = "frozenlist" },
+ { name = "multidict" },
+ { name = "propcache" },
+ { name = "yarl" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/50/42/32cf8e7704ceb4481406eb87161349abb46a57fee3f008ba9cb610968646/aiohttp-3.13.3.tar.gz", hash = "sha256:a949eee43d3782f2daae4f4a2819b2cb9b0c5d3b7f7a927067cc84dafdbb9f88", size = 7844556, upload-time = "2026-01-03T17:33:05.204Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/36/d6/5aec9313ee6ea9c7cde8b891b69f4ff4001416867104580670a31daeba5b/aiohttp-3.13.3-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:d5a372fd5afd301b3a89582817fdcdb6c34124787c70dbcc616f259013e7eef7", size = 738950, upload-time = "2026-01-03T17:29:13.002Z" },
+ { url = "https://files.pythonhosted.org/packages/68/03/8fa90a7e6d11ff20a18837a8e2b5dd23db01aabc475aa9271c8ad33299f5/aiohttp-3.13.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:147e422fd1223005c22b4fe080f5d93ced44460f5f9c105406b753612b587821", size = 496099, upload-time = "2026-01-03T17:29:15.268Z" },
+ { url = "https://files.pythonhosted.org/packages/d2/23/b81f744d402510a8366b74eb420fc0cc1170d0c43daca12d10814df85f10/aiohttp-3.13.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:859bd3f2156e81dd01432f5849fc73e2243d4a487c4fd26609b1299534ee1845", size = 491072, upload-time = "2026-01-03T17:29:16.922Z" },
+ { url = "https://files.pythonhosted.org/packages/d5/e1/56d1d1c0dd334cd203dd97706ce004c1aa24b34a813b0b8daf3383039706/aiohttp-3.13.3-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:dca68018bf48c251ba17c72ed479f4dafe9dbd5a73707ad8d28a38d11f3d42af", size = 1671588, upload-time = "2026-01-03T17:29:18.539Z" },
+ { url = "https://files.pythonhosted.org/packages/5f/34/8d7f962604f4bc2b4e39eb1220dac7d4e4cba91fb9ba0474b4ecd67db165/aiohttp-3.13.3-cp310-cp310-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:fee0c6bc7db1de362252affec009707a17478a00ec69f797d23ca256e36d5940", size = 1640334, upload-time = "2026-01-03T17:29:21.028Z" },
+ { url = "https://files.pythonhosted.org/packages/94/1d/fcccf2c668d87337ddeef9881537baee13c58d8f01f12ba8a24215f2b804/aiohttp-3.13.3-cp310-cp310-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:c048058117fd649334d81b4b526e94bde3ccaddb20463a815ced6ecbb7d11160", size = 1722656, upload-time = "2026-01-03T17:29:22.531Z" },
+ { url = "https://files.pythonhosted.org/packages/aa/98/c6f3b081c4c606bc1e5f2ec102e87d6411c73a9ef3616fea6f2d5c98c062/aiohttp-3.13.3-cp310-cp310-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:215a685b6fbbfcf71dfe96e3eba7a6f58f10da1dfdf4889c7dd856abe430dca7", size = 1817625, upload-time = "2026-01-03T17:29:24.276Z" },
+ { url = "https://files.pythonhosted.org/packages/2c/c0/cfcc3d2e11b477f86e1af2863f3858c8850d751ce8dc39c4058a072c9e54/aiohttp-3.13.3-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:de2c184bb1fe2cbd2cefba613e9db29a5ab559323f994b6737e370d3da0ac455", size = 1672604, upload-time = "2026-01-03T17:29:26.099Z" },
+ { url = "https://files.pythonhosted.org/packages/1e/77/6b4ffcbcac4c6a5d041343a756f34a6dd26174ae07f977a64fe028dda5b0/aiohttp-3.13.3-cp310-cp310-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:75ca857eba4e20ce9f546cd59c7007b33906a4cd48f2ff6ccf1ccfc3b646f279", size = 1554370, upload-time = "2026-01-03T17:29:28.121Z" },
+ { url = "https://files.pythonhosted.org/packages/f2/f0/e3ddfa93f17d689dbe014ba048f18e0c9f9b456033b70e94349a2e9048be/aiohttp-3.13.3-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:81e97251d9298386c2b7dbeb490d3d1badbdc69107fb8c9299dd04eb39bddc0e", size = 1642023, upload-time = "2026-01-03T17:29:30.002Z" },
+ { url = "https://files.pythonhosted.org/packages/eb/45/c14019c9ec60a8e243d06d601b33dcc4fd92379424bde3021725859d7f99/aiohttp-3.13.3-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:c0e2d366af265797506f0283487223146af57815b388623f0357ef7eac9b209d", size = 1649680, upload-time = "2026-01-03T17:29:31.782Z" },
+ { url = "https://files.pythonhosted.org/packages/9c/fd/09c9451dae5aa5c5ed756df95ff9ef549d45d4be663bafd1e4954fd836f0/aiohttp-3.13.3-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:4e239d501f73d6db1522599e14b9b321a7e3b1de66ce33d53a765d975e9f4808", size = 1692407, upload-time = "2026-01-03T17:29:33.392Z" },
+ { url = "https://files.pythonhosted.org/packages/a6/81/938bc2ec33c10efd6637ccb3d22f9f3160d08e8f3aa2587a2c2d5ab578eb/aiohttp-3.13.3-cp310-cp310-musllinux_1_2_riscv64.whl", hash = "sha256:0db318f7a6f065d84cb1e02662c526294450b314a02bd9e2a8e67f0d8564ce40", size = 1543047, upload-time = "2026-01-03T17:29:34.855Z" },
+ { url = "https://files.pythonhosted.org/packages/f7/23/80488ee21c8d567c83045e412e1d9b7077d27171591a4eb7822586e8c06a/aiohttp-3.13.3-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:bfc1cc2fe31a6026a8a88e4ecfb98d7f6b1fec150cfd708adbfd1d2f42257c29", size = 1715264, upload-time = "2026-01-03T17:29:36.389Z" },
+ { url = "https://files.pythonhosted.org/packages/e2/83/259a8da6683182768200b368120ab3deff5370bed93880fb9a3a86299f34/aiohttp-3.13.3-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:af71fff7bac6bb7508956696dce8f6eec2bbb045eceb40343944b1ae62b5ef11", size = 1657275, upload-time = "2026-01-03T17:29:38.162Z" },
+ { url = "https://files.pythonhosted.org/packages/3f/4f/2c41f800a0b560785c10fb316216ac058c105f9be50bdc6a285de88db625/aiohttp-3.13.3-cp310-cp310-win32.whl", hash = "sha256:37da61e244d1749798c151421602884db5270faf479cf0ef03af0ff68954c9dd", size = 434053, upload-time = "2026-01-03T17:29:40.074Z" },
+ { url = "https://files.pythonhosted.org/packages/80/df/29cd63c7ecfdb65ccc12f7d808cac4fa2a19544660c06c61a4a48462de0c/aiohttp-3.13.3-cp310-cp310-win_amd64.whl", hash = "sha256:7e63f210bc1b57ef699035f2b4b6d9ce096b5914414a49b0997c839b2bd2223c", size = 456687, upload-time = "2026-01-03T17:29:41.819Z" },
+ { url = "https://files.pythonhosted.org/packages/f1/4c/a164164834f03924d9a29dc3acd9e7ee58f95857e0b467f6d04298594ebb/aiohttp-3.13.3-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:5b6073099fb654e0a068ae678b10feff95c5cae95bbfcbfa7af669d361a8aa6b", size = 746051, upload-time = "2026-01-03T17:29:43.287Z" },
+ { url = "https://files.pythonhosted.org/packages/82/71/d5c31390d18d4f58115037c432b7e0348c60f6f53b727cad33172144a112/aiohttp-3.13.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:1cb93e166e6c28716c8c6aeb5f99dfb6d5ccf482d29fe9bf9a794110e6d0ab64", size = 499234, upload-time = "2026-01-03T17:29:44.822Z" },
+ { url = "https://files.pythonhosted.org/packages/0e/c9/741f8ac91e14b1d2e7100690425a5b2b919a87a5075406582991fb7de920/aiohttp-3.13.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:28e027cf2f6b641693a09f631759b4d9ce9165099d2b5d92af9bd4e197690eea", size = 494979, upload-time = "2026-01-03T17:29:46.405Z" },
+ { url = "https://files.pythonhosted.org/packages/75/b5/31d4d2e802dfd59f74ed47eba48869c1c21552c586d5e81a9d0d5c2ad640/aiohttp-3.13.3-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:3b61b7169ababd7802f9568ed96142616a9118dd2be0d1866e920e77ec8fa92a", size = 1748297, upload-time = "2026-01-03T17:29:48.083Z" },
+ { url = "https://files.pythonhosted.org/packages/1a/3e/eefad0ad42959f226bb79664826883f2687d602a9ae2941a18e0484a74d3/aiohttp-3.13.3-cp311-cp311-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:80dd4c21b0f6237676449c6baaa1039abae86b91636b6c91a7f8e61c87f89540", size = 1707172, upload-time = "2026-01-03T17:29:49.648Z" },
+ { url = "https://files.pythonhosted.org/packages/c5/3a/54a64299fac2891c346cdcf2aa6803f994a2e4beeaf2e5a09dcc54acc842/aiohttp-3.13.3-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:65d2ccb7eabee90ce0503c17716fc77226be026dcc3e65cce859a30db715025b", size = 1805405, upload-time = "2026-01-03T17:29:51.244Z" },
+ { url = "https://files.pythonhosted.org/packages/6c/70/ddc1b7169cf64075e864f64595a14b147a895a868394a48f6a8031979038/aiohttp-3.13.3-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:5b179331a481cb5529fca8b432d8d3c7001cb217513c94cd72d668d1248688a3", size = 1899449, upload-time = "2026-01-03T17:29:53.938Z" },
+ { url = "https://files.pythonhosted.org/packages/a1/7e/6815aab7d3a56610891c76ef79095677b8b5be6646aaf00f69b221765021/aiohttp-3.13.3-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:9d4c940f02f49483b18b079d1c27ab948721852b281f8b015c058100e9421dd1", size = 1748444, upload-time = "2026-01-03T17:29:55.484Z" },
+ { url = "https://files.pythonhosted.org/packages/6b/f2/073b145c4100da5511f457dc0f7558e99b2987cf72600d42b559db856fbc/aiohttp-3.13.3-cp311-cp311-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:f9444f105664c4ce47a2a7171a2418bce5b7bae45fb610f4e2c36045d85911d3", size = 1606038, upload-time = "2026-01-03T17:29:57.179Z" },
+ { url = "https://files.pythonhosted.org/packages/0a/c1/778d011920cae03ae01424ec202c513dc69243cf2db303965615b81deeea/aiohttp-3.13.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:694976222c711d1d00ba131904beb60534f93966562f64440d0c9d41b8cdb440", size = 1724156, upload-time = "2026-01-03T17:29:58.914Z" },
+ { url = "https://files.pythonhosted.org/packages/0e/cb/3419eabf4ec1e9ec6f242c32b689248365a1cf621891f6f0386632525494/aiohttp-3.13.3-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:f33ed1a2bf1997a36661874b017f5c4b760f41266341af36febaf271d179f6d7", size = 1722340, upload-time = "2026-01-03T17:30:01.962Z" },
+ { url = "https://files.pythonhosted.org/packages/7a/e5/76cf77bdbc435bf233c1f114edad39ed4177ccbfab7c329482b179cff4f4/aiohttp-3.13.3-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:e636b3c5f61da31a92bf0d91da83e58fdfa96f178ba682f11d24f31944cdd28c", size = 1783041, upload-time = "2026-01-03T17:30:03.609Z" },
+ { url = "https://files.pythonhosted.org/packages/9d/d4/dd1ca234c794fd29c057ce8c0566b8ef7fd6a51069de5f06fa84b9a1971c/aiohttp-3.13.3-cp311-cp311-musllinux_1_2_riscv64.whl", hash = "sha256:5d2d94f1f5fcbe40838ac51a6ab5704a6f9ea42e72ceda48de5e6b898521da51", size = 1596024, upload-time = "2026-01-03T17:30:05.132Z" },
+ { url = "https://files.pythonhosted.org/packages/55/58/4345b5f26661a6180afa686c473620c30a66afdf120ed3dd545bbc809e85/aiohttp-3.13.3-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:2be0e9ccf23e8a94f6f0650ce06042cefc6ac703d0d7ab6c7a917289f2539ad4", size = 1804590, upload-time = "2026-01-03T17:30:07.135Z" },
+ { url = "https://files.pythonhosted.org/packages/7b/06/05950619af6c2df7e0a431d889ba2813c9f0129cec76f663e547a5ad56f2/aiohttp-3.13.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:9af5e68ee47d6534d36791bbe9b646d2a7c7deb6fc24d7943628edfbb3581f29", size = 1740355, upload-time = "2026-01-03T17:30:09.083Z" },
+ { url = "https://files.pythonhosted.org/packages/3e/80/958f16de79ba0422d7c1e284b2abd0c84bc03394fbe631d0a39ffa10e1eb/aiohttp-3.13.3-cp311-cp311-win32.whl", hash = "sha256:a2212ad43c0833a873d0fb3c63fa1bacedd4cf6af2fee62bf4b739ceec3ab239", size = 433701, upload-time = "2026-01-03T17:30:10.869Z" },
+ { url = "https://files.pythonhosted.org/packages/dc/f2/27cdf04c9851712d6c1b99df6821a6623c3c9e55956d4b1e318c337b5a48/aiohttp-3.13.3-cp311-cp311-win_amd64.whl", hash = "sha256:642f752c3eb117b105acbd87e2c143de710987e09860d674e068c4c2c441034f", size = 457678, upload-time = "2026-01-03T17:30:12.719Z" },
+ { url = "https://files.pythonhosted.org/packages/a0/be/4fc11f202955a69e0db803a12a062b8379c970c7c84f4882b6da17337cc1/aiohttp-3.13.3-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:b903a4dfee7d347e2d87697d0713be59e0b87925be030c9178c5faa58ea58d5c", size = 739732, upload-time = "2026-01-03T17:30:14.23Z" },
+ { url = "https://files.pythonhosted.org/packages/97/2c/621d5b851f94fa0bb7430d6089b3aa970a9d9b75196bc93bb624b0db237a/aiohttp-3.13.3-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:a45530014d7a1e09f4a55f4f43097ba0fd155089372e105e4bff4ca76cb1b168", size = 494293, upload-time = "2026-01-03T17:30:15.96Z" },
+ { url = "https://files.pythonhosted.org/packages/5d/43/4be01406b78e1be8320bb8316dc9c42dbab553d281c40364e0f862d5661c/aiohttp-3.13.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:27234ef6d85c914f9efeb77ff616dbf4ad2380be0cda40b4db086ffc7ddd1b7d", size = 493533, upload-time = "2026-01-03T17:30:17.431Z" },
+ { url = "https://files.pythonhosted.org/packages/8d/a8/5a35dc56a06a2c90d4742cbf35294396907027f80eea696637945a106f25/aiohttp-3.13.3-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:d32764c6c9aafb7fb55366a224756387cd50bfa720f32b88e0e6fa45b27dcf29", size = 1737839, upload-time = "2026-01-03T17:30:19.422Z" },
+ { url = "https://files.pythonhosted.org/packages/bf/62/4b9eeb331da56530bf2e198a297e5303e1c1ebdceeb00fe9b568a65c5a0c/aiohttp-3.13.3-cp312-cp312-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:b1a6102b4d3ebc07dad44fbf07b45bb600300f15b552ddf1851b5390202ea2e3", size = 1703932, upload-time = "2026-01-03T17:30:21.756Z" },
+ { url = "https://files.pythonhosted.org/packages/7c/f6/af16887b5d419e6a367095994c0b1332d154f647e7dc2bd50e61876e8e3d/aiohttp-3.13.3-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:c014c7ea7fb775dd015b2d3137378b7be0249a448a1612268b5a90c2d81de04d", size = 1771906, upload-time = "2026-01-03T17:30:23.932Z" },
+ { url = "https://files.pythonhosted.org/packages/ce/83/397c634b1bcc24292fa1e0c7822800f9f6569e32934bdeef09dae7992dfb/aiohttp-3.13.3-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:2b8d8ddba8f95ba17582226f80e2de99c7a7948e66490ef8d947e272a93e9463", size = 1871020, upload-time = "2026-01-03T17:30:26Z" },
+ { url = "https://files.pythonhosted.org/packages/86/f6/a62cbbf13f0ac80a70f71b1672feba90fdb21fd7abd8dbf25c0105fb6fa3/aiohttp-3.13.3-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:9ae8dd55c8e6c4257eae3a20fd2c8f41edaea5992ed67156642493b8daf3cecc", size = 1755181, upload-time = "2026-01-03T17:30:27.554Z" },
+ { url = "https://files.pythonhosted.org/packages/0a/87/20a35ad487efdd3fba93d5843efdfaa62d2f1479eaafa7453398a44faf13/aiohttp-3.13.3-cp312-cp312-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:01ad2529d4b5035578f5081606a465f3b814c542882804e2e8cda61adf5c71bf", size = 1561794, upload-time = "2026-01-03T17:30:29.254Z" },
+ { url = "https://files.pythonhosted.org/packages/de/95/8fd69a66682012f6716e1bc09ef8a1a2a91922c5725cb904689f112309c4/aiohttp-3.13.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:bb4f7475e359992b580559e008c598091c45b5088f28614e855e42d39c2f1033", size = 1697900, upload-time = "2026-01-03T17:30:31.033Z" },
+ { url = "https://files.pythonhosted.org/packages/e5/66/7b94b3b5ba70e955ff597672dad1691333080e37f50280178967aff68657/aiohttp-3.13.3-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:c19b90316ad3b24c69cd78d5c9b4f3aa4497643685901185b65166293d36a00f", size = 1728239, upload-time = "2026-01-03T17:30:32.703Z" },
+ { url = "https://files.pythonhosted.org/packages/47/71/6f72f77f9f7d74719692ab65a2a0252584bf8d5f301e2ecb4c0da734530a/aiohttp-3.13.3-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:96d604498a7c782cb15a51c406acaea70d8c027ee6b90c569baa6e7b93073679", size = 1740527, upload-time = "2026-01-03T17:30:34.695Z" },
+ { url = "https://files.pythonhosted.org/packages/fa/b4/75ec16cbbd5c01bdaf4a05b19e103e78d7ce1ef7c80867eb0ace42ff4488/aiohttp-3.13.3-cp312-cp312-musllinux_1_2_riscv64.whl", hash = "sha256:084911a532763e9d3dd95adf78a78f4096cd5f58cdc18e6fdbc1b58417a45423", size = 1554489, upload-time = "2026-01-03T17:30:36.864Z" },
+ { url = "https://files.pythonhosted.org/packages/52/8f/bc518c0eea29f8406dcf7ed1f96c9b48e3bc3995a96159b3fc11f9e08321/aiohttp-3.13.3-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:7a4a94eb787e606d0a09404b9c38c113d3b099d508021faa615d70a0131907ce", size = 1767852, upload-time = "2026-01-03T17:30:39.433Z" },
+ { url = "https://files.pythonhosted.org/packages/9d/f2/a07a75173124f31f11ea6f863dc44e6f09afe2bca45dd4e64979490deab1/aiohttp-3.13.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:87797e645d9d8e222e04160ee32aa06bc5c163e8499f24db719e7852ec23093a", size = 1722379, upload-time = "2026-01-03T17:30:41.081Z" },
+ { url = "https://files.pythonhosted.org/packages/3c/4a/1a3fee7c21350cac78e5c5cef711bac1b94feca07399f3d406972e2d8fcd/aiohttp-3.13.3-cp312-cp312-win32.whl", hash = "sha256:b04be762396457bef43f3597c991e192ee7da460a4953d7e647ee4b1c28e7046", size = 428253, upload-time = "2026-01-03T17:30:42.644Z" },
+ { url = "https://files.pythonhosted.org/packages/d9/b7/76175c7cb4eb73d91ad63c34e29fc4f77c9386bba4a65b53ba8e05ee3c39/aiohttp-3.13.3-cp312-cp312-win_amd64.whl", hash = "sha256:e3531d63d3bdfa7e3ac5e9b27b2dd7ec9df3206a98e0b3445fa906f233264c57", size = 455407, upload-time = "2026-01-03T17:30:44.195Z" },
+ { url = "https://files.pythonhosted.org/packages/97/8a/12ca489246ca1faaf5432844adbfce7ff2cc4997733e0af120869345643a/aiohttp-3.13.3-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:5dff64413671b0d3e7d5918ea490bdccb97a4ad29b3f311ed423200b2203e01c", size = 734190, upload-time = "2026-01-03T17:30:45.832Z" },
+ { url = "https://files.pythonhosted.org/packages/32/08/de43984c74ed1fca5c014808963cc83cb00d7bb06af228f132d33862ca76/aiohttp-3.13.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:87b9aab6d6ed88235aa2970294f496ff1a1f9adcd724d800e9b952395a80ffd9", size = 491783, upload-time = "2026-01-03T17:30:47.466Z" },
+ { url = "https://files.pythonhosted.org/packages/17/f8/8dd2cf6112a5a76f81f81a5130c57ca829d101ad583ce57f889179accdda/aiohttp-3.13.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:425c126c0dc43861e22cb1c14ba4c8e45d09516d0a3ae0a3f7494b79f5f233a3", size = 490704, upload-time = "2026-01-03T17:30:49.373Z" },
+ { url = "https://files.pythonhosted.org/packages/6d/40/a46b03ca03936f832bc7eaa47cfbb1ad012ba1be4790122ee4f4f8cba074/aiohttp-3.13.3-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:7f9120f7093c2a32d9647abcaf21e6ad275b4fbec5b55969f978b1a97c7c86bf", size = 1720652, upload-time = "2026-01-03T17:30:50.974Z" },
+ { url = "https://files.pythonhosted.org/packages/f7/7e/917fe18e3607af92657e4285498f500dca797ff8c918bd7d90b05abf6c2a/aiohttp-3.13.3-cp313-cp313-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:697753042d57f4bf7122cab985bf15d0cef23c770864580f5af4f52023a56bd6", size = 1692014, upload-time = "2026-01-03T17:30:52.729Z" },
+ { url = "https://files.pythonhosted.org/packages/71/b6/cefa4cbc00d315d68973b671cf105b21a609c12b82d52e5d0c9ae61d2a09/aiohttp-3.13.3-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:6de499a1a44e7de70735d0b39f67c8f25eb3d91eb3103be99ca0fa882cdd987d", size = 1759777, upload-time = "2026-01-03T17:30:54.537Z" },
+ { url = "https://files.pythonhosted.org/packages/fb/e3/e06ee07b45e59e6d81498b591fc589629be1553abb2a82ce33efe2a7b068/aiohttp-3.13.3-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:37239e9f9a7ea9ac5bf6b92b0260b01f8a22281996da609206a84df860bc1261", size = 1861276, upload-time = "2026-01-03T17:30:56.512Z" },
+ { url = "https://files.pythonhosted.org/packages/7c/24/75d274228acf35ceeb2850b8ce04de9dd7355ff7a0b49d607ee60c29c518/aiohttp-3.13.3-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:f76c1e3fe7d7c8afad7ed193f89a292e1999608170dcc9751a7462a87dfd5bc0", size = 1743131, upload-time = "2026-01-03T17:30:58.256Z" },
+ { url = "https://files.pythonhosted.org/packages/04/98/3d21dde21889b17ca2eea54fdcff21b27b93f45b7bb94ca029c31ab59dc3/aiohttp-3.13.3-cp313-cp313-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:fc290605db2a917f6e81b0e1e0796469871f5af381ce15c604a3c5c7e51cb730", size = 1556863, upload-time = "2026-01-03T17:31:00.445Z" },
+ { url = "https://files.pythonhosted.org/packages/9e/84/da0c3ab1192eaf64782b03971ab4055b475d0db07b17eff925e8c93b3aa5/aiohttp-3.13.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:4021b51936308aeea0367b8f006dc999ca02bc118a0cc78c303f50a2ff6afb91", size = 1682793, upload-time = "2026-01-03T17:31:03.024Z" },
+ { url = "https://files.pythonhosted.org/packages/ff/0f/5802ada182f575afa02cbd0ec5180d7e13a402afb7c2c03a9aa5e5d49060/aiohttp-3.13.3-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:49a03727c1bba9a97d3e93c9f93ca03a57300f484b6e935463099841261195d3", size = 1716676, upload-time = "2026-01-03T17:31:04.842Z" },
+ { url = "https://files.pythonhosted.org/packages/3f/8c/714d53bd8b5a4560667f7bbbb06b20c2382f9c7847d198370ec6526af39c/aiohttp-3.13.3-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:3d9908a48eb7416dc1f4524e69f1d32e5d90e3981e4e37eb0aa1cd18f9cfa2a4", size = 1733217, upload-time = "2026-01-03T17:31:06.868Z" },
+ { url = "https://files.pythonhosted.org/packages/7d/79/e2176f46d2e963facea939f5be2d26368ce543622be6f00a12844d3c991f/aiohttp-3.13.3-cp313-cp313-musllinux_1_2_riscv64.whl", hash = "sha256:2712039939ec963c237286113c68dbad80a82a4281543f3abf766d9d73228998", size = 1552303, upload-time = "2026-01-03T17:31:08.958Z" },
+ { url = "https://files.pythonhosted.org/packages/ab/6a/28ed4dea1759916090587d1fe57087b03e6c784a642b85ef48217b0277ae/aiohttp-3.13.3-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:7bfdc049127717581866fa4708791220970ce291c23e28ccf3922c700740fdc0", size = 1763673, upload-time = "2026-01-03T17:31:10.676Z" },
+ { url = "https://files.pythonhosted.org/packages/e8/35/4a3daeb8b9fab49240d21c04d50732313295e4bd813a465d840236dd0ce1/aiohttp-3.13.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:8057c98e0c8472d8846b9c79f56766bcc57e3e8ac7bfd510482332366c56c591", size = 1721120, upload-time = "2026-01-03T17:31:12.575Z" },
+ { url = "https://files.pythonhosted.org/packages/bc/9f/d643bb3c5fb99547323e635e251c609fbbc660d983144cfebec529e09264/aiohttp-3.13.3-cp313-cp313-win32.whl", hash = "sha256:1449ceddcdbcf2e0446957863af03ebaaa03f94c090f945411b61269e2cb5daf", size = 427383, upload-time = "2026-01-03T17:31:14.382Z" },
+ { url = "https://files.pythonhosted.org/packages/4e/f1/ab0395f8a79933577cdd996dd2f9aa6014af9535f65dddcf88204682fe62/aiohttp-3.13.3-cp313-cp313-win_amd64.whl", hash = "sha256:693781c45a4033d31d4187d2436f5ac701e7bbfe5df40d917736108c1cc7436e", size = 453899, upload-time = "2026-01-03T17:31:15.958Z" },
+]
+
+[[package]]
+name = "aiosignal"
+version = "1.4.0"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "frozenlist" },
+ { name = "typing-extensions", marker = "python_full_version < '3.13' or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/61/62/06741b579156360248d1ec624842ad0edf697050bbaf7c3e46394e106ad1/aiosignal-1.4.0.tar.gz", hash = "sha256:f47eecd9468083c2029cc99945502cb7708b082c232f9aca65da147157b251c7", size = 25007, upload-time = "2025-07-03T22:54:43.528Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/fb/76/641ae371508676492379f16e2fa48f4e2c11741bd63c48be4b12a6b09cba/aiosignal-1.4.0-py3-none-any.whl", hash = "sha256:053243f8b92b990551949e63930a839ff0cf0b0ebbe0597b0f3fb19e1a0fe82e", size = 7490, upload-time = "2025-07-03T22:54:42.156Z" },
+]
+
+[[package]]
+name = "aliyun-python-sdk-core"
+version = "2.16.0"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "cryptography" },
+ { name = "jmespath" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/3e/09/da9f58eb38b4fdb97ba6523274fbf445ef6a06be64b433693da8307b4bec/aliyun-python-sdk-core-2.16.0.tar.gz", hash = "sha256:651caad597eb39d4fad6cf85133dffe92837d53bdf62db9d8f37dab6508bb8f9", size = 449555, upload-time = "2024-10-09T06:01:01.762Z" }
+
+[[package]]
+name = "aliyun-python-sdk-kms"
+version = "2.16.5"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "aliyun-python-sdk-core" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/a8/2c/9877d0e6b18ecf246df671ac65a5d1d9fecbf85bdcb5d43efbde0d4662eb/aliyun-python-sdk-kms-2.16.5.tar.gz", hash = "sha256:f328a8a19d83ecbb965ffce0ec1e9930755216d104638cd95ecd362753b813b3", size = 12018, upload-time = "2024-08-30T09:01:20.104Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/11/5c/0132193d7da2c735669a1ed103b142fd63c9455984d48c5a88a1a516efaa/aliyun_python_sdk_kms-2.16.5-py2.py3-none-any.whl", hash = "sha256:24b6cdc4fd161d2942619479c8d050c63ea9cd22b044fe33b60bbb60153786f0", size = 99495, upload-time = "2024-08-30T09:01:18.462Z" },
+]
+
+[[package]]
+name = "annotated-doc"
+version = "0.0.4"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/57/ba/046ceea27344560984e26a590f90bc7f4a75b06701f653222458922b558c/annotated_doc-0.0.4.tar.gz", hash = "sha256:fbcda96e87e9c92ad167c2e53839e57503ecfda18804ea28102353485033faa4", size = 7288, upload-time = "2025-11-10T22:07:42.062Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/1e/d3/26bf1008eb3d2daa8ef4cacc7f3bfdc11818d111f7e2d0201bc6e3b49d45/annotated_doc-0.0.4-py3-none-any.whl", hash = "sha256:571ac1dc6991c450b25a9c2d84a3705e2ae7a53467b5d111c24fa8baabbed320", size = 5303, upload-time = "2025-11-10T22:07:40.673Z" },
+]
+
+[[package]]
+name = "annotated-types"
+version = "0.7.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/ee/67/531ea369ba64dcff5ec9c3402f9f51bf748cec26dde048a2f973a4eea7f5/annotated_types-0.7.0.tar.gz", hash = "sha256:aff07c09a53a08bc8cfccb9c85b05f1aa9a2a6f23728d790723543408344ce89", size = 16081, upload-time = "2024-05-20T21:33:25.928Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/78/b6/6307fbef88d9b5ee7421e68d78a9f162e0da4900bc5f5793f6d3d0e34fb8/annotated_types-0.7.0-py3-none-any.whl", hash = "sha256:1f02e8b43a8fbbc3f3e0d4f0f4bfc8131bcb4eebe8849b8e5c773f3a1c582a53", size = 13643, upload-time = "2024-05-20T21:33:24.1Z" },
+]
+
+[[package]]
+name = "antlr4-python3-runtime"
+version = "4.9.3"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/3e/38/7859ff46355f76f8d19459005ca000b6e7012f2f1ca597746cbcd1fbfe5e/antlr4-python3-runtime-4.9.3.tar.gz", hash = "sha256:f224469b4168294902bb1efa80a8bf7855f24c99aef99cbefc1bcd3cce77881b", size = 117034, upload-time = "2021-11-06T17:52:23.524Z" }
+
+[[package]]
+name = "anyio"
+version = "4.12.1"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "exceptiongroup", marker = "python_full_version < '3.11' or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "idna" },
+ { name = "typing-extensions", marker = "python_full_version < '3.13' or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/96/f0/5eb65b2bb0d09ac6776f2eb54adee6abe8228ea05b20a5ad0e4945de8aac/anyio-4.12.1.tar.gz", hash = "sha256:41cfcc3a4c85d3f05c932da7c26d0201ac36f72abd4435ba90d0464a3ffed703", size = 228685, upload-time = "2026-01-06T11:45:21.246Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/38/0e/27be9fdef66e72d64c0cdc3cc2823101b80585f8119b5c112c2e8f5f7dab/anyio-4.12.1-py3-none-any.whl", hash = "sha256:d405828884fc140aa80a3c667b8beed277f1dfedec42ba031bd6ac3db606ab6c", size = 113592, upload-time = "2026-01-06T11:45:19.497Z" },
+]
+
+[[package]]
+name = "async-timeout"
+version = "5.0.1"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/a5/ae/136395dfbfe00dfc94da3f3e136d0b13f394cba8f4841120e34226265780/async_timeout-5.0.1.tar.gz", hash = "sha256:d9321a7a3d5a6a5e187e824d2fa0793ce379a202935782d555d6e9d2735677d3", size = 9274, upload-time = "2024-11-06T16:41:39.6Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/fe/ba/e2081de779ca30d473f21f5b30e0e737c438205440784c7dfc81efc2b029/async_timeout-5.0.1-py3-none-any.whl", hash = "sha256:39e3809566ff85354557ec2398b55e096c8364bacac9405a7a1fa429e77fe76c", size = 6233, upload-time = "2024-11-06T16:41:37.9Z" },
+]
+
+[[package]]
+name = "attrs"
+version = "25.4.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/6b/5c/685e6633917e101e5dcb62b9dd76946cbb57c26e133bae9e0cd36033c0a9/attrs-25.4.0.tar.gz", hash = "sha256:16d5969b87f0859ef33a48b35d55ac1be6e42ae49d5e853b597db70c35c57e11", size = 934251, upload-time = "2025-10-06T13:54:44.725Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/3a/2a/7cc015f5b9f5db42b7d48157e23356022889fc354a2813c15934b7cb5c0e/attrs-25.4.0-py3-none-any.whl", hash = "sha256:adcf7e2a1fb3b36ac48d97835bb6d8ade15b8dcce26aba8bf1d14847b57a3373", size = 67615, upload-time = "2025-10-06T13:54:43.17Z" },
+]
+
+[[package]]
+name = "audioop-lts"
+version = "0.2.2"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/38/53/946db57842a50b2da2e0c1e34bd37f36f5aadba1a929a3971c5d7841dbca/audioop_lts-0.2.2.tar.gz", hash = "sha256:64d0c62d88e67b98a1a5e71987b7aa7b5bcffc7dcee65b635823dbdd0a8dbbd0", size = 30686, upload-time = "2025-08-05T16:43:17.409Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/de/d4/94d277ca941de5a507b07f0b592f199c22454eeaec8f008a286b3fbbacd6/audioop_lts-0.2.2-cp313-abi3-macosx_10_13_universal2.whl", hash = "sha256:fd3d4602dc64914d462924a08c1a9816435a2155d74f325853c1f1ac3b2d9800", size = 46523, upload-time = "2025-08-05T16:42:20.836Z" },
+ { url = "https://files.pythonhosted.org/packages/f8/5a/656d1c2da4b555920ce4177167bfeb8623d98765594af59702c8873f60ec/audioop_lts-0.2.2-cp313-abi3-macosx_10_13_x86_64.whl", hash = "sha256:550c114a8df0aafe9a05442a1162dfc8fec37e9af1d625ae6060fed6e756f303", size = 27455, upload-time = "2025-08-05T16:42:22.283Z" },
+ { url = "https://files.pythonhosted.org/packages/1b/83/ea581e364ce7b0d41456fb79d6ee0ad482beda61faf0cab20cbd4c63a541/audioop_lts-0.2.2-cp313-abi3-macosx_11_0_arm64.whl", hash = "sha256:9a13dc409f2564de15dd68be65b462ba0dde01b19663720c68c1140c782d1d75", size = 26997, upload-time = "2025-08-05T16:42:23.849Z" },
+ { url = "https://files.pythonhosted.org/packages/b8/3b/e8964210b5e216e5041593b7d33e97ee65967f17c282e8510d19c666dab4/audioop_lts-0.2.2-cp313-abi3-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:51c916108c56aa6e426ce611946f901badac950ee2ddaf302b7ed35d9958970d", size = 85844, upload-time = "2025-08-05T16:42:25.208Z" },
+ { url = "https://files.pythonhosted.org/packages/c7/2e/0a1c52faf10d51def20531a59ce4c706cb7952323b11709e10de324d6493/audioop_lts-0.2.2-cp313-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:47eba38322370347b1c47024defbd36374a211e8dd5b0dcbce7b34fdb6f8847b", size = 85056, upload-time = "2025-08-05T16:42:26.559Z" },
+ { url = "https://files.pythonhosted.org/packages/75/e8/cd95eef479656cb75ab05dfece8c1f8c395d17a7c651d88f8e6e291a63ab/audioop_lts-0.2.2-cp313-abi3-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:ba7c3a7e5f23e215cb271516197030c32aef2e754252c4c70a50aaff7031a2c8", size = 93892, upload-time = "2025-08-05T16:42:27.902Z" },
+ { url = "https://files.pythonhosted.org/packages/5c/1e/a0c42570b74f83efa5cca34905b3eef03f7ab09fe5637015df538a7f3345/audioop_lts-0.2.2-cp313-abi3-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:def246fe9e180626731b26e89816e79aae2276f825420a07b4a647abaa84becc", size = 96660, upload-time = "2025-08-05T16:42:28.9Z" },
+ { url = "https://files.pythonhosted.org/packages/50/d5/8a0ae607ca07dbb34027bac8db805498ee7bfecc05fd2c148cc1ed7646e7/audioop_lts-0.2.2-cp313-abi3-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:e160bf9df356d841bb6c180eeeea1834085464626dc1b68fa4e1d59070affdc3", size = 79143, upload-time = "2025-08-05T16:42:29.929Z" },
+ { url = "https://files.pythonhosted.org/packages/12/17/0d28c46179e7910bfb0bb62760ccb33edb5de973052cb2230b662c14ca2e/audioop_lts-0.2.2-cp313-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:4b4cd51a57b698b2d06cb9993b7ac8dfe89a3b2878e96bc7948e9f19ff51dba6", size = 84313, upload-time = "2025-08-05T16:42:30.949Z" },
+ { url = "https://files.pythonhosted.org/packages/84/ba/bd5d3806641564f2024e97ca98ea8f8811d4e01d9b9f9831474bc9e14f9e/audioop_lts-0.2.2-cp313-abi3-musllinux_1_2_ppc64le.whl", hash = "sha256:4a53aa7c16a60a6857e6b0b165261436396ef7293f8b5c9c828a3a203147ed4a", size = 93044, upload-time = "2025-08-05T16:42:31.959Z" },
+ { url = "https://files.pythonhosted.org/packages/f9/5e/435ce8d5642f1f7679540d1e73c1c42d933331c0976eb397d1717d7f01a3/audioop_lts-0.2.2-cp313-abi3-musllinux_1_2_riscv64.whl", hash = "sha256:3fc38008969796f0f689f1453722a0f463da1b8a6fbee11987830bfbb664f623", size = 78766, upload-time = "2025-08-05T16:42:33.302Z" },
+ { url = "https://files.pythonhosted.org/packages/ae/3b/b909e76b606cbfd53875693ec8c156e93e15a1366a012f0b7e4fb52d3c34/audioop_lts-0.2.2-cp313-abi3-musllinux_1_2_s390x.whl", hash = "sha256:15ab25dd3e620790f40e9ead897f91e79c0d3ce65fe193c8ed6c26cffdd24be7", size = 87640, upload-time = "2025-08-05T16:42:34.854Z" },
+ { url = "https://files.pythonhosted.org/packages/30/e7/8f1603b4572d79b775f2140d7952f200f5e6c62904585d08a01f0a70393a/audioop_lts-0.2.2-cp313-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:03f061a1915538fd96272bac9551841859dbb2e3bf73ebe4a23ef043766f5449", size = 86052, upload-time = "2025-08-05T16:42:35.839Z" },
+ { url = "https://files.pythonhosted.org/packages/b5/96/c37846df657ccdda62ba1ae2b6534fa90e2e1b1742ca8dcf8ebd38c53801/audioop_lts-0.2.2-cp313-abi3-win32.whl", hash = "sha256:3bcddaaf6cc5935a300a8387c99f7a7fbbe212a11568ec6cf6e4bc458c048636", size = 26185, upload-time = "2025-08-05T16:42:37.04Z" },
+ { url = "https://files.pythonhosted.org/packages/34/a5/9d78fdb5b844a83da8a71226c7bdae7cc638861085fff7a1d707cb4823fa/audioop_lts-0.2.2-cp313-abi3-win_amd64.whl", hash = "sha256:a2c2a947fae7d1062ef08c4e369e0ba2086049a5e598fda41122535557012e9e", size = 30503, upload-time = "2025-08-05T16:42:38.427Z" },
+ { url = "https://files.pythonhosted.org/packages/34/25/20d8fde083123e90c61b51afb547bb0ea7e77bab50d98c0ab243d02a0e43/audioop_lts-0.2.2-cp313-abi3-win_arm64.whl", hash = "sha256:5f93a5db13927a37d2d09637ccca4b2b6b48c19cd9eda7b17a2e9f77edee6a6f", size = 24173, upload-time = "2025-08-05T16:42:39.704Z" },
+ { url = "https://files.pythonhosted.org/packages/58/a7/0a764f77b5c4ac58dc13c01a580f5d32ae8c74c92020b961556a43e26d02/audioop_lts-0.2.2-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:73f80bf4cd5d2ca7814da30a120de1f9408ee0619cc75da87d0641273d202a09", size = 47096, upload-time = "2025-08-05T16:42:40.684Z" },
+ { url = "https://files.pythonhosted.org/packages/aa/ed/ebebedde1a18848b085ad0fa54b66ceb95f1f94a3fc04f1cd1b5ccb0ed42/audioop_lts-0.2.2-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:106753a83a25ee4d6f473f2be6b0966fc1c9af7e0017192f5531a3e7463dce58", size = 27748, upload-time = "2025-08-05T16:42:41.992Z" },
+ { url = "https://files.pythonhosted.org/packages/cb/6e/11ca8c21af79f15dbb1c7f8017952ee8c810c438ce4e2b25638dfef2b02c/audioop_lts-0.2.2-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:fbdd522624141e40948ab3e8cdae6e04c748d78710e9f0f8d4dae2750831de19", size = 27329, upload-time = "2025-08-05T16:42:42.987Z" },
+ { url = "https://files.pythonhosted.org/packages/84/52/0022f93d56d85eec5da6b9da6a958a1ef09e80c39f2cc0a590c6af81dcbb/audioop_lts-0.2.2-cp313-cp313t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:143fad0311e8209ece30a8dbddab3b65ab419cbe8c0dde6e8828da25999be911", size = 92407, upload-time = "2025-08-05T16:42:44.336Z" },
+ { url = "https://files.pythonhosted.org/packages/87/1d/48a889855e67be8718adbc7a01f3c01d5743c325453a5e81cf3717664aad/audioop_lts-0.2.2-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:dfbbc74ec68a0fd08cfec1f4b5e8cca3d3cd7de5501b01c4b5d209995033cde9", size = 91811, upload-time = "2025-08-05T16:42:45.325Z" },
+ { url = "https://files.pythonhosted.org/packages/98/a6/94b7213190e8077547ffae75e13ed05edc488653c85aa5c41472c297d295/audioop_lts-0.2.2-cp313-cp313t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:cfcac6aa6f42397471e4943e0feb2244549db5c5d01efcd02725b96af417f3fe", size = 100470, upload-time = "2025-08-05T16:42:46.468Z" },
+ { url = "https://files.pythonhosted.org/packages/e9/e9/78450d7cb921ede0cfc33426d3a8023a3bda755883c95c868ee36db8d48d/audioop_lts-0.2.2-cp313-cp313t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:752d76472d9804ac60f0078c79cdae8b956f293177acd2316cd1e15149aee132", size = 103878, upload-time = "2025-08-05T16:42:47.576Z" },
+ { url = "https://files.pythonhosted.org/packages/4f/e2/cd5439aad4f3e34ae1ee852025dc6aa8f67a82b97641e390bf7bd9891d3e/audioop_lts-0.2.2-cp313-cp313t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:83c381767e2cc10e93e40281a04852facc4cd9334550e0f392f72d1c0a9c5753", size = 84867, upload-time = "2025-08-05T16:42:49.003Z" },
+ { url = "https://files.pythonhosted.org/packages/68/4b/9d853e9076c43ebba0d411e8d2aa19061083349ac695a7d082540bad64d0/audioop_lts-0.2.2-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:c0022283e9556e0f3643b7c3c03f05063ca72b3063291834cca43234f20c60bb", size = 90001, upload-time = "2025-08-05T16:42:50.038Z" },
+ { url = "https://files.pythonhosted.org/packages/58/26/4bae7f9d2f116ed5593989d0e521d679b0d583973d203384679323d8fa85/audioop_lts-0.2.2-cp313-cp313t-musllinux_1_2_ppc64le.whl", hash = "sha256:a2d4f1513d63c795e82948e1305f31a6d530626e5f9f2605408b300ae6095093", size = 99046, upload-time = "2025-08-05T16:42:51.111Z" },
+ { url = "https://files.pythonhosted.org/packages/b2/67/a9f4fb3e250dda9e9046f8866e9fa7d52664f8985e445c6b4ad6dfb55641/audioop_lts-0.2.2-cp313-cp313t-musllinux_1_2_riscv64.whl", hash = "sha256:c9c8e68d8b4a56fda8c025e538e639f8c5953f5073886b596c93ec9b620055e7", size = 84788, upload-time = "2025-08-05T16:42:52.198Z" },
+ { url = "https://files.pythonhosted.org/packages/70/f7/3de86562db0121956148bcb0fe5b506615e3bcf6e63c4357a612b910765a/audioop_lts-0.2.2-cp313-cp313t-musllinux_1_2_s390x.whl", hash = "sha256:96f19de485a2925314f5020e85911fb447ff5fbef56e8c7c6927851b95533a1c", size = 94472, upload-time = "2025-08-05T16:42:53.59Z" },
+ { url = "https://files.pythonhosted.org/packages/f1/32/fd772bf9078ae1001207d2df1eef3da05bea611a87dd0e8217989b2848fa/audioop_lts-0.2.2-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:e541c3ef484852ef36545f66209444c48b28661e864ccadb29daddb6a4b8e5f5", size = 92279, upload-time = "2025-08-05T16:42:54.632Z" },
+ { url = "https://files.pythonhosted.org/packages/4f/41/affea7181592ab0ab560044632571a38edaf9130b84928177823fbf3176a/audioop_lts-0.2.2-cp313-cp313t-win32.whl", hash = "sha256:d5e73fa573e273e4f2e5ff96f9043858a5e9311e94ffefd88a3186a910c70917", size = 26568, upload-time = "2025-08-05T16:42:55.627Z" },
+ { url = "https://files.pythonhosted.org/packages/28/2b/0372842877016641db8fc54d5c88596b542eec2f8f6c20a36fb6612bf9ee/audioop_lts-0.2.2-cp313-cp313t-win_amd64.whl", hash = "sha256:9191d68659eda01e448188f60364c7763a7ca6653ed3f87ebb165822153a8547", size = 30942, upload-time = "2025-08-05T16:42:56.674Z" },
+ { url = "https://files.pythonhosted.org/packages/ee/ca/baf2b9cc7e96c179bb4a54f30fcd83e6ecb340031bde68f486403f943768/audioop_lts-0.2.2-cp313-cp313t-win_arm64.whl", hash = "sha256:c174e322bb5783c099aaf87faeb240c8d210686b04bd61dfd05a8e5a83d88969", size = 24603, upload-time = "2025-08-05T16:42:57.571Z" },
+]
+
+[[package]]
+name = "audioread"
+version = "3.1.0"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "standard-aifc", marker = "python_full_version >= '3.13' or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "standard-sunau", marker = "python_full_version >= '3.13' or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/a1/4a/874ecf9b472f998130c2b5e145dcdb9f6131e84786111489103b66772143/audioread-3.1.0.tar.gz", hash = "sha256:1c4ab2f2972764c896a8ac61ac53e261c8d29f0c6ccd652f84e18f08a4cab190", size = 20082, upload-time = "2025-10-26T19:44:13.484Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/7e/16/fbe8e1e185a45042f7cd3a282def5bb8d95bb69ab9e9ef6a5368aa17e426/audioread-3.1.0-py3-none-any.whl", hash = "sha256:b30d1df6c5d3de5dcef0fb0e256f6ea17bdcf5f979408df0297d8a408e2971b4", size = 23143, upload-time = "2025-10-26T19:44:12.016Z" },
+]
+
+[[package]]
+name = "av"
+version = "16.1.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/78/cd/3a83ffbc3cc25b39721d174487fb0d51a76582f4a1703f98e46170ce83d4/av-16.1.0.tar.gz", hash = "sha256:a094b4fd87a3721dacf02794d3d2c82b8d712c85b9534437e82a8a978c175ffd", size = 4285203, upload-time = "2026-01-11T07:31:33.772Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/97/51/2217a9249409d2e88e16e3f16f7c0def9fd3e7ffc4238b2ec211f9935bdb/av-16.1.0-cp310-cp310-macosx_11_0_x86_64.whl", hash = "sha256:2395748b0c34fe3a150a1721e4f3d4487b939520991b13e7b36f8926b3b12295", size = 26942590, upload-time = "2026-01-09T20:17:58.588Z" },
+ { url = "https://files.pythonhosted.org/packages/bf/cd/a7070f4febc76a327c38808e01e2ff6b94531fe0b321af54ea3915165338/av-16.1.0-cp310-cp310-macosx_14_0_arm64.whl", hash = "sha256:72d7ac832710a158eeb7a93242370aa024a7646516291c562ee7f14a7ea881fd", size = 21507910, upload-time = "2026-01-09T20:18:02.309Z" },
+ { url = "https://files.pythonhosted.org/packages/ae/30/ec812418cd9b297f0238fe20eb0747d8a8b68d82c5f73c56fe519a274143/av-16.1.0-cp310-cp310-manylinux_2_28_aarch64.whl", hash = "sha256:6cbac833092e66b6b0ac4d81ab077970b8ca874951e9c3974d41d922aaa653ed", size = 38738309, upload-time = "2026-01-09T20:18:04.701Z" },
+ { url = "https://files.pythonhosted.org/packages/3a/b8/6c5795bf1f05f45c5261f8bce6154e0e5e86b158a6676650ddd77c28805e/av-16.1.0-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:eb990672d97c18f99c02f31c8d5750236f770ffe354b5a52c5f4d16c5e65f619", size = 40293006, upload-time = "2026-01-09T20:18:07.238Z" },
+ { url = "https://files.pythonhosted.org/packages/a7/44/5e183bcb9333fc3372ee6e683be8b0c9b515a506894b2d32ff465430c074/av-16.1.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:05ad70933ac3b8ef896a820ea64b33b6cca91a5fac5259cb9ba7fa010435be15", size = 40123516, upload-time = "2026-01-09T20:18:09.955Z" },
+ { url = "https://files.pythonhosted.org/packages/12/1d/b5346d582a3c3d958b4d26a2cc63ce607233582d956121eb20d2bbe55c2e/av-16.1.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:d831a1062a3c47520bf99de6ec682bd1d64a40dfa958e5457bb613c5270e7ce3", size = 41463289, upload-time = "2026-01-09T20:18:12.459Z" },
+ { url = "https://files.pythonhosted.org/packages/fa/31/acc946c0545f72b8d0d74584cb2a0ade9b7dfe2190af3ef9aa52a2e3c0b1/av-16.1.0-cp310-cp310-win_amd64.whl", hash = "sha256:358ab910fef3c5a806c55176f2b27e5663b33c4d0a692dafeb049c6ed71f8aff", size = 31754959, upload-time = "2026-01-09T20:18:14.718Z" },
+ { url = "https://files.pythonhosted.org/packages/48/d0/b71b65d1b36520dcb8291a2307d98b7fc12329a45614a303ff92ada4d723/av-16.1.0-cp311-cp311-macosx_11_0_x86_64.whl", hash = "sha256:e88ad64ee9d2b9c4c5d891f16c22ae78e725188b8926eb88187538d9dd0b232f", size = 26927747, upload-time = "2026-01-09T20:18:16.976Z" },
+ { url = "https://files.pythonhosted.org/packages/2f/79/720a5a6ccdee06eafa211b945b0a450e3a0b8fc3d12922f0f3c454d870d2/av-16.1.0-cp311-cp311-macosx_14_0_arm64.whl", hash = "sha256:cb296073fa6935724de72593800ba86ae49ed48af03960a4aee34f8a611f442b", size = 21492232, upload-time = "2026-01-09T20:18:19.266Z" },
+ { url = "https://files.pythonhosted.org/packages/8e/4f/a1ba8d922f2f6d1a3d52419463ef26dd6c4d43ee364164a71b424b5ae204/av-16.1.0-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:720edd4d25aa73723c1532bb0597806d7b9af5ee34fc02358782c358cfe2f879", size = 39291737, upload-time = "2026-01-09T20:18:21.513Z" },
+ { url = "https://files.pythonhosted.org/packages/1a/31/fc62b9fe8738d2693e18d99f040b219e26e8df894c10d065f27c6b4f07e3/av-16.1.0-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:c7f2bc703d0df260a1fdf4de4253c7f5500ca9fc57772ea241b0cb241bcf972e", size = 40846822, upload-time = "2026-01-09T20:18:24.275Z" },
+ { url = "https://files.pythonhosted.org/packages/53/10/ab446583dbce730000e8e6beec6ec3c2753e628c7f78f334a35cad0317f4/av-16.1.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:d69c393809babada7d54964d56099e4b30a3e1f8b5736ca5e27bd7be0e0f3c83", size = 40675604, upload-time = "2026-01-09T20:18:26.866Z" },
+ { url = "https://files.pythonhosted.org/packages/31/d7/1003be685277005f6d63fd9e64904ee222fe1f7a0ea70af313468bb597db/av-16.1.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:441892be28582356d53f282873c5a951592daaf71642c7f20165e3ddcb0b4c63", size = 42015955, upload-time = "2026-01-09T20:18:29.461Z" },
+ { url = "https://files.pythonhosted.org/packages/2f/4a/fa2a38ee9306bf4579f556f94ecbc757520652eb91294d2a99c7cf7623b9/av-16.1.0-cp311-cp311-win_amd64.whl", hash = "sha256:273a3e32de64819e4a1cd96341824299fe06f70c46f2288b5dc4173944f0fd62", size = 31750339, upload-time = "2026-01-09T20:18:32.249Z" },
+ { url = "https://files.pythonhosted.org/packages/9c/84/2535f55edcd426cebec02eb37b811b1b0c163f26b8d3f53b059e2ec32665/av-16.1.0-cp312-cp312-macosx_11_0_x86_64.whl", hash = "sha256:640f57b93f927fba8689f6966c956737ee95388a91bd0b8c8b5e0481f73513d6", size = 26945785, upload-time = "2026-01-09T20:18:34.486Z" },
+ { url = "https://files.pythonhosted.org/packages/b6/17/ffb940c9e490bf42e86db4db1ff426ee1559cd355a69609ec1efe4d3a9eb/av-16.1.0-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:ae3fb658eec00852ebd7412fdc141f17f3ddce8afee2d2e1cf366263ad2a3b35", size = 21481147, upload-time = "2026-01-09T20:18:36.716Z" },
+ { url = "https://files.pythonhosted.org/packages/15/c1/e0d58003d2d83c3921887d5c8c9b8f5f7de9b58dc2194356a2656a45cfdc/av-16.1.0-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:27ee558d9c02a142eebcbe55578a6d817fedfde42ff5676275504e16d07a7f86", size = 39517197, upload-time = "2026-01-11T09:57:31.937Z" },
+ { url = "https://files.pythonhosted.org/packages/32/77/787797b43475d1b90626af76f80bfb0c12cfec5e11eafcfc4151b8c80218/av-16.1.0-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:7ae547f6d5fa31763f73900d43901e8c5fa6367bb9a9840978d57b5a7ae14ed2", size = 41174337, upload-time = "2026-01-11T09:57:35.792Z" },
+ { url = "https://files.pythonhosted.org/packages/8e/ac/d90df7f1e3b97fc5554cf45076df5045f1e0a6adf13899e10121229b826c/av-16.1.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:8cf065f9d438e1921dc31fc7aa045790b58aee71736897866420d80b5450f62a", size = 40817720, upload-time = "2026-01-11T09:57:39.039Z" },
+ { url = "https://files.pythonhosted.org/packages/80/6f/13c3a35f9dbcebafd03fe0c4cbd075d71ac8968ec849a3cfce406c35a9d2/av-16.1.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:a345877a9d3cc0f08e2bc4ec163ee83176864b92587afb9d08dff50f37a9a829", size = 42267396, upload-time = "2026-01-11T09:57:42.115Z" },
+ { url = "https://files.pythonhosted.org/packages/c8/b9/275df9607f7fb44317ccb1d4be74827185c0d410f52b6e2cd770fe209118/av-16.1.0-cp312-cp312-win_amd64.whl", hash = "sha256:f49243b1d27c91cd8c66fdba90a674e344eb8eb917264f36117bf2b6879118fd", size = 31752045, upload-time = "2026-01-11T09:57:45.106Z" },
+ { url = "https://files.pythonhosted.org/packages/75/2a/63797a4dde34283dd8054219fcb29294ba1c25d68ba8c8c8a6ae53c62c45/av-16.1.0-cp313-cp313-macosx_11_0_x86_64.whl", hash = "sha256:ce2a1b3d8bf619f6c47a9f28cfa7518ff75ddd516c234a4ee351037b05e6a587", size = 26916715, upload-time = "2026-01-11T09:57:47.682Z" },
+ { url = "https://files.pythonhosted.org/packages/d2/c4/0b49cf730d0ae8cda925402f18ae814aef351f5772d14da72dd87ff66448/av-16.1.0-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:408dbe6a2573ca58a855eb8cd854112b33ea598651902c36709f5f84c991ed8e", size = 21452167, upload-time = "2026-01-11T09:57:50.606Z" },
+ { url = "https://files.pythonhosted.org/packages/51/23/408806503e8d5d840975aad5699b153aaa21eb6de41ade75248a79b7a37f/av-16.1.0-cp313-cp313-manylinux_2_28_aarch64.whl", hash = "sha256:57f657f86652a160a8a01887aaab82282f9e629abf94c780bbdbb01595d6f0f7", size = 39215659, upload-time = "2026-01-11T09:57:53.757Z" },
+ { url = "https://files.pythonhosted.org/packages/c4/19/a8528d5bba592b3903f44c28dab9cc653c95fcf7393f382d2751a1d1523e/av-16.1.0-cp313-cp313-manylinux_2_28_x86_64.whl", hash = "sha256:adbad2b355c2ee4552cac59762809d791bda90586d134a33c6f13727fb86cb3a", size = 40874970, upload-time = "2026-01-11T09:57:56.802Z" },
+ { url = "https://files.pythonhosted.org/packages/e8/24/2dbcdf0e929ad56b7df078e514e7bd4ca0d45cba798aff3c8caac097d2f7/av-16.1.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:f42e1a68ec2aebd21f7eb6895be69efa6aa27eec1670536876399725bbda4b99", size = 40530345, upload-time = "2026-01-11T09:58:00.421Z" },
+ { url = "https://files.pythonhosted.org/packages/54/27/ae91b41207f34e99602d1c72ab6ffd9c51d7c67e3fbcd4e3a6c0e54f882c/av-16.1.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:58fe47aeaef0f100c40ec8a5de9abbd37f118d3ca03829a1009cf288e9aef67c", size = 41972163, upload-time = "2026-01-11T09:58:03.756Z" },
+ { url = "https://files.pythonhosted.org/packages/fc/7a/22158fb923b2a9a00dfab0e96ef2e8a1763a94dd89e666a5858412383d46/av-16.1.0-cp313-cp313-win_amd64.whl", hash = "sha256:565093ebc93b2f4b76782589564869dadfa83af5b852edebedd8fee746457d06", size = 31729230, upload-time = "2026-01-11T09:58:07.254Z" },
+ { url = "https://files.pythonhosted.org/packages/7f/f1/878f8687d801d6c4565d57ebec08449c46f75126ebca8e0fed6986599627/av-16.1.0-cp313-cp313t-macosx_11_0_x86_64.whl", hash = "sha256:574081a24edb98343fd9f473e21ae155bf61443d4ec9d7708987fa597d6b04b2", size = 27008769, upload-time = "2026-01-11T09:58:10.266Z" },
+ { url = "https://files.pythonhosted.org/packages/30/f1/bd4ce8c8b5cbf1d43e27048e436cbc9de628d48ede088a1d0a993768eb86/av-16.1.0-cp313-cp313t-macosx_14_0_arm64.whl", hash = "sha256:9ab00ea29c25ebf2ea1d1e928d7babb3532d562481c5d96c0829212b70756ad0", size = 21590588, upload-time = "2026-01-11T09:58:12.629Z" },
+ { url = "https://files.pythonhosted.org/packages/1d/dd/c81f6f9209201ff0b5d5bed6da6c6e641eef52d8fbc930d738c3f4f6f75d/av-16.1.0-cp313-cp313t-manylinux_2_28_aarch64.whl", hash = "sha256:a84a91188c1071f238a9523fd42dbe567fb2e2607b22b779851b2ce0eac1b560", size = 40638029, upload-time = "2026-01-11T09:58:15.399Z" },
+ { url = "https://files.pythonhosted.org/packages/15/4d/07edff82b78d0459a6e807e01cd280d3180ce832efc1543de80d77676722/av-16.1.0-cp313-cp313t-manylinux_2_28_x86_64.whl", hash = "sha256:c2cd0de4dd022a7225ff224fde8e7971496d700be41c50adaaa26c07bb50bf97", size = 41970776, upload-time = "2026-01-11T09:58:19.075Z" },
+ { url = "https://files.pythonhosted.org/packages/da/9d/1f48b354b82fa135d388477cd1b11b81bdd4384bd6a42a60808e2ec2d66b/av-16.1.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:0816143530624a5a93bc5494f8c6eeaf77549b9366709c2ac8566c1e9bff6df5", size = 41764751, upload-time = "2026-01-11T09:58:22.788Z" },
+ { url = "https://files.pythonhosted.org/packages/2f/c7/a509801e98db35ec552dd79da7bdbcff7104044bfeb4c7d196c1ce121593/av-16.1.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:e3a28053af29644696d0c007e897d19b1197585834660a54773e12a40b16974c", size = 43034355, upload-time = "2026-01-11T09:58:26.125Z" },
+ { url = "https://files.pythonhosted.org/packages/36/8b/e5f530d9e8f640da5f5c5f681a424c65f9dd171c871cd255d8a861785a6e/av-16.1.0-cp313-cp313t-win_amd64.whl", hash = "sha256:2e3e67144a202b95ed299d165232533989390a9ea3119d37eccec697dc6dbb0c", size = 31947047, upload-time = "2026-01-11T09:58:31.867Z" },
+]
+
+[[package]]
+name = "brotli"
+version = "1.2.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/f7/16/c92ca344d646e71a43b8bb353f0a6490d7f6e06210f8554c8f874e454285/brotli-1.2.0.tar.gz", hash = "sha256:e310f77e41941c13340a95976fe66a8a95b01e783d430eeaf7a2f87e0a57dd0a", size = 7388632, upload-time = "2025-11-05T18:39:42.86Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/64/10/a090475284fc4a71aed40a96f32e44a7fe5bda39687353dd977720b211b6/brotli-1.2.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:3b90b767916ac44e93a8e28ce6adf8d551e43affb512f2377c732d486ac6514e", size = 863089, upload-time = "2025-11-05T18:38:01.181Z" },
+ { url = "https://files.pythonhosted.org/packages/03/41/17416630e46c07ac21e378c3464815dd2e120b441e641bc516ac32cc51d2/brotli-1.2.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:6be67c19e0b0c56365c6a76e393b932fb0e78b3b56b711d180dd7013cb1fd984", size = 445442, upload-time = "2025-11-05T18:38:02.434Z" },
+ { url = "https://files.pythonhosted.org/packages/24/31/90cc06584deb5d4fcafc0985e37741fc6b9717926a78674bbb3ce018957e/brotli-1.2.0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:0bbd5b5ccd157ae7913750476d48099aaf507a79841c0d04a9db4415b14842de", size = 1532658, upload-time = "2025-11-05T18:38:03.588Z" },
+ { url = "https://files.pythonhosted.org/packages/62/17/33bf0c83bcbc96756dfd712201d87342732fad70bb3472c27e833a44a4f9/brotli-1.2.0-cp310-cp310-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:3f3c908bcc404c90c77d5a073e55271a0a498f4e0756e48127c35d91cf155947", size = 1631241, upload-time = "2025-11-05T18:38:04.582Z" },
+ { url = "https://files.pythonhosted.org/packages/48/10/f47854a1917b62efe29bc98ac18e5d4f71df03f629184575b862ef2e743b/brotli-1.2.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:1b557b29782a643420e08d75aea889462a4a8796e9a6cf5621ab05a3f7da8ef2", size = 1424307, upload-time = "2025-11-05T18:38:05.587Z" },
+ { url = "https://files.pythonhosted.org/packages/e4/b7/f88eb461719259c17483484ea8456925ee057897f8e64487d76e24e5e38d/brotli-1.2.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:81da1b229b1889f25adadc929aeb9dbc4e922bd18561b65b08dd9343cfccca84", size = 1488208, upload-time = "2025-11-05T18:38:06.613Z" },
+ { url = "https://files.pythonhosted.org/packages/26/59/41bbcb983a0c48b0b8004203e74706c6b6e99a04f3c7ca6f4f41f364db50/brotli-1.2.0-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:ff09cd8c5eec3b9d02d2408db41be150d8891c5566addce57513bf546e3d6c6d", size = 1597574, upload-time = "2025-11-05T18:38:07.838Z" },
+ { url = "https://files.pythonhosted.org/packages/8e/e6/8c89c3bdabbe802febb4c5c6ca224a395e97913b5df0dff11b54f23c1788/brotli-1.2.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:a1778532b978d2536e79c05dac2d8cd857f6c55cd0c95ace5b03740824e0e2f1", size = 1492109, upload-time = "2025-11-05T18:38:08.816Z" },
+ { url = "https://files.pythonhosted.org/packages/ed/9a/4b19d4310b2dbd545c0c33f176b0528fa68c3cd0754e34b2f2bcf56548ae/brotli-1.2.0-cp310-cp310-win32.whl", hash = "sha256:b232029d100d393ae3c603c8ffd7e3fe6f798c5e28ddca5feabb8e8fdb732997", size = 334461, upload-time = "2025-11-05T18:38:10.729Z" },
+ { url = "https://files.pythonhosted.org/packages/ac/39/70981d9f47705e3c2b95c0847dfa3e7a37aa3b7c6030aedc4873081ed005/brotli-1.2.0-cp310-cp310-win_amd64.whl", hash = "sha256:ef87b8ab2704da227e83a246356a2b179ef826f550f794b2c52cddb4efbd0196", size = 369035, upload-time = "2025-11-05T18:38:11.827Z" },
+ { url = "https://files.pythonhosted.org/packages/7a/ef/f285668811a9e1ddb47a18cb0b437d5fc2760d537a2fe8a57875ad6f8448/brotli-1.2.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:15b33fe93cedc4caaff8a0bd1eb7e3dab1c61bb22a0bf5bdfdfd97cd7da79744", size = 863110, upload-time = "2025-11-05T18:38:12.978Z" },
+ { url = "https://files.pythonhosted.org/packages/50/62/a3b77593587010c789a9d6eaa527c79e0848b7b860402cc64bc0bc28a86c/brotli-1.2.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:898be2be399c221d2671d29eed26b6b2713a02c2119168ed914e7d00ceadb56f", size = 445438, upload-time = "2025-11-05T18:38:14.208Z" },
+ { url = "https://files.pythonhosted.org/packages/cd/e1/7fadd47f40ce5549dc44493877db40292277db373da5053aff181656e16e/brotli-1.2.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:350c8348f0e76fff0a0fd6c26755d2653863279d086d3aa2c290a6a7251135dd", size = 1534420, upload-time = "2025-11-05T18:38:15.111Z" },
+ { url = "https://files.pythonhosted.org/packages/12/8b/1ed2f64054a5a008a4ccd2f271dbba7a5fb1a3067a99f5ceadedd4c1d5a7/brotli-1.2.0-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:2e1ad3fda65ae0d93fec742a128d72e145c9c7a99ee2fcd667785d99eb25a7fe", size = 1632619, upload-time = "2025-11-05T18:38:16.094Z" },
+ { url = "https://files.pythonhosted.org/packages/89/5a/7071a621eb2d052d64efd5da2ef55ecdac7c3b0c6e4f9d519e9c66d987ef/brotli-1.2.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:40d918bce2b427a0c4ba189df7a006ac0c7277c180aee4617d99e9ccaaf59e6a", size = 1426014, upload-time = "2025-11-05T18:38:17.177Z" },
+ { url = "https://files.pythonhosted.org/packages/26/6d/0971a8ea435af5156acaaccec1a505f981c9c80227633851f2810abd252a/brotli-1.2.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:2a7f1d03727130fc875448b65b127a9ec5d06d19d0148e7554384229706f9d1b", size = 1489661, upload-time = "2025-11-05T18:38:18.41Z" },
+ { url = "https://files.pythonhosted.org/packages/f3/75/c1baca8b4ec6c96a03ef8230fab2a785e35297632f402ebb1e78a1e39116/brotli-1.2.0-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:9c79f57faa25d97900bfb119480806d783fba83cd09ee0b33c17623935b05fa3", size = 1599150, upload-time = "2025-11-05T18:38:19.792Z" },
+ { url = "https://files.pythonhosted.org/packages/0d/1a/23fcfee1c324fd48a63d7ebf4bac3a4115bdb1b00e600f80f727d850b1ae/brotli-1.2.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:844a8ceb8483fefafc412f85c14f2aae2fb69567bf2a0de53cdb88b73e7c43ae", size = 1493505, upload-time = "2025-11-05T18:38:20.913Z" },
+ { url = "https://files.pythonhosted.org/packages/36/e5/12904bbd36afeef53d45a84881a4810ae8810ad7e328a971ebbfd760a0b3/brotli-1.2.0-cp311-cp311-win32.whl", hash = "sha256:aa47441fa3026543513139cb8926a92a8e305ee9c71a6209ef7a97d91640ea03", size = 334451, upload-time = "2025-11-05T18:38:21.94Z" },
+ { url = "https://files.pythonhosted.org/packages/02/8b/ecb5761b989629a4758c394b9301607a5880de61ee2ee5fe104b87149ebc/brotli-1.2.0-cp311-cp311-win_amd64.whl", hash = "sha256:022426c9e99fd65d9475dce5c195526f04bb8be8907607e27e747893f6ee3e24", size = 369035, upload-time = "2025-11-05T18:38:22.941Z" },
+ { url = "https://files.pythonhosted.org/packages/11/ee/b0a11ab2315c69bb9b45a2aaed022499c9c24a205c3a49c3513b541a7967/brotli-1.2.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:35d382625778834a7f3061b15423919aa03e4f5da34ac8e02c074e4b75ab4f84", size = 861543, upload-time = "2025-11-05T18:38:24.183Z" },
+ { url = "https://files.pythonhosted.org/packages/e1/2f/29c1459513cd35828e25531ebfcbf3e92a5e49f560b1777a9af7203eb46e/brotli-1.2.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:7a61c06b334bd99bc5ae84f1eeb36bfe01400264b3c352f968c6e30a10f9d08b", size = 444288, upload-time = "2025-11-05T18:38:25.139Z" },
+ { url = "https://files.pythonhosted.org/packages/3d/6f/feba03130d5fceadfa3a1bb102cb14650798c848b1df2a808356f939bb16/brotli-1.2.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:acec55bb7c90f1dfc476126f9711a8e81c9af7fb617409a9ee2953115343f08d", size = 1528071, upload-time = "2025-11-05T18:38:26.081Z" },
+ { url = "https://files.pythonhosted.org/packages/2b/38/f3abb554eee089bd15471057ba85f47e53a44a462cfce265d9bf7088eb09/brotli-1.2.0-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:260d3692396e1895c5034f204f0db022c056f9e2ac841593a4cf9426e2a3faca", size = 1626913, upload-time = "2025-11-05T18:38:27.284Z" },
+ { url = "https://files.pythonhosted.org/packages/03/a7/03aa61fbc3c5cbf99b44d158665f9b0dd3d8059be16c460208d9e385c837/brotli-1.2.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:072e7624b1fc4d601036ab3f4f27942ef772887e876beff0301d261210bca97f", size = 1419762, upload-time = "2025-11-05T18:38:28.295Z" },
+ { url = "https://files.pythonhosted.org/packages/21/1b/0374a89ee27d152a5069c356c96b93afd1b94eae83f1e004b57eb6ce2f10/brotli-1.2.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:adedc4a67e15327dfdd04884873c6d5a01d3e3b6f61406f99b1ed4865a2f6d28", size = 1484494, upload-time = "2025-11-05T18:38:29.29Z" },
+ { url = "https://files.pythonhosted.org/packages/cf/57/69d4fe84a67aef4f524dcd075c6eee868d7850e85bf01d778a857d8dbe0a/brotli-1.2.0-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:7a47ce5c2288702e09dc22a44d0ee6152f2c7eda97b3c8482d826a1f3cfc7da7", size = 1593302, upload-time = "2025-11-05T18:38:30.639Z" },
+ { url = "https://files.pythonhosted.org/packages/d5/3b/39e13ce78a8e9a621c5df3aeb5fd181fcc8caba8c48a194cd629771f6828/brotli-1.2.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:af43b8711a8264bb4e7d6d9a6d004c3a2019c04c01127a868709ec29962b6036", size = 1487913, upload-time = "2025-11-05T18:38:31.618Z" },
+ { url = "https://files.pythonhosted.org/packages/62/28/4d00cb9bd76a6357a66fcd54b4b6d70288385584063f4b07884c1e7286ac/brotli-1.2.0-cp312-cp312-win32.whl", hash = "sha256:e99befa0b48f3cd293dafeacdd0d191804d105d279e0b387a32054c1180f3161", size = 334362, upload-time = "2025-11-05T18:38:32.939Z" },
+ { url = "https://files.pythonhosted.org/packages/1c/4e/bc1dcac9498859d5e353c9b153627a3752868a9d5f05ce8dedd81a2354ab/brotli-1.2.0-cp312-cp312-win_amd64.whl", hash = "sha256:b35c13ce241abdd44cb8ca70683f20c0c079728a36a996297adb5334adfc1c44", size = 369115, upload-time = "2025-11-05T18:38:33.765Z" },
+ { url = "https://files.pythonhosted.org/packages/6c/d4/4ad5432ac98c73096159d9ce7ffeb82d151c2ac84adcc6168e476bb54674/brotli-1.2.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:9e5825ba2c9998375530504578fd4d5d1059d09621a02065d1b6bfc41a8e05ab", size = 861523, upload-time = "2025-11-05T18:38:34.67Z" },
+ { url = "https://files.pythonhosted.org/packages/91/9f/9cc5bd03ee68a85dc4bc89114f7067c056a3c14b3d95f171918c088bf88d/brotli-1.2.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:0cf8c3b8ba93d496b2fae778039e2f5ecc7cff99df84df337ca31d8f2252896c", size = 444289, upload-time = "2025-11-05T18:38:35.6Z" },
+ { url = "https://files.pythonhosted.org/packages/2e/b6/fe84227c56a865d16a6614e2c4722864b380cb14b13f3e6bef441e73a85a/brotli-1.2.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:c8565e3cdc1808b1a34714b553b262c5de5fbda202285782173ec137fd13709f", size = 1528076, upload-time = "2025-11-05T18:38:36.639Z" },
+ { url = "https://files.pythonhosted.org/packages/55/de/de4ae0aaca06c790371cf6e7ee93a024f6b4bb0568727da8c3de112e726c/brotli-1.2.0-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:26e8d3ecb0ee458a9804f47f21b74845cc823fd1bb19f02272be70774f56e2a6", size = 1626880, upload-time = "2025-11-05T18:38:37.623Z" },
+ { url = "https://files.pythonhosted.org/packages/5f/16/a1b22cbea436642e071adcaf8d4b350a2ad02f5e0ad0da879a1be16188a0/brotli-1.2.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:67a91c5187e1eec76a61625c77a6c8c785650f5b576ca732bd33ef58b0dff49c", size = 1419737, upload-time = "2025-11-05T18:38:38.729Z" },
+ { url = "https://files.pythonhosted.org/packages/46/63/c968a97cbb3bdbf7f974ef5a6ab467a2879b82afbc5ffb65b8acbb744f95/brotli-1.2.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:4ecdb3b6dc36e6d6e14d3a1bdc6c1057c8cbf80db04031d566eb6080ce283a48", size = 1484440, upload-time = "2025-11-05T18:38:39.916Z" },
+ { url = "https://files.pythonhosted.org/packages/06/9d/102c67ea5c9fc171f423e8399e585dabea29b5bc79b05572891e70013cdd/brotli-1.2.0-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:3e1b35d56856f3ed326b140d3c6d9db91740f22e14b06e840fe4bb1923439a18", size = 1593313, upload-time = "2025-11-05T18:38:41.24Z" },
+ { url = "https://files.pythonhosted.org/packages/9e/4a/9526d14fa6b87bc827ba1755a8440e214ff90de03095cacd78a64abe2b7d/brotli-1.2.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:54a50a9dad16b32136b2241ddea9e4df159b41247b2ce6aac0b3276a66a8f1e5", size = 1487945, upload-time = "2025-11-05T18:38:42.277Z" },
+ { url = "https://files.pythonhosted.org/packages/5b/e8/3fe1ffed70cbef83c5236166acaed7bb9c766509b157854c80e2f766b38c/brotli-1.2.0-cp313-cp313-win32.whl", hash = "sha256:1b1d6a4efedd53671c793be6dd760fcf2107da3a52331ad9ea429edf0902f27a", size = 334368, upload-time = "2025-11-05T18:38:43.345Z" },
+ { url = "https://files.pythonhosted.org/packages/ff/91/e739587be970a113b37b821eae8097aac5a48e5f0eca438c22e4c7dd8648/brotli-1.2.0-cp313-cp313-win_amd64.whl", hash = "sha256:b63daa43d82f0cdabf98dee215b375b4058cce72871fd07934f179885aad16e8", size = 369116, upload-time = "2025-11-05T18:38:44.609Z" },
+]
+
+[[package]]
+name = "budoux"
+version = "0.7.0"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "importlib-resources" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/75/58/5ac689c097f592072a6ad5f650d48b60db05c702355a2603682555c8be0e/budoux-0.7.0.tar.gz", hash = "sha256:1cb6f4ba1b5b100883147c1fb16ceacdb3d09adf077c82421788c2e170f792ba", size = 117328, upload-time = "2025-03-11T02:16:22.065Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/40/30/62ef0a148b28f7a036a899e48b4f730479f828a80a669eeb50cab95f2d68/budoux-0.7.0-py3-none-any.whl", hash = "sha256:c71f777bf49dd8bffe5fe8234e18a02a7bcbbbbdf60f7c42cefb457e5f87ea05", size = 118571, upload-time = "2025-03-11T02:16:20.072Z" },
+]
+
+[[package]]
+name = "build"
+version = "1.4.0"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "colorama", marker = "(python_full_version < '3.13' and os_name == 'nt' and platform_machine == 'aarch64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version < '3.13' and os_name == 'nt' and platform_machine == 'arm64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version >= '3.13' and platform_machine == 'arm64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (os_name == 'nt' and platform_machine != 'aarch64' and platform_machine != 'x86_64' and sys_platform == 'linux') or (os_name == 'nt' and platform_machine != 'aarch64' and platform_machine != 'arm64' and sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cpu') or (os_name == 'nt' and platform_machine != 'aarch64' and platform_machine != 'arm64' and sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cu126') or (os_name == 'nt' and platform_machine != 'aarch64' and platform_machine != 'arm64' and sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cu128') or (os_name == 'nt' and platform_machine != 'aarch64' and platform_machine != 'arm64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-mlx') or (os_name == 'nt' and platform_machine == 'aarch64' and sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cpu') or (os_name == 'nt' and platform_machine == 'arm64' and sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cpu') or (os_name == 'nt' and platform_machine == 'aarch64' and sys_platform == 'linux' and extra != 'extra-15-gpt-sovits-meta-cpu') or (os_name == 'nt' and platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu') or (os_name == 'nt' and platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cu126') or (os_name == 'nt' and platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cu128') or (os_name == 'nt' and platform_machine == 'x86_64' and sys_platform == 'linux' and extra != 'extra-15-gpt-sovits-meta-mlx') or (os_name == 'nt' and sys_platform != 'darwin' and sys_platform != 'linux') or (os_name != 'nt' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (os_name != 'nt' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (os_name != 'nt' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (os_name != 'nt' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (os_name != 'nt' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (os_name != 'nt' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (os_name != 'nt' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (os_name != 'nt' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (os_name != 'nt' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (os_name != 'nt' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine == 'aarch64' and sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'aarch64' and sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'aarch64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'arm64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'x86_64' and sys_platform == 'linux' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "importlib-metadata", marker = "python_full_version < '3.10.2' or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "packaging" },
+ { name = "pyproject-hooks" },
+ { name = "tomli", marker = "python_full_version < '3.11' or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/42/18/94eaffda7b329535d91f00fe605ab1f1e5cd68b2074d03f255c7d250687d/build-1.4.0.tar.gz", hash = "sha256:f1b91b925aa322be454f8330c6fb48b465da993d1e7e7e6fa35027ec49f3c936", size = 50054, upload-time = "2026-01-08T16:41:47.696Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/c5/0d/84a4380f930db0010168e0aa7b7a8fed9ba1835a8fbb1472bc6d0201d529/build-1.4.0-py3-none-any.whl", hash = "sha256:6a07c1b8eb6f2b311b96fcbdbce5dab5fe637ffda0fd83c9cac622e927501596", size = 24141, upload-time = "2026-01-08T16:41:46.453Z" },
+]
+
+[[package]]
+name = "certifi"
+version = "2026.1.4"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/e0/2d/a891ca51311197f6ad14a7ef42e2399f36cf2f9bd44752b3dc4eab60fdc5/certifi-2026.1.4.tar.gz", hash = "sha256:ac726dd470482006e014ad384921ed6438c457018f4b3d204aea4281258b2120", size = 154268, upload-time = "2026-01-04T02:42:41.825Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/e6/ad/3cc14f097111b4de0040c83a525973216457bbeeb63739ef1ed275c1c021/certifi-2026.1.4-py3-none-any.whl", hash = "sha256:9943707519e4add1115f44c2bc244f782c0249876bf51b6599fee1ffbedd685c", size = 152900, upload-time = "2026-01-04T02:42:40.15Z" },
+]
+
+[[package]]
+name = "cffi"
+version = "2.0.0"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "pycparser", marker = "implementation_name != 'PyPy' or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/eb/56/b1ba7935a17738ae8453301356628e8147c79dbb825bcbc73dc7401f9846/cffi-2.0.0.tar.gz", hash = "sha256:44d1b5909021139fe36001ae048dbdde8214afa20200eda0f64c068cac5d5529", size = 523588, upload-time = "2025-09-08T23:24:04.541Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/93/d7/516d984057745a6cd96575eea814fe1edd6646ee6efd552fb7b0921dec83/cffi-2.0.0-cp310-cp310-macosx_10_13_x86_64.whl", hash = "sha256:0cf2d91ecc3fcc0625c2c530fe004f82c110405f101548512cce44322fa8ac44", size = 184283, upload-time = "2025-09-08T23:22:08.01Z" },
+ { url = "https://files.pythonhosted.org/packages/9e/84/ad6a0b408daa859246f57c03efd28e5dd1b33c21737c2db84cae8c237aa5/cffi-2.0.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:f73b96c41e3b2adedc34a7356e64c8eb96e03a3782b535e043a986276ce12a49", size = 180504, upload-time = "2025-09-08T23:22:10.637Z" },
+ { url = "https://files.pythonhosted.org/packages/50/bd/b1a6362b80628111e6653c961f987faa55262b4002fcec42308cad1db680/cffi-2.0.0-cp310-cp310-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl", hash = "sha256:53f77cbe57044e88bbd5ed26ac1d0514d2acf0591dd6bb02a3ae37f76811b80c", size = 208811, upload-time = "2025-09-08T23:22:12.267Z" },
+ { url = "https://files.pythonhosted.org/packages/4f/27/6933a8b2562d7bd1fb595074cf99cc81fc3789f6a6c05cdabb46284a3188/cffi-2.0.0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:3e837e369566884707ddaf85fc1744b47575005c0a229de3327f8f9a20f4efeb", size = 216402, upload-time = "2025-09-08T23:22:13.455Z" },
+ { url = "https://files.pythonhosted.org/packages/05/eb/b86f2a2645b62adcfff53b0dd97e8dfafb5c8aa864bd0d9a2c2049a0d551/cffi-2.0.0-cp310-cp310-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:5eda85d6d1879e692d546a078b44251cdd08dd1cfb98dfb77b670c97cee49ea0", size = 203217, upload-time = "2025-09-08T23:22:14.596Z" },
+ { url = "https://files.pythonhosted.org/packages/9f/e0/6cbe77a53acf5acc7c08cc186c9928864bd7c005f9efd0d126884858a5fe/cffi-2.0.0-cp310-cp310-manylinux2014_s390x.manylinux_2_17_s390x.whl", hash = "sha256:9332088d75dc3241c702d852d4671613136d90fa6881da7d770a483fd05248b4", size = 203079, upload-time = "2025-09-08T23:22:15.769Z" },
+ { url = "https://files.pythonhosted.org/packages/98/29/9b366e70e243eb3d14a5cb488dfd3a0b6b2f1fb001a203f653b93ccfac88/cffi-2.0.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:fc7de24befaeae77ba923797c7c87834c73648a05a4bde34b3b7e5588973a453", size = 216475, upload-time = "2025-09-08T23:22:17.427Z" },
+ { url = "https://files.pythonhosted.org/packages/21/7a/13b24e70d2f90a322f2900c5d8e1f14fa7e2a6b3332b7309ba7b2ba51a5a/cffi-2.0.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:cf364028c016c03078a23b503f02058f1814320a56ad535686f90565636a9495", size = 218829, upload-time = "2025-09-08T23:22:19.069Z" },
+ { url = "https://files.pythonhosted.org/packages/60/99/c9dc110974c59cc981b1f5b66e1d8af8af764e00f0293266824d9c4254bc/cffi-2.0.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:e11e82b744887154b182fd3e7e8512418446501191994dbf9c9fc1f32cc8efd5", size = 211211, upload-time = "2025-09-08T23:22:20.588Z" },
+ { url = "https://files.pythonhosted.org/packages/49/72/ff2d12dbf21aca1b32a40ed792ee6b40f6dc3a9cf1644bd7ef6e95e0ac5e/cffi-2.0.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:8ea985900c5c95ce9db1745f7933eeef5d314f0565b27625d9a10ec9881e1bfb", size = 218036, upload-time = "2025-09-08T23:22:22.143Z" },
+ { url = "https://files.pythonhosted.org/packages/e2/cc/027d7fb82e58c48ea717149b03bcadcbdc293553edb283af792bd4bcbb3f/cffi-2.0.0-cp310-cp310-win32.whl", hash = "sha256:1f72fb8906754ac8a2cc3f9f5aaa298070652a0ffae577e0ea9bd480dc3c931a", size = 172184, upload-time = "2025-09-08T23:22:23.328Z" },
+ { url = "https://files.pythonhosted.org/packages/33/fa/072dd15ae27fbb4e06b437eb6e944e75b068deb09e2a2826039e49ee2045/cffi-2.0.0-cp310-cp310-win_amd64.whl", hash = "sha256:b18a3ed7d5b3bd8d9ef7a8cb226502c6bf8308df1525e1cc676c3680e7176739", size = 182790, upload-time = "2025-09-08T23:22:24.752Z" },
+ { url = "https://files.pythonhosted.org/packages/12/4a/3dfd5f7850cbf0d06dc84ba9aa00db766b52ca38d8b86e3a38314d52498c/cffi-2.0.0-cp311-cp311-macosx_10_13_x86_64.whl", hash = "sha256:b4c854ef3adc177950a8dfc81a86f5115d2abd545751a304c5bcf2c2c7283cfe", size = 184344, upload-time = "2025-09-08T23:22:26.456Z" },
+ { url = "https://files.pythonhosted.org/packages/4f/8b/f0e4c441227ba756aafbe78f117485b25bb26b1c059d01f137fa6d14896b/cffi-2.0.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:2de9a304e27f7596cd03d16f1b7c72219bd944e99cc52b84d0145aefb07cbd3c", size = 180560, upload-time = "2025-09-08T23:22:28.197Z" },
+ { url = "https://files.pythonhosted.org/packages/b1/b7/1200d354378ef52ec227395d95c2576330fd22a869f7a70e88e1447eb234/cffi-2.0.0-cp311-cp311-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl", hash = "sha256:baf5215e0ab74c16e2dd324e8ec067ef59e41125d3eade2b863d294fd5035c92", size = 209613, upload-time = "2025-09-08T23:22:29.475Z" },
+ { url = "https://files.pythonhosted.org/packages/b8/56/6033f5e86e8cc9bb629f0077ba71679508bdf54a9a5e112a3c0b91870332/cffi-2.0.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:730cacb21e1bdff3ce90babf007d0a0917cc3e6492f336c2f0134101e0944f93", size = 216476, upload-time = "2025-09-08T23:22:31.063Z" },
+ { url = "https://files.pythonhosted.org/packages/dc/7f/55fecd70f7ece178db2f26128ec41430d8720f2d12ca97bf8f0a628207d5/cffi-2.0.0-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:6824f87845e3396029f3820c206e459ccc91760e8fa24422f8b0c3d1731cbec5", size = 203374, upload-time = "2025-09-08T23:22:32.507Z" },
+ { url = "https://files.pythonhosted.org/packages/84/ef/a7b77c8bdc0f77adc3b46888f1ad54be8f3b7821697a7b89126e829e676a/cffi-2.0.0-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.whl", hash = "sha256:9de40a7b0323d889cf8d23d1ef214f565ab154443c42737dfe52ff82cf857664", size = 202597, upload-time = "2025-09-08T23:22:34.132Z" },
+ { url = "https://files.pythonhosted.org/packages/d7/91/500d892b2bf36529a75b77958edfcd5ad8e2ce4064ce2ecfeab2125d72d1/cffi-2.0.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:8941aaadaf67246224cee8c3803777eed332a19d909b47e29c9842ef1e79ac26", size = 215574, upload-time = "2025-09-08T23:22:35.443Z" },
+ { url = "https://files.pythonhosted.org/packages/44/64/58f6255b62b101093d5df22dcb752596066c7e89dd725e0afaed242a61be/cffi-2.0.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:a05d0c237b3349096d3981b727493e22147f934b20f6f125a3eba8f994bec4a9", size = 218971, upload-time = "2025-09-08T23:22:36.805Z" },
+ { url = "https://files.pythonhosted.org/packages/ab/49/fa72cebe2fd8a55fbe14956f9970fe8eb1ac59e5df042f603ef7c8ba0adc/cffi-2.0.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:94698a9c5f91f9d138526b48fe26a199609544591f859c870d477351dc7b2414", size = 211972, upload-time = "2025-09-08T23:22:38.436Z" },
+ { url = "https://files.pythonhosted.org/packages/0b/28/dd0967a76aab36731b6ebfe64dec4e981aff7e0608f60c2d46b46982607d/cffi-2.0.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:5fed36fccc0612a53f1d4d9a816b50a36702c28a2aa880cb8a122b3466638743", size = 217078, upload-time = "2025-09-08T23:22:39.776Z" },
+ { url = "https://files.pythonhosted.org/packages/2b/c0/015b25184413d7ab0a410775fdb4a50fca20f5589b5dab1dbbfa3baad8ce/cffi-2.0.0-cp311-cp311-win32.whl", hash = "sha256:c649e3a33450ec82378822b3dad03cc228b8f5963c0c12fc3b1e0ab940f768a5", size = 172076, upload-time = "2025-09-08T23:22:40.95Z" },
+ { url = "https://files.pythonhosted.org/packages/ae/8f/dc5531155e7070361eb1b7e4c1a9d896d0cb21c49f807a6c03fd63fc877e/cffi-2.0.0-cp311-cp311-win_amd64.whl", hash = "sha256:66f011380d0e49ed280c789fbd08ff0d40968ee7b665575489afa95c98196ab5", size = 182820, upload-time = "2025-09-08T23:22:42.463Z" },
+ { url = "https://files.pythonhosted.org/packages/95/5c/1b493356429f9aecfd56bc171285a4c4ac8697f76e9bbbbb105e537853a1/cffi-2.0.0-cp311-cp311-win_arm64.whl", hash = "sha256:c6638687455baf640e37344fe26d37c404db8b80d037c3d29f58fe8d1c3b194d", size = 177635, upload-time = "2025-09-08T23:22:43.623Z" },
+ { url = "https://files.pythonhosted.org/packages/ea/47/4f61023ea636104d4f16ab488e268b93008c3d0bb76893b1b31db1f96802/cffi-2.0.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:6d02d6655b0e54f54c4ef0b94eb6be0607b70853c45ce98bd278dc7de718be5d", size = 185271, upload-time = "2025-09-08T23:22:44.795Z" },
+ { url = "https://files.pythonhosted.org/packages/df/a2/781b623f57358e360d62cdd7a8c681f074a71d445418a776eef0aadb4ab4/cffi-2.0.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:8eca2a813c1cb7ad4fb74d368c2ffbbb4789d377ee5bb8df98373c2cc0dee76c", size = 181048, upload-time = "2025-09-08T23:22:45.938Z" },
+ { url = "https://files.pythonhosted.org/packages/ff/df/a4f0fbd47331ceeba3d37c2e51e9dfc9722498becbeec2bd8bc856c9538a/cffi-2.0.0-cp312-cp312-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl", hash = "sha256:21d1152871b019407d8ac3985f6775c079416c282e431a4da6afe7aefd2bccbe", size = 212529, upload-time = "2025-09-08T23:22:47.349Z" },
+ { url = "https://files.pythonhosted.org/packages/d5/72/12b5f8d3865bf0f87cf1404d8c374e7487dcf097a1c91c436e72e6badd83/cffi-2.0.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:b21e08af67b8a103c71a250401c78d5e0893beff75e28c53c98f4de42f774062", size = 220097, upload-time = "2025-09-08T23:22:48.677Z" },
+ { url = "https://files.pythonhosted.org/packages/c2/95/7a135d52a50dfa7c882ab0ac17e8dc11cec9d55d2c18dda414c051c5e69e/cffi-2.0.0-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:1e3a615586f05fc4065a8b22b8152f0c1b00cdbc60596d187c2a74f9e3036e4e", size = 207983, upload-time = "2025-09-08T23:22:50.06Z" },
+ { url = "https://files.pythonhosted.org/packages/3a/c8/15cb9ada8895957ea171c62dc78ff3e99159ee7adb13c0123c001a2546c1/cffi-2.0.0-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.whl", hash = "sha256:81afed14892743bbe14dacb9e36d9e0e504cd204e0b165062c488942b9718037", size = 206519, upload-time = "2025-09-08T23:22:51.364Z" },
+ { url = "https://files.pythonhosted.org/packages/78/2d/7fa73dfa841b5ac06c7b8855cfc18622132e365f5b81d02230333ff26e9e/cffi-2.0.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:3e17ed538242334bf70832644a32a7aae3d83b57567f9fd60a26257e992b79ba", size = 219572, upload-time = "2025-09-08T23:22:52.902Z" },
+ { url = "https://files.pythonhosted.org/packages/07/e0/267e57e387b4ca276b90f0434ff88b2c2241ad72b16d31836adddfd6031b/cffi-2.0.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:3925dd22fa2b7699ed2617149842d2e6adde22b262fcbfada50e3d195e4b3a94", size = 222963, upload-time = "2025-09-08T23:22:54.518Z" },
+ { url = "https://files.pythonhosted.org/packages/b6/75/1f2747525e06f53efbd878f4d03bac5b859cbc11c633d0fb81432d98a795/cffi-2.0.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:2c8f814d84194c9ea681642fd164267891702542f028a15fc97d4674b6206187", size = 221361, upload-time = "2025-09-08T23:22:55.867Z" },
+ { url = "https://files.pythonhosted.org/packages/7b/2b/2b6435f76bfeb6bbf055596976da087377ede68df465419d192acf00c437/cffi-2.0.0-cp312-cp312-win32.whl", hash = "sha256:da902562c3e9c550df360bfa53c035b2f241fed6d9aef119048073680ace4a18", size = 172932, upload-time = "2025-09-08T23:22:57.188Z" },
+ { url = "https://files.pythonhosted.org/packages/f8/ed/13bd4418627013bec4ed6e54283b1959cf6db888048c7cf4b4c3b5b36002/cffi-2.0.0-cp312-cp312-win_amd64.whl", hash = "sha256:da68248800ad6320861f129cd9c1bf96ca849a2771a59e0344e88681905916f5", size = 183557, upload-time = "2025-09-08T23:22:58.351Z" },
+ { url = "https://files.pythonhosted.org/packages/95/31/9f7f93ad2f8eff1dbc1c3656d7ca5bfd8fb52c9d786b4dcf19b2d02217fa/cffi-2.0.0-cp312-cp312-win_arm64.whl", hash = "sha256:4671d9dd5ec934cb9a73e7ee9676f9362aba54f7f34910956b84d727b0d73fb6", size = 177762, upload-time = "2025-09-08T23:22:59.668Z" },
+ { url = "https://files.pythonhosted.org/packages/4b/8d/a0a47a0c9e413a658623d014e91e74a50cdd2c423f7ccfd44086ef767f90/cffi-2.0.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:00bdf7acc5f795150faa6957054fbbca2439db2f775ce831222b66f192f03beb", size = 185230, upload-time = "2025-09-08T23:23:00.879Z" },
+ { url = "https://files.pythonhosted.org/packages/4a/d2/a6c0296814556c68ee32009d9c2ad4f85f2707cdecfd7727951ec228005d/cffi-2.0.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:45d5e886156860dc35862657e1494b9bae8dfa63bf56796f2fb56e1679fc0bca", size = 181043, upload-time = "2025-09-08T23:23:02.231Z" },
+ { url = "https://files.pythonhosted.org/packages/b0/1e/d22cc63332bd59b06481ceaac49d6c507598642e2230f201649058a7e704/cffi-2.0.0-cp313-cp313-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl", hash = "sha256:07b271772c100085dd28b74fa0cd81c8fb1a3ba18b21e03d7c27f3436a10606b", size = 212446, upload-time = "2025-09-08T23:23:03.472Z" },
+ { url = "https://files.pythonhosted.org/packages/a9/f5/a2c23eb03b61a0b8747f211eb716446c826ad66818ddc7810cc2cc19b3f2/cffi-2.0.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:d48a880098c96020b02d5a1f7d9251308510ce8858940e6fa99ece33f610838b", size = 220101, upload-time = "2025-09-08T23:23:04.792Z" },
+ { url = "https://files.pythonhosted.org/packages/f2/7f/e6647792fc5850d634695bc0e6ab4111ae88e89981d35ac269956605feba/cffi-2.0.0-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:f93fd8e5c8c0a4aa1f424d6173f14a892044054871c771f8566e4008eaa359d2", size = 207948, upload-time = "2025-09-08T23:23:06.127Z" },
+ { url = "https://files.pythonhosted.org/packages/cb/1e/a5a1bd6f1fb30f22573f76533de12a00bf274abcdc55c8edab639078abb6/cffi-2.0.0-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.whl", hash = "sha256:dd4f05f54a52fb558f1ba9f528228066954fee3ebe629fc1660d874d040ae5a3", size = 206422, upload-time = "2025-09-08T23:23:07.753Z" },
+ { url = "https://files.pythonhosted.org/packages/98/df/0a1755e750013a2081e863e7cd37e0cdd02664372c754e5560099eb7aa44/cffi-2.0.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:c8d3b5532fc71b7a77c09192b4a5a200ea992702734a2e9279a37f2478236f26", size = 219499, upload-time = "2025-09-08T23:23:09.648Z" },
+ { url = "https://files.pythonhosted.org/packages/50/e1/a969e687fcf9ea58e6e2a928ad5e2dd88cc12f6f0ab477e9971f2309b57c/cffi-2.0.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:d9b29c1f0ae438d5ee9acb31cadee00a58c46cc9c0b2f9038c6b0b3470877a8c", size = 222928, upload-time = "2025-09-08T23:23:10.928Z" },
+ { url = "https://files.pythonhosted.org/packages/36/54/0362578dd2c9e557a28ac77698ed67323ed5b9775ca9d3fe73fe191bb5d8/cffi-2.0.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:6d50360be4546678fc1b79ffe7a66265e28667840010348dd69a314145807a1b", size = 221302, upload-time = "2025-09-08T23:23:12.42Z" },
+ { url = "https://files.pythonhosted.org/packages/eb/6d/bf9bda840d5f1dfdbf0feca87fbdb64a918a69bca42cfa0ba7b137c48cb8/cffi-2.0.0-cp313-cp313-win32.whl", hash = "sha256:74a03b9698e198d47562765773b4a8309919089150a0bb17d829ad7b44b60d27", size = 172909, upload-time = "2025-09-08T23:23:14.32Z" },
+ { url = "https://files.pythonhosted.org/packages/37/18/6519e1ee6f5a1e579e04b9ddb6f1676c17368a7aba48299c3759bbc3c8b3/cffi-2.0.0-cp313-cp313-win_amd64.whl", hash = "sha256:19f705ada2530c1167abacb171925dd886168931e0a7b78f5bffcae5c6b5be75", size = 183402, upload-time = "2025-09-08T23:23:15.535Z" },
+ { url = "https://files.pythonhosted.org/packages/cb/0e/02ceeec9a7d6ee63bb596121c2c8e9b3a9e150936f4fbef6ca1943e6137c/cffi-2.0.0-cp313-cp313-win_arm64.whl", hash = "sha256:256f80b80ca3853f90c21b23ee78cd008713787b1b1e93eae9f3d6a7134abd91", size = 177780, upload-time = "2025-09-08T23:23:16.761Z" },
+]
+
+[[package]]
+name = "cfgv"
+version = "3.5.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/4e/b5/721b8799b04bf9afe054a3899c6cf4e880fcf8563cc71c15610242490a0c/cfgv-3.5.0.tar.gz", hash = "sha256:d5b1034354820651caa73ede66a6294d6e95c1b00acc5e9b098e917404669132", size = 7334, upload-time = "2025-11-19T20:55:51.612Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/db/3c/33bac158f8ab7f89b2e59426d5fe2e4f63f7ed25df84c036890172b412b5/cfgv-3.5.0-py2.py3-none-any.whl", hash = "sha256:a8dc6b26ad22ff227d2634a65cb388215ce6cc96bbcc5cfde7641ae87e8dacc0", size = 7445, upload-time = "2025-11-19T20:55:50.744Z" },
+]
+
+[[package]]
+name = "charset-normalizer"
+version = "3.4.4"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/13/69/33ddede1939fdd074bce5434295f38fae7136463422fe4fd3e0e89b98062/charset_normalizer-3.4.4.tar.gz", hash = "sha256:94537985111c35f28720e43603b8e7b43a6ecfb2ce1d3058bbe955b73404e21a", size = 129418, upload-time = "2025-10-14T04:42:32.879Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/1f/b8/6d51fc1d52cbd52cd4ccedd5b5b2f0f6a11bbf6765c782298b0f3e808541/charset_normalizer-3.4.4-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:e824f1492727fa856dd6eda4f7cee25f8518a12f3c4a56a74e8095695089cf6d", size = 209709, upload-time = "2025-10-14T04:40:11.385Z" },
+ { url = "https://files.pythonhosted.org/packages/5c/af/1f9d7f7faafe2ddfb6f72a2e07a548a629c61ad510fe60f9630309908fef/charset_normalizer-3.4.4-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:4bd5d4137d500351a30687c2d3971758aac9a19208fc110ccb9d7188fbe709e8", size = 148814, upload-time = "2025-10-14T04:40:13.135Z" },
+ { url = "https://files.pythonhosted.org/packages/79/3d/f2e3ac2bbc056ca0c204298ea4e3d9db9b4afe437812638759db2c976b5f/charset_normalizer-3.4.4-cp310-cp310-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:027f6de494925c0ab2a55eab46ae5129951638a49a34d87f4c3eda90f696b4ad", size = 144467, upload-time = "2025-10-14T04:40:14.728Z" },
+ { url = "https://files.pythonhosted.org/packages/ec/85/1bf997003815e60d57de7bd972c57dc6950446a3e4ccac43bc3070721856/charset_normalizer-3.4.4-cp310-cp310-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:f820802628d2694cb7e56db99213f930856014862f3fd943d290ea8438d07ca8", size = 162280, upload-time = "2025-10-14T04:40:16.14Z" },
+ { url = "https://files.pythonhosted.org/packages/3e/8e/6aa1952f56b192f54921c436b87f2aaf7c7a7c3d0d1a765547d64fd83c13/charset_normalizer-3.4.4-cp310-cp310-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:798d75d81754988d2565bff1b97ba5a44411867c0cf32b77a7e8f8d84796b10d", size = 159454, upload-time = "2025-10-14T04:40:17.567Z" },
+ { url = "https://files.pythonhosted.org/packages/36/3b/60cbd1f8e93aa25d1c669c649b7a655b0b5fb4c571858910ea9332678558/charset_normalizer-3.4.4-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:9d1bb833febdff5c8927f922386db610b49db6e0d4f4ee29601d71e7c2694313", size = 153609, upload-time = "2025-10-14T04:40:19.08Z" },
+ { url = "https://files.pythonhosted.org/packages/64/91/6a13396948b8fd3c4b4fd5bc74d045f5637d78c9675585e8e9fbe5636554/charset_normalizer-3.4.4-cp310-cp310-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:9cd98cdc06614a2f768d2b7286d66805f94c48cde050acdbbb7db2600ab3197e", size = 151849, upload-time = "2025-10-14T04:40:20.607Z" },
+ { url = "https://files.pythonhosted.org/packages/b7/7a/59482e28b9981d105691e968c544cc0df3b7d6133152fb3dcdc8f135da7a/charset_normalizer-3.4.4-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:077fbb858e903c73f6c9db43374fd213b0b6a778106bc7032446a8e8b5b38b93", size = 151586, upload-time = "2025-10-14T04:40:21.719Z" },
+ { url = "https://files.pythonhosted.org/packages/92/59/f64ef6a1c4bdd2baf892b04cd78792ed8684fbc48d4c2afe467d96b4df57/charset_normalizer-3.4.4-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:244bfb999c71b35de57821b8ea746b24e863398194a4014e4c76adc2bbdfeff0", size = 145290, upload-time = "2025-10-14T04:40:23.069Z" },
+ { url = "https://files.pythonhosted.org/packages/6b/63/3bf9f279ddfa641ffa1962b0db6a57a9c294361cc2f5fcac997049a00e9c/charset_normalizer-3.4.4-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:64b55f9dce520635f018f907ff1b0df1fdc31f2795a922fb49dd14fbcdf48c84", size = 163663, upload-time = "2025-10-14T04:40:24.17Z" },
+ { url = "https://files.pythonhosted.org/packages/ed/09/c9e38fc8fa9e0849b172b581fd9803bdf6e694041127933934184e19f8c3/charset_normalizer-3.4.4-cp310-cp310-musllinux_1_2_riscv64.whl", hash = "sha256:faa3a41b2b66b6e50f84ae4a68c64fcd0c44355741c6374813a800cd6695db9e", size = 151964, upload-time = "2025-10-14T04:40:25.368Z" },
+ { url = "https://files.pythonhosted.org/packages/d2/d1/d28b747e512d0da79d8b6a1ac18b7ab2ecfd81b2944c4c710e166d8dd09c/charset_normalizer-3.4.4-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:6515f3182dbe4ea06ced2d9e8666d97b46ef4c75e326b79bb624110f122551db", size = 161064, upload-time = "2025-10-14T04:40:26.806Z" },
+ { url = "https://files.pythonhosted.org/packages/bb/9a/31d62b611d901c3b9e5500c36aab0ff5eb442043fb3a1c254200d3d397d9/charset_normalizer-3.4.4-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:cc00f04ed596e9dc0da42ed17ac5e596c6ccba999ba6bd92b0e0aef2f170f2d6", size = 155015, upload-time = "2025-10-14T04:40:28.284Z" },
+ { url = "https://files.pythonhosted.org/packages/1f/f3/107e008fa2bff0c8b9319584174418e5e5285fef32f79d8ee6a430d0039c/charset_normalizer-3.4.4-cp310-cp310-win32.whl", hash = "sha256:f34be2938726fc13801220747472850852fe6b1ea75869a048d6f896838c896f", size = 99792, upload-time = "2025-10-14T04:40:29.613Z" },
+ { url = "https://files.pythonhosted.org/packages/eb/66/e396e8a408843337d7315bab30dbf106c38966f1819f123257f5520f8a96/charset_normalizer-3.4.4-cp310-cp310-win_amd64.whl", hash = "sha256:a61900df84c667873b292c3de315a786dd8dac506704dea57bc957bd31e22c7d", size = 107198, upload-time = "2025-10-14T04:40:30.644Z" },
+ { url = "https://files.pythonhosted.org/packages/b5/58/01b4f815bf0312704c267f2ccb6e5d42bcc7752340cd487bc9f8c3710597/charset_normalizer-3.4.4-cp310-cp310-win_arm64.whl", hash = "sha256:cead0978fc57397645f12578bfd2d5ea9138ea0fac82b2f63f7f7c6877986a69", size = 100262, upload-time = "2025-10-14T04:40:32.108Z" },
+ { url = "https://files.pythonhosted.org/packages/ed/27/c6491ff4954e58a10f69ad90aca8a1b6fe9c5d3c6f380907af3c37435b59/charset_normalizer-3.4.4-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:6e1fcf0720908f200cd21aa4e6750a48ff6ce4afe7ff5a79a90d5ed8a08296f8", size = 206988, upload-time = "2025-10-14T04:40:33.79Z" },
+ { url = "https://files.pythonhosted.org/packages/94/59/2e87300fe67ab820b5428580a53cad894272dbb97f38a7a814a2a1ac1011/charset_normalizer-3.4.4-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:5f819d5fe9234f9f82d75bdfa9aef3a3d72c4d24a6e57aeaebba32a704553aa0", size = 147324, upload-time = "2025-10-14T04:40:34.961Z" },
+ { url = "https://files.pythonhosted.org/packages/07/fb/0cf61dc84b2b088391830f6274cb57c82e4da8bbc2efeac8c025edb88772/charset_normalizer-3.4.4-cp311-cp311-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:a59cb51917aa591b1c4e6a43c132f0cdc3c76dbad6155df4e28ee626cc77a0a3", size = 142742, upload-time = "2025-10-14T04:40:36.105Z" },
+ { url = "https://files.pythonhosted.org/packages/62/8b/171935adf2312cd745d290ed93cf16cf0dfe320863ab7cbeeae1dcd6535f/charset_normalizer-3.4.4-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:8ef3c867360f88ac904fd3f5e1f902f13307af9052646963ee08ff4f131adafc", size = 160863, upload-time = "2025-10-14T04:40:37.188Z" },
+ { url = "https://files.pythonhosted.org/packages/09/73/ad875b192bda14f2173bfc1bc9a55e009808484a4b256748d931b6948442/charset_normalizer-3.4.4-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:d9e45d7faa48ee908174d8fe84854479ef838fc6a705c9315372eacbc2f02897", size = 157837, upload-time = "2025-10-14T04:40:38.435Z" },
+ { url = "https://files.pythonhosted.org/packages/6d/fc/de9cce525b2c5b94b47c70a4b4fb19f871b24995c728e957ee68ab1671ea/charset_normalizer-3.4.4-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:840c25fb618a231545cbab0564a799f101b63b9901f2569faecd6b222ac72381", size = 151550, upload-time = "2025-10-14T04:40:40.053Z" },
+ { url = "https://files.pythonhosted.org/packages/55/c2/43edd615fdfba8c6f2dfbd459b25a6b3b551f24ea21981e23fb768503ce1/charset_normalizer-3.4.4-cp311-cp311-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:ca5862d5b3928c4940729dacc329aa9102900382fea192fc5e52eb69d6093815", size = 149162, upload-time = "2025-10-14T04:40:41.163Z" },
+ { url = "https://files.pythonhosted.org/packages/03/86/bde4ad8b4d0e9429a4e82c1e8f5c659993a9a863ad62c7df05cf7b678d75/charset_normalizer-3.4.4-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:d9c7f57c3d666a53421049053eaacdd14bbd0a528e2186fcb2e672effd053bb0", size = 150019, upload-time = "2025-10-14T04:40:42.276Z" },
+ { url = "https://files.pythonhosted.org/packages/1f/86/a151eb2af293a7e7bac3a739b81072585ce36ccfb4493039f49f1d3cae8c/charset_normalizer-3.4.4-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:277e970e750505ed74c832b4bf75dac7476262ee2a013f5574dd49075879e161", size = 143310, upload-time = "2025-10-14T04:40:43.439Z" },
+ { url = "https://files.pythonhosted.org/packages/b5/fe/43dae6144a7e07b87478fdfc4dbe9efd5defb0e7ec29f5f58a55aeef7bf7/charset_normalizer-3.4.4-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:31fd66405eaf47bb62e8cd575dc621c56c668f27d46a61d975a249930dd5e2a4", size = 162022, upload-time = "2025-10-14T04:40:44.547Z" },
+ { url = "https://files.pythonhosted.org/packages/80/e6/7aab83774f5d2bca81f42ac58d04caf44f0cc2b65fc6db2b3b2e8a05f3b3/charset_normalizer-3.4.4-cp311-cp311-musllinux_1_2_riscv64.whl", hash = "sha256:0d3d8f15c07f86e9ff82319b3d9ef6f4bf907608f53fe9d92b28ea9ae3d1fd89", size = 149383, upload-time = "2025-10-14T04:40:46.018Z" },
+ { url = "https://files.pythonhosted.org/packages/4f/e8/b289173b4edae05c0dde07f69f8db476a0b511eac556dfe0d6bda3c43384/charset_normalizer-3.4.4-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:9f7fcd74d410a36883701fafa2482a6af2ff5ba96b9a620e9e0721e28ead5569", size = 159098, upload-time = "2025-10-14T04:40:47.081Z" },
+ { url = "https://files.pythonhosted.org/packages/d8/df/fe699727754cae3f8478493c7f45f777b17c3ef0600e28abfec8619eb49c/charset_normalizer-3.4.4-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:ebf3e58c7ec8a8bed6d66a75d7fb37b55e5015b03ceae72a8e7c74495551e224", size = 152991, upload-time = "2025-10-14T04:40:48.246Z" },
+ { url = "https://files.pythonhosted.org/packages/1a/86/584869fe4ddb6ffa3bd9f491b87a01568797fb9bd8933f557dba9771beaf/charset_normalizer-3.4.4-cp311-cp311-win32.whl", hash = "sha256:eecbc200c7fd5ddb9a7f16c7decb07b566c29fa2161a16cf67b8d068bd21690a", size = 99456, upload-time = "2025-10-14T04:40:49.376Z" },
+ { url = "https://files.pythonhosted.org/packages/65/f6/62fdd5feb60530f50f7e38b4f6a1d5203f4d16ff4f9f0952962c044e919a/charset_normalizer-3.4.4-cp311-cp311-win_amd64.whl", hash = "sha256:5ae497466c7901d54b639cf42d5b8c1b6a4fead55215500d2f486d34db48d016", size = 106978, upload-time = "2025-10-14T04:40:50.844Z" },
+ { url = "https://files.pythonhosted.org/packages/7a/9d/0710916e6c82948b3be62d9d398cb4fcf4e97b56d6a6aeccd66c4b2f2bd5/charset_normalizer-3.4.4-cp311-cp311-win_arm64.whl", hash = "sha256:65e2befcd84bc6f37095f5961e68a6f077bf44946771354a28ad434c2cce0ae1", size = 99969, upload-time = "2025-10-14T04:40:52.272Z" },
+ { url = "https://files.pythonhosted.org/packages/f3/85/1637cd4af66fa687396e757dec650f28025f2a2f5a5531a3208dc0ec43f2/charset_normalizer-3.4.4-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:0a98e6759f854bd25a58a73fa88833fba3b7c491169f86ce1180c948ab3fd394", size = 208425, upload-time = "2025-10-14T04:40:53.353Z" },
+ { url = "https://files.pythonhosted.org/packages/9d/6a/04130023fef2a0d9c62d0bae2649b69f7b7d8d24ea5536feef50551029df/charset_normalizer-3.4.4-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:b5b290ccc2a263e8d185130284f8501e3e36c5e02750fc6b6bdeb2e9e96f1e25", size = 148162, upload-time = "2025-10-14T04:40:54.558Z" },
+ { url = "https://files.pythonhosted.org/packages/78/29/62328d79aa60da22c9e0b9a66539feae06ca0f5a4171ac4f7dc285b83688/charset_normalizer-3.4.4-cp312-cp312-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:74bb723680f9f7a6234dcf67aea57e708ec1fbdf5699fb91dfd6f511b0a320ef", size = 144558, upload-time = "2025-10-14T04:40:55.677Z" },
+ { url = "https://files.pythonhosted.org/packages/86/bb/b32194a4bf15b88403537c2e120b817c61cd4ecffa9b6876e941c3ee38fe/charset_normalizer-3.4.4-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:f1e34719c6ed0b92f418c7c780480b26b5d9c50349e9a9af7d76bf757530350d", size = 161497, upload-time = "2025-10-14T04:40:57.217Z" },
+ { url = "https://files.pythonhosted.org/packages/19/89/a54c82b253d5b9b111dc74aca196ba5ccfcca8242d0fb64146d4d3183ff1/charset_normalizer-3.4.4-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:2437418e20515acec67d86e12bf70056a33abdacb5cb1655042f6538d6b085a8", size = 159240, upload-time = "2025-10-14T04:40:58.358Z" },
+ { url = "https://files.pythonhosted.org/packages/c0/10/d20b513afe03acc89ec33948320a5544d31f21b05368436d580dec4e234d/charset_normalizer-3.4.4-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:11d694519d7f29d6cd09f6ac70028dba10f92f6cdd059096db198c283794ac86", size = 153471, upload-time = "2025-10-14T04:40:59.468Z" },
+ { url = "https://files.pythonhosted.org/packages/61/fa/fbf177b55bdd727010f9c0a3c49eefa1d10f960e5f09d1d887bf93c2e698/charset_normalizer-3.4.4-cp312-cp312-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:ac1c4a689edcc530fc9d9aa11f5774b9e2f33f9a0c6a57864e90908f5208d30a", size = 150864, upload-time = "2025-10-14T04:41:00.623Z" },
+ { url = "https://files.pythonhosted.org/packages/05/12/9fbc6a4d39c0198adeebbde20b619790e9236557ca59fc40e0e3cebe6f40/charset_normalizer-3.4.4-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:21d142cc6c0ec30d2efee5068ca36c128a30b0f2c53c1c07bd78cb6bc1d3be5f", size = 150647, upload-time = "2025-10-14T04:41:01.754Z" },
+ { url = "https://files.pythonhosted.org/packages/ad/1f/6a9a593d52e3e8c5d2b167daf8c6b968808efb57ef4c210acb907c365bc4/charset_normalizer-3.4.4-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:5dbe56a36425d26d6cfb40ce79c314a2e4dd6211d51d6d2191c00bed34f354cc", size = 145110, upload-time = "2025-10-14T04:41:03.231Z" },
+ { url = "https://files.pythonhosted.org/packages/30/42/9a52c609e72471b0fc54386dc63c3781a387bb4fe61c20231a4ebcd58bdd/charset_normalizer-3.4.4-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:5bfbb1b9acf3334612667b61bd3002196fe2a1eb4dd74d247e0f2a4d50ec9bbf", size = 162839, upload-time = "2025-10-14T04:41:04.715Z" },
+ { url = "https://files.pythonhosted.org/packages/c4/5b/c0682bbf9f11597073052628ddd38344a3d673fda35a36773f7d19344b23/charset_normalizer-3.4.4-cp312-cp312-musllinux_1_2_riscv64.whl", hash = "sha256:d055ec1e26e441f6187acf818b73564e6e6282709e9bcb5b63f5b23068356a15", size = 150667, upload-time = "2025-10-14T04:41:05.827Z" },
+ { url = "https://files.pythonhosted.org/packages/e4/24/a41afeab6f990cf2daf6cb8c67419b63b48cf518e4f56022230840c9bfb2/charset_normalizer-3.4.4-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:af2d8c67d8e573d6de5bc30cdb27e9b95e49115cd9baad5ddbd1a6207aaa82a9", size = 160535, upload-time = "2025-10-14T04:41:06.938Z" },
+ { url = "https://files.pythonhosted.org/packages/2a/e5/6a4ce77ed243c4a50a1fecca6aaaab419628c818a49434be428fe24c9957/charset_normalizer-3.4.4-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:780236ac706e66881f3b7f2f32dfe90507a09e67d1d454c762cf642e6e1586e0", size = 154816, upload-time = "2025-10-14T04:41:08.101Z" },
+ { url = "https://files.pythonhosted.org/packages/a8/ef/89297262b8092b312d29cdb2517cb1237e51db8ecef2e9af5edbe7b683b1/charset_normalizer-3.4.4-cp312-cp312-win32.whl", hash = "sha256:5833d2c39d8896e4e19b689ffc198f08ea58116bee26dea51e362ecc7cd3ed26", size = 99694, upload-time = "2025-10-14T04:41:09.23Z" },
+ { url = "https://files.pythonhosted.org/packages/3d/2d/1e5ed9dd3b3803994c155cd9aacb60c82c331bad84daf75bcb9c91b3295e/charset_normalizer-3.4.4-cp312-cp312-win_amd64.whl", hash = "sha256:a79cfe37875f822425b89a82333404539ae63dbdddf97f84dcbc3d339aae9525", size = 107131, upload-time = "2025-10-14T04:41:10.467Z" },
+ { url = "https://files.pythonhosted.org/packages/d0/d9/0ed4c7098a861482a7b6a95603edce4c0d9db2311af23da1fb2b75ec26fc/charset_normalizer-3.4.4-cp312-cp312-win_arm64.whl", hash = "sha256:376bec83a63b8021bb5c8ea75e21c4ccb86e7e45ca4eb81146091b56599b80c3", size = 100390, upload-time = "2025-10-14T04:41:11.915Z" },
+ { url = "https://files.pythonhosted.org/packages/97/45/4b3a1239bbacd321068ea6e7ac28875b03ab8bc0aa0966452db17cd36714/charset_normalizer-3.4.4-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:e1f185f86a6f3403aa2420e815904c67b2f9ebc443f045edd0de921108345794", size = 208091, upload-time = "2025-10-14T04:41:13.346Z" },
+ { url = "https://files.pythonhosted.org/packages/7d/62/73a6d7450829655a35bb88a88fca7d736f9882a27eacdca2c6d505b57e2e/charset_normalizer-3.4.4-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:6b39f987ae8ccdf0d2642338faf2abb1862340facc796048b604ef14919e55ed", size = 147936, upload-time = "2025-10-14T04:41:14.461Z" },
+ { url = "https://files.pythonhosted.org/packages/89/c5/adb8c8b3d6625bef6d88b251bbb0d95f8205831b987631ab0c8bb5d937c2/charset_normalizer-3.4.4-cp313-cp313-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:3162d5d8ce1bb98dd51af660f2121c55d0fa541b46dff7bb9b9f86ea1d87de72", size = 144180, upload-time = "2025-10-14T04:41:15.588Z" },
+ { url = "https://files.pythonhosted.org/packages/91/ed/9706e4070682d1cc219050b6048bfd293ccf67b3d4f5a4f39207453d4b99/charset_normalizer-3.4.4-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:81d5eb2a312700f4ecaa977a8235b634ce853200e828fbadf3a9c50bab278328", size = 161346, upload-time = "2025-10-14T04:41:16.738Z" },
+ { url = "https://files.pythonhosted.org/packages/d5/0d/031f0d95e4972901a2f6f09ef055751805ff541511dc1252ba3ca1f80cf5/charset_normalizer-3.4.4-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:5bd2293095d766545ec1a8f612559f6b40abc0eb18bb2f5d1171872d34036ede", size = 158874, upload-time = "2025-10-14T04:41:17.923Z" },
+ { url = "https://files.pythonhosted.org/packages/f5/83/6ab5883f57c9c801ce5e5677242328aa45592be8a00644310a008d04f922/charset_normalizer-3.4.4-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:a8a8b89589086a25749f471e6a900d3f662d1d3b6e2e59dcecf787b1cc3a1894", size = 153076, upload-time = "2025-10-14T04:41:19.106Z" },
+ { url = "https://files.pythonhosted.org/packages/75/1e/5ff781ddf5260e387d6419959ee89ef13878229732732ee73cdae01800f2/charset_normalizer-3.4.4-cp313-cp313-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:bc7637e2f80d8530ee4a78e878bce464f70087ce73cf7c1caf142416923b98f1", size = 150601, upload-time = "2025-10-14T04:41:20.245Z" },
+ { url = "https://files.pythonhosted.org/packages/d7/57/71be810965493d3510a6ca79b90c19e48696fb1ff964da319334b12677f0/charset_normalizer-3.4.4-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:f8bf04158c6b607d747e93949aa60618b61312fe647a6369f88ce2ff16043490", size = 150376, upload-time = "2025-10-14T04:41:21.398Z" },
+ { url = "https://files.pythonhosted.org/packages/e5/d5/c3d057a78c181d007014feb7e9f2e65905a6c4ef182c0ddf0de2924edd65/charset_normalizer-3.4.4-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:554af85e960429cf30784dd47447d5125aaa3b99a6f0683589dbd27e2f45da44", size = 144825, upload-time = "2025-10-14T04:41:22.583Z" },
+ { url = "https://files.pythonhosted.org/packages/e6/8c/d0406294828d4976f275ffbe66f00266c4b3136b7506941d87c00cab5272/charset_normalizer-3.4.4-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:74018750915ee7ad843a774364e13a3db91682f26142baddf775342c3f5b1133", size = 162583, upload-time = "2025-10-14T04:41:23.754Z" },
+ { url = "https://files.pythonhosted.org/packages/d7/24/e2aa1f18c8f15c4c0e932d9287b8609dd30ad56dbe41d926bd846e22fb8d/charset_normalizer-3.4.4-cp313-cp313-musllinux_1_2_riscv64.whl", hash = "sha256:c0463276121fdee9c49b98908b3a89c39be45d86d1dbaa22957e38f6321d4ce3", size = 150366, upload-time = "2025-10-14T04:41:25.27Z" },
+ { url = "https://files.pythonhosted.org/packages/e4/5b/1e6160c7739aad1e2df054300cc618b06bf784a7a164b0f238360721ab86/charset_normalizer-3.4.4-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:362d61fd13843997c1c446760ef36f240cf81d3ebf74ac62652aebaf7838561e", size = 160300, upload-time = "2025-10-14T04:41:26.725Z" },
+ { url = "https://files.pythonhosted.org/packages/7a/10/f882167cd207fbdd743e55534d5d9620e095089d176d55cb22d5322f2afd/charset_normalizer-3.4.4-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:9a26f18905b8dd5d685d6d07b0cdf98a79f3c7a918906af7cc143ea2e164c8bc", size = 154465, upload-time = "2025-10-14T04:41:28.322Z" },
+ { url = "https://files.pythonhosted.org/packages/89/66/c7a9e1b7429be72123441bfdbaf2bc13faab3f90b933f664db506dea5915/charset_normalizer-3.4.4-cp313-cp313-win32.whl", hash = "sha256:9b35f4c90079ff2e2edc5b26c0c77925e5d2d255c42c74fdb70fb49b172726ac", size = 99404, upload-time = "2025-10-14T04:41:29.95Z" },
+ { url = "https://files.pythonhosted.org/packages/c4/26/b9924fa27db384bdcd97ab83b4f0a8058d96ad9626ead570674d5e737d90/charset_normalizer-3.4.4-cp313-cp313-win_amd64.whl", hash = "sha256:b435cba5f4f750aa6c0a0d92c541fb79f69a387c91e61f1795227e4ed9cece14", size = 107092, upload-time = "2025-10-14T04:41:31.188Z" },
+ { url = "https://files.pythonhosted.org/packages/af/8f/3ed4bfa0c0c72a7ca17f0380cd9e4dd842b09f664e780c13cff1dcf2ef1b/charset_normalizer-3.4.4-cp313-cp313-win_arm64.whl", hash = "sha256:542d2cee80be6f80247095cc36c418f7bddd14f4a6de45af91dfad36d817bba2", size = 100408, upload-time = "2025-10-14T04:41:32.624Z" },
+ { url = "https://files.pythonhosted.org/packages/0a/4c/925909008ed5a988ccbb72dcc897407e5d6d3bd72410d69e051fc0c14647/charset_normalizer-3.4.4-py3-none-any.whl", hash = "sha256:7a32c560861a02ff789ad905a2fe94e3f840803362c84fecf1851cb4cf3dc37f", size = 53402, upload-time = "2025-10-14T04:42:31.76Z" },
+]
+
+[[package]]
+name = "click"
+version = "8.3.1"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "colorama", marker = "sys_platform == 'win32' or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/3d/fa/656b739db8587d7b5dfa22e22ed02566950fbfbcdc20311993483657a5c0/click-8.3.1.tar.gz", hash = "sha256:12ff4785d337a1bb490bb7e9c2b1ee5da3112e94a8622f26a6c77f5d2fc6842a", size = 295065, upload-time = "2025-11-15T20:45:42.706Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/98/78/01c019cdb5d6498122777c1a43056ebb3ebfeef2076d9d026bfe15583b2b/click-8.3.1-py3-none-any.whl", hash = "sha256:981153a64e25f12d547d3426c367a4857371575ee7ad18df2a6183ab0545b2a6", size = 108274, upload-time = "2025-11-15T20:45:41.139Z" },
+]
+
+[[package]]
+name = "cmake"
+version = "4.2.1"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/00/f5/e4f5a35864293a8605bf6e9366d406ee11565b91a22f38f8b8665096c718/cmake-4.2.1.tar.gz", hash = "sha256:a07a790ca65946667c0fb286549e8e0b5a850e2f8170ae60d3418573011ca218", size = 37060, upload-time = "2025-12-21T11:23:47.499Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/53/b3/51560fb74ff1f369299d2b15e7c0a1c227d534753dd779ccd45b305678a8/cmake-4.2.1-py3-none-macosx_10_10_universal2.whl", hash = "sha256:ec44fa08b6ca25a63f7356a442469840841145d7b7b6f4d65318b6bd59a0f7f6", size = 51572335, upload-time = "2025-12-21T11:22:42.116Z" },
+ { url = "https://files.pythonhosted.org/packages/51/4f/8278a25e101ec1ce2a1a2ca78db61fa683495a14e66a1174fc3d97879802/cmake-4.2.1-py3-none-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:c8bdf88f8d50b64c88ffc75fb671f3ab017d803f36589f21c3f1e9f3a1b236a7", size = 29050095, upload-time = "2025-12-21T11:22:45.955Z" },
+ { url = "https://files.pythonhosted.org/packages/e6/6c/efeb22bfdcebb29baf2c8853edf7ef59ff0bce0c2adaeefde4916c2b0eea/cmake-4.2.1-py3-none-manylinux2014_i686.manylinux_2_17_i686.whl", hash = "sha256:6ca394cdea61534f12e30f0188b19ace8ba844088105b77b9fd70e6df18ef241", size = 30088543, upload-time = "2025-12-21T11:22:49.623Z" },
+ { url = "https://files.pythonhosted.org/packages/9b/83/7b6ff5b0f64f764db5e87ac4c320dfc34a783f38601b2f0c1dfe0ffcbab1/cmake-4.2.1-py3-none-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:c5742041f8e641d977928207e2697e9cc3242d0d01f7cb8671f63ad45dcc447b", size = 29838727, upload-time = "2025-12-21T11:22:53.799Z" },
+ { url = "https://files.pythonhosted.org/packages/64/48/81fa5fa5bf19b7be74ba83ea3eddc20210995b066e3acb2329e8f821bd4e/cmake-4.2.1-py3-none-manylinux2014_s390x.manylinux_2_17_s390x.whl", hash = "sha256:ae0f51d2b8dd00a7ac1578c19364140358596e449d2ac1b978af3f0b35737d01", size = 27768477, upload-time = "2025-12-21T11:22:57.608Z" },
+ { url = "https://files.pythonhosted.org/packages/28/19/b54ff2e03946beeef785e6407d965a9493d26c50dd1aa09ffc7b53fbf9a5/cmake-4.2.1-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:6333a2b16e1d55373419b9c1572a155b315bfb9d834fbdbba0f7d3428437c785", size = 28919242, upload-time = "2025-12-21T11:23:01.177Z" },
+ { url = "https://files.pythonhosted.org/packages/ff/82/b001aac0162af8524067a94005e61e23426103b9283c2525df62f0b403ea/cmake-4.2.1-py3-none-manylinux_2_31_armv7l.whl", hash = "sha256:4d7a62c462cc81a6f7a5e4db7b298b4e66d851010418c8cdc5a9de0a8701f60f", size = 26109769, upload-time = "2025-12-21T11:23:04.627Z" },
+ { url = "https://files.pythonhosted.org/packages/28/62/c4e8810012175ca76bb4be565955b73354a8693a4a9e983206be7cd9144e/cmake-4.2.1-py3-none-manylinux_2_31_riscv64.whl", hash = "sha256:3455391ffce8a860bbbd22b83c2188f13806100a21f28b8ab2c6a785def25616", size = 26217175, upload-time = "2025-12-21T11:23:07.952Z" },
+ { url = "https://files.pythonhosted.org/packages/40/2e/4f657c370fdf741dfa7c1189863a15e50ea44e35fad314ba3448ad017ef8/cmake-4.2.1-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:4d0dfe33c993e3d58cfebe2ab1205668411aae1e6cb78430f3b9d070a97e1274", size = 37922579, upload-time = "2025-12-21T11:23:11.477Z" },
+ { url = "https://files.pythonhosted.org/packages/6a/c2/c37989f2366d700f934b6c557dfd74e078352f7535b63d35920f1b0e49fd/cmake-4.2.1-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:52db8740e81d10c8d103899c87e0100e6aab969295ab99ce51eb11de4c36c9ce", size = 34564791, upload-time = "2025-12-21T11:23:15.177Z" },
+ { url = "https://files.pythonhosted.org/packages/0d/f4/4a3fe5399be1f4f3876762d2b583c8b2ce6e1b419692f170a8b710ca1742/cmake-4.2.1-py3-none-musllinux_1_2_i686.whl", hash = "sha256:493abf42c003034c2bb1ad58a221542174a5c0fd2a76e9fdd91709ae6e53263c", size = 40440667, upload-time = "2025-12-21T11:23:19.14Z" },
+ { url = "https://files.pythonhosted.org/packages/9d/a7/91b4504199f587c11b612f7bedcb8943d6f2da679d6e627e2de962a95011/cmake-4.2.1-py3-none-musllinux_1_2_ppc64le.whl", hash = "sha256:3d8d7632bb27cf1d0ac78098f2f7dfb7019927f35fb5a8c1508b17524af70000", size = 39610499, upload-time = "2025-12-21T11:23:23Z" },
+ { url = "https://files.pythonhosted.org/packages/f5/4e/6aabf0172544c6b021ef0192f3f9bd8bb0f2877ad9ae223e653982aebd62/cmake-4.2.1-py3-none-musllinux_1_2_riscv64.whl", hash = "sha256:3e89d391096fdbdaab82e28b7e1fa964a873c0ba8d77c3542260c7d115aaac1f", size = 34796816, upload-time = "2025-12-21T11:23:26.88Z" },
+ { url = "https://files.pythonhosted.org/packages/0a/f1/a2ae37cc5ff4338165a322e2dc70ddd0713a2989dee1ccf1af4ddf4917da/cmake-4.2.1-py3-none-musllinux_1_2_s390x.whl", hash = "sha256:e758ae635c75aaf0258e2c46fe95a3821f01011d5dbe29b7f045976b88ce3ca8", size = 36826277, upload-time = "2025-12-21T11:23:30.702Z" },
+ { url = "https://files.pythonhosted.org/packages/fe/5b/ffa3551f85fd26dddc0e5d2e5dff0cda50fce57aaf2b237f2d5210d74203/cmake-4.2.1-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:fecc03edef6257b2bc8784f7880e84fe8a0b0fb54c952528c61ce14a4d693e16", size = 37806089, upload-time = "2025-12-21T11:23:34.464Z" },
+ { url = "https://files.pythonhosted.org/packages/d2/99/c48c152e5e002a59861fdcfeed4e8ebe5d2da7a36db6e5da86b2f3a6c4d8/cmake-4.2.1-py3-none-win32.whl", hash = "sha256:72c860dae7c0315b05f59fd8e19253861c6e42f8d391a26aa6e2b4c9bd6014b8", size = 35352971, upload-time = "2025-12-21T11:23:37.908Z" },
+ { url = "https://files.pythonhosted.org/packages/ff/cd/54fe2d1fc0674d2f05bfdc0cbd8e4602a6541a8bbe9e4bd5839ff8397a65/cmake-4.2.1-py3-none-win_amd64.whl", hash = "sha256:c186e7b826978f86bcbada91845e949e1f5ce5c670d6db49f7ecf5bac1b334e3", size = 38545649, upload-time = "2025-12-21T11:23:41.21Z" },
+ { url = "https://files.pythonhosted.org/packages/67/3a/3704a5110716d1abd76cb3cc968f355f697f7ee38fbb9406924135a9590b/cmake-4.2.1-py3-none-win_arm64.whl", hash = "sha256:82224245741cf389d7c9072002ae2a81b63accb42732803db9b449c9423d546d", size = 38000806, upload-time = "2025-12-21T11:23:44.779Z" },
+]
+
+[[package]]
+name = "cn2an"
+version = "0.5.23"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "proces" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/a3/0b/35c9379122a2b551b22aa47d67b2a268eba2e77bc7509f52ed3f0ce6363e/cn2an-0.5.23.tar.gz", hash = "sha256:eda06a63e5eff4a64488d9f22e5f2a4ceca6eaa63416e4f771e67edecb1a5bdb", size = 21444, upload-time = "2024-12-21T14:51:29.466Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/02/5c/03f0cb3d31c132e09f5523c76e963436fcd13c0318428021bd210f7bb216/cn2an-0.5.23-py3-none-any.whl", hash = "sha256:b19ab3c53676765c038ccdab51f69b7efa4f0b888139c34088935769241f1cbf", size = 224934, upload-time = "2024-12-21T14:51:26.629Z" },
+]
+
+[[package]]
+name = "colorama"
+version = "0.4.6"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/d8/53/6f443c9a4a8358a93a6792e2acffb9d9d5cb0a5cfd8802644b7b1c9a02e4/colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44", size = 27697, upload-time = "2022-10-25T02:36:22.414Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/d1/d6/3965ed04c63042e047cb6a3e6ed1a63a35087b6a609aa3a15ed8ac56c221/colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6", size = 25335, upload-time = "2022-10-25T02:36:20.889Z" },
+]
+
+[[package]]
+name = "coloredlogs"
+version = "15.0.1"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "humanfriendly", marker = "(python_full_version < '3.11' and platform_machine == 'AMD64') or (python_full_version < '3.11' and platform_machine == 'aarch64') or (python_full_version < '3.11' and platform_machine == 'arm64') or (python_full_version < '3.11' and platform_machine == 'x86_64') or (platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/cc/c7/eed8f27100517e8c0e6b923d5f0845d0cb99763da6fdee00478f91db7325/coloredlogs-15.0.1.tar.gz", hash = "sha256:7c991aa71a4577af2f82600d8f8f3a89f936baeaf9b50a9c197da014e5bf16b0", size = 278520, upload-time = "2021-06-11T10:22:45.202Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/a7/06/3d6badcf13db419e25b07041d9c7b4a2c331d3f4e7134445ec5df57714cd/coloredlogs-15.0.1-py2.py3-none-any.whl", hash = "sha256:612ee75c546f53e92e70049c9dbfcc18c935a2b9a53b66085ce9ef6a6e5c0934", size = 46018, upload-time = "2021-06-11T10:22:42.561Z" },
+]
+
+[[package]]
+name = "colorlog"
+version = "6.10.1"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "colorama", marker = "sys_platform == 'win32' or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/a2/61/f083b5ac52e505dfc1c624eafbf8c7589a0d7f32daa398d2e7590efa5fda/colorlog-6.10.1.tar.gz", hash = "sha256:eb4ae5cb65fe7fec7773c2306061a8e63e02efc2c72eba9d27b0fa23c94f1321", size = 17162, upload-time = "2025-10-16T16:14:11.978Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/6d/c1/e419ef3723a074172b68aaa89c9f3de486ed4c2399e2dbd8113a4fdcaf9e/colorlog-6.10.1-py3-none-any.whl", hash = "sha256:2d7e8348291948af66122cff006c9f8da6255d224e7cf8e37d8de2df3bad8c9c", size = 11743, upload-time = "2025-10-16T16:14:10.512Z" },
+]
+
+[[package]]
+name = "contourpy"
+version = "1.3.2"
+source = { registry = "https://pypi.org/simple" }
+resolution-markers = [
+ "(python_full_version < '3.11' and platform_machine == 'aarch64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version < '3.11' and platform_machine == 'arm64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version < '3.11' and platform_machine == 'AMD64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version < '3.11' and platform_machine == 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')",
+ "python_full_version < '3.11' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version < '3.11' and platform_machine == 'arm64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "(python_full_version < '3.11' and platform_machine == 'aarch64' and sys_platform == 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version < '3.11' and platform_machine == 'arm64' and sys_platform == 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "python_full_version < '3.11' and platform_machine == 'aarch64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "(python_full_version < '3.11' and platform_machine == 'aarch64' and sys_platform != 'darwin' and sys_platform != 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version < '3.11' and platform_machine == 'arm64' and sys_platform != 'darwin' and sys_platform != 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version < '3.11' and platform_machine == 'AMD64' and sys_platform == 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version < '3.11' and platform_machine == 'x86_64' and sys_platform == 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "python_full_version < '3.11' and platform_machine == 'x86_64' and sys_platform == 'linux' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "(python_full_version < '3.11' and platform_machine == 'AMD64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version < '3.11' and platform_machine == 'x86_64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version < '3.11' and platform_machine == 'x86_64' and sys_platform != 'darwin' and sys_platform != 'linux' and sys_platform != 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version < '3.11' and platform_machine == 'AMD64' and sys_platform != 'darwin' and sys_platform != 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version < '3.11' and platform_machine == 'AMD64' and sys_platform == 'linux' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "python_full_version < '3.11' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version < '3.11' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "(python_full_version < '3.11' and platform_machine == 'aarch64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version < '3.11' and platform_machine == 'arm64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version < '3.11' and platform_machine == 'aarch64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version < '3.11' and platform_machine == 'arm64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version < '3.11' and platform_machine == 'AMD64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version < '3.11' and platform_machine == 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "python_full_version < '3.11' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "(python_full_version < '3.11' and platform_machine == 'aarch64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version < '3.11' and platform_machine == 'arm64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version < '3.11' and platform_machine == 'aarch64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version < '3.11' and platform_machine == 'arm64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version < '3.11' and platform_machine == 'AMD64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version < '3.11' and platform_machine == 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "python_full_version < '3.11' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "(python_full_version < '3.11' and platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version < '3.11' and platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version < '3.11' and platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version < '3.11' and platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "python_full_version < '3.11' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version < '3.11' and platform_machine == 'aarch64' and sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "(python_full_version < '3.11' and platform_machine == 'aarch64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version < '3.11' and platform_machine == 'arm64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version < '3.11' and platform_machine == 'aarch64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version < '3.11' and platform_machine == 'arm64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version < '3.11' and platform_machine == 'AMD64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version < '3.11' and platform_machine == 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "python_full_version < '3.11' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+]
+dependencies = [
+ { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11' or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/66/54/eb9bfc647b19f2009dd5c7f5ec51c4e6ca831725f1aea7a993034f483147/contourpy-1.3.2.tar.gz", hash = "sha256:b6945942715a034c671b7fc54f9588126b0b8bf23db2696e3ca8328f3ff0ab54", size = 13466130, upload-time = "2025-04-15T17:47:53.79Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/12/a3/da4153ec8fe25d263aa48c1a4cbde7f49b59af86f0b6f7862788c60da737/contourpy-1.3.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:ba38e3f9f330af820c4b27ceb4b9c7feee5fe0493ea53a8720f4792667465934", size = 268551, upload-time = "2025-04-15T17:34:46.581Z" },
+ { url = "https://files.pythonhosted.org/packages/2f/6c/330de89ae1087eb622bfca0177d32a7ece50c3ef07b28002de4757d9d875/contourpy-1.3.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:dc41ba0714aa2968d1f8674ec97504a8f7e334f48eeacebcaa6256213acb0989", size = 253399, upload-time = "2025-04-15T17:34:51.427Z" },
+ { url = "https://files.pythonhosted.org/packages/c1/bd/20c6726b1b7f81a8bee5271bed5c165f0a8e1f572578a9d27e2ccb763cb2/contourpy-1.3.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9be002b31c558d1ddf1b9b415b162c603405414bacd6932d031c5b5a8b757f0d", size = 312061, upload-time = "2025-04-15T17:34:55.961Z" },
+ { url = "https://files.pythonhosted.org/packages/22/fc/a9665c88f8a2473f823cf1ec601de9e5375050f1958cbb356cdf06ef1ab6/contourpy-1.3.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8d2e74acbcba3bfdb6d9d8384cdc4f9260cae86ed9beee8bd5f54fee49a430b9", size = 351956, upload-time = "2025-04-15T17:35:00.992Z" },
+ { url = "https://files.pythonhosted.org/packages/25/eb/9f0a0238f305ad8fb7ef42481020d6e20cf15e46be99a1fcf939546a177e/contourpy-1.3.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e259bced5549ac64410162adc973c5e2fb77f04df4a439d00b478e57a0e65512", size = 320872, upload-time = "2025-04-15T17:35:06.177Z" },
+ { url = "https://files.pythonhosted.org/packages/32/5c/1ee32d1c7956923202f00cf8d2a14a62ed7517bdc0ee1e55301227fc273c/contourpy-1.3.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ad687a04bc802cbe8b9c399c07162a3c35e227e2daccf1668eb1f278cb698631", size = 325027, upload-time = "2025-04-15T17:35:11.244Z" },
+ { url = "https://files.pythonhosted.org/packages/83/bf/9baed89785ba743ef329c2b07fd0611d12bfecbedbdd3eeecf929d8d3b52/contourpy-1.3.2-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:cdd22595308f53ef2f891040ab2b93d79192513ffccbd7fe19be7aa773a5e09f", size = 1306641, upload-time = "2025-04-15T17:35:26.701Z" },
+ { url = "https://files.pythonhosted.org/packages/d4/cc/74e5e83d1e35de2d28bd97033426b450bc4fd96e092a1f7a63dc7369b55d/contourpy-1.3.2-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:b4f54d6a2defe9f257327b0f243612dd051cc43825587520b1bf74a31e2f6ef2", size = 1374075, upload-time = "2025-04-15T17:35:43.204Z" },
+ { url = "https://files.pythonhosted.org/packages/0c/42/17f3b798fd5e033b46a16f8d9fcb39f1aba051307f5ebf441bad1ecf78f8/contourpy-1.3.2-cp310-cp310-win32.whl", hash = "sha256:f939a054192ddc596e031e50bb13b657ce318cf13d264f095ce9db7dc6ae81c0", size = 177534, upload-time = "2025-04-15T17:35:46.554Z" },
+ { url = "https://files.pythonhosted.org/packages/54/ec/5162b8582f2c994721018d0c9ece9dc6ff769d298a8ac6b6a652c307e7df/contourpy-1.3.2-cp310-cp310-win_amd64.whl", hash = "sha256:c440093bbc8fc21c637c03bafcbef95ccd963bc6e0514ad887932c18ca2a759a", size = 221188, upload-time = "2025-04-15T17:35:50.064Z" },
+ { url = "https://files.pythonhosted.org/packages/b3/b9/ede788a0b56fc5b071639d06c33cb893f68b1178938f3425debebe2dab78/contourpy-1.3.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:6a37a2fb93d4df3fc4c0e363ea4d16f83195fc09c891bc8ce072b9d084853445", size = 269636, upload-time = "2025-04-15T17:35:54.473Z" },
+ { url = "https://files.pythonhosted.org/packages/e6/75/3469f011d64b8bbfa04f709bfc23e1dd71be54d05b1b083be9f5b22750d1/contourpy-1.3.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:b7cd50c38f500bbcc9b6a46643a40e0913673f869315d8e70de0438817cb7773", size = 254636, upload-time = "2025-04-15T17:35:58.283Z" },
+ { url = "https://files.pythonhosted.org/packages/8d/2f/95adb8dae08ce0ebca4fd8e7ad653159565d9739128b2d5977806656fcd2/contourpy-1.3.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d6658ccc7251a4433eebd89ed2672c2ed96fba367fd25ca9512aa92a4b46c4f1", size = 313053, upload-time = "2025-04-15T17:36:03.235Z" },
+ { url = "https://files.pythonhosted.org/packages/c3/a6/8ccf97a50f31adfa36917707fe39c9a0cbc24b3bbb58185577f119736cc9/contourpy-1.3.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:70771a461aaeb335df14deb6c97439973d253ae70660ca085eec25241137ef43", size = 352985, upload-time = "2025-04-15T17:36:08.275Z" },
+ { url = "https://files.pythonhosted.org/packages/1d/b6/7925ab9b77386143f39d9c3243fdd101621b4532eb126743201160ffa7e6/contourpy-1.3.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:65a887a6e8c4cd0897507d814b14c54a8c2e2aa4ac9f7686292f9769fcf9a6ab", size = 323750, upload-time = "2025-04-15T17:36:13.29Z" },
+ { url = "https://files.pythonhosted.org/packages/c2/f3/20c5d1ef4f4748e52d60771b8560cf00b69d5c6368b5c2e9311bcfa2a08b/contourpy-1.3.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3859783aefa2b8355697f16642695a5b9792e7a46ab86da1118a4a23a51a33d7", size = 326246, upload-time = "2025-04-15T17:36:18.329Z" },
+ { url = "https://files.pythonhosted.org/packages/8c/e5/9dae809e7e0b2d9d70c52b3d24cba134dd3dad979eb3e5e71f5df22ed1f5/contourpy-1.3.2-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:eab0f6db315fa4d70f1d8ab514e527f0366ec021ff853d7ed6a2d33605cf4b83", size = 1308728, upload-time = "2025-04-15T17:36:33.878Z" },
+ { url = "https://files.pythonhosted.org/packages/e2/4a/0058ba34aeea35c0b442ae61a4f4d4ca84d6df8f91309bc2d43bb8dd248f/contourpy-1.3.2-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:d91a3ccc7fea94ca0acab82ceb77f396d50a1f67412efe4c526f5d20264e6ecd", size = 1375762, upload-time = "2025-04-15T17:36:51.295Z" },
+ { url = "https://files.pythonhosted.org/packages/09/33/7174bdfc8b7767ef2c08ed81244762d93d5c579336fc0b51ca57b33d1b80/contourpy-1.3.2-cp311-cp311-win32.whl", hash = "sha256:1c48188778d4d2f3d48e4643fb15d8608b1d01e4b4d6b0548d9b336c28fc9b6f", size = 178196, upload-time = "2025-04-15T17:36:55.002Z" },
+ { url = "https://files.pythonhosted.org/packages/5e/fe/4029038b4e1c4485cef18e480b0e2cd2d755448bb071eb9977caac80b77b/contourpy-1.3.2-cp311-cp311-win_amd64.whl", hash = "sha256:5ebac872ba09cb8f2131c46b8739a7ff71de28a24c869bcad554477eb089a878", size = 222017, upload-time = "2025-04-15T17:36:58.576Z" },
+ { url = "https://files.pythonhosted.org/packages/34/f7/44785876384eff370c251d58fd65f6ad7f39adce4a093c934d4a67a7c6b6/contourpy-1.3.2-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:4caf2bcd2969402bf77edc4cb6034c7dd7c0803213b3523f111eb7460a51b8d2", size = 271580, upload-time = "2025-04-15T17:37:03.105Z" },
+ { url = "https://files.pythonhosted.org/packages/93/3b/0004767622a9826ea3d95f0e9d98cd8729015768075d61f9fea8eeca42a8/contourpy-1.3.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:82199cb78276249796419fe36b7386bd8d2cc3f28b3bc19fe2454fe2e26c4c15", size = 255530, upload-time = "2025-04-15T17:37:07.026Z" },
+ { url = "https://files.pythonhosted.org/packages/e7/bb/7bd49e1f4fa805772d9fd130e0d375554ebc771ed7172f48dfcd4ca61549/contourpy-1.3.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:106fab697af11456fcba3e352ad50effe493a90f893fca6c2ca5c033820cea92", size = 307688, upload-time = "2025-04-15T17:37:11.481Z" },
+ { url = "https://files.pythonhosted.org/packages/fc/97/e1d5dbbfa170725ef78357a9a0edc996b09ae4af170927ba8ce977e60a5f/contourpy-1.3.2-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d14f12932a8d620e307f715857107b1d1845cc44fdb5da2bc8e850f5ceba9f87", size = 347331, upload-time = "2025-04-15T17:37:18.212Z" },
+ { url = "https://files.pythonhosted.org/packages/6f/66/e69e6e904f5ecf6901be3dd16e7e54d41b6ec6ae3405a535286d4418ffb4/contourpy-1.3.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:532fd26e715560721bb0d5fc7610fce279b3699b018600ab999d1be895b09415", size = 318963, upload-time = "2025-04-15T17:37:22.76Z" },
+ { url = "https://files.pythonhosted.org/packages/a8/32/b8a1c8965e4f72482ff2d1ac2cd670ce0b542f203c8e1d34e7c3e6925da7/contourpy-1.3.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f26b383144cf2d2c29f01a1e8170f50dacf0eac02d64139dcd709a8ac4eb3cfe", size = 323681, upload-time = "2025-04-15T17:37:33.001Z" },
+ { url = "https://files.pythonhosted.org/packages/30/c6/12a7e6811d08757c7162a541ca4c5c6a34c0f4e98ef2b338791093518e40/contourpy-1.3.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:c49f73e61f1f774650a55d221803b101d966ca0c5a2d6d5e4320ec3997489441", size = 1308674, upload-time = "2025-04-15T17:37:48.64Z" },
+ { url = "https://files.pythonhosted.org/packages/2a/8a/bebe5a3f68b484d3a2b8ffaf84704b3e343ef1addea528132ef148e22b3b/contourpy-1.3.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:3d80b2c0300583228ac98d0a927a1ba6a2ba6b8a742463c564f1d419ee5b211e", size = 1380480, upload-time = "2025-04-15T17:38:06.7Z" },
+ { url = "https://files.pythonhosted.org/packages/34/db/fcd325f19b5978fb509a7d55e06d99f5f856294c1991097534360b307cf1/contourpy-1.3.2-cp312-cp312-win32.whl", hash = "sha256:90df94c89a91b7362e1142cbee7568f86514412ab8a2c0d0fca72d7e91b62912", size = 178489, upload-time = "2025-04-15T17:38:10.338Z" },
+ { url = "https://files.pythonhosted.org/packages/01/c8/fadd0b92ffa7b5eb5949bf340a63a4a496a6930a6c37a7ba0f12acb076d6/contourpy-1.3.2-cp312-cp312-win_amd64.whl", hash = "sha256:8c942a01d9163e2e5cfb05cb66110121b8d07ad438a17f9e766317bcb62abf73", size = 223042, upload-time = "2025-04-15T17:38:14.239Z" },
+ { url = "https://files.pythonhosted.org/packages/2e/61/5673f7e364b31e4e7ef6f61a4b5121c5f170f941895912f773d95270f3a2/contourpy-1.3.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:de39db2604ae755316cb5967728f4bea92685884b1e767b7c24e983ef5f771cb", size = 271630, upload-time = "2025-04-15T17:38:19.142Z" },
+ { url = "https://files.pythonhosted.org/packages/ff/66/a40badddd1223822c95798c55292844b7e871e50f6bfd9f158cb25e0bd39/contourpy-1.3.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:3f9e896f447c5c8618f1edb2bafa9a4030f22a575ec418ad70611450720b5b08", size = 255670, upload-time = "2025-04-15T17:38:23.688Z" },
+ { url = "https://files.pythonhosted.org/packages/1e/c7/cf9fdee8200805c9bc3b148f49cb9482a4e3ea2719e772602a425c9b09f8/contourpy-1.3.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:71e2bd4a1c4188f5c2b8d274da78faab884b59df20df63c34f74aa1813c4427c", size = 306694, upload-time = "2025-04-15T17:38:28.238Z" },
+ { url = "https://files.pythonhosted.org/packages/dd/e7/ccb9bec80e1ba121efbffad7f38021021cda5be87532ec16fd96533bb2e0/contourpy-1.3.2-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:de425af81b6cea33101ae95ece1f696af39446db9682a0b56daaa48cfc29f38f", size = 345986, upload-time = "2025-04-15T17:38:33.502Z" },
+ { url = "https://files.pythonhosted.org/packages/dc/49/ca13bb2da90391fa4219fdb23b078d6065ada886658ac7818e5441448b78/contourpy-1.3.2-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:977e98a0e0480d3fe292246417239d2d45435904afd6d7332d8455981c408b85", size = 318060, upload-time = "2025-04-15T17:38:38.672Z" },
+ { url = "https://files.pythonhosted.org/packages/c8/65/5245ce8c548a8422236c13ffcdcdada6a2a812c361e9e0c70548bb40b661/contourpy-1.3.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:434f0adf84911c924519d2b08fc10491dd282b20bdd3fa8f60fd816ea0b48841", size = 322747, upload-time = "2025-04-15T17:38:43.712Z" },
+ { url = "https://files.pythonhosted.org/packages/72/30/669b8eb48e0a01c660ead3752a25b44fdb2e5ebc13a55782f639170772f9/contourpy-1.3.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:c66c4906cdbc50e9cba65978823e6e00b45682eb09adbb78c9775b74eb222422", size = 1308895, upload-time = "2025-04-15T17:39:00.224Z" },
+ { url = "https://files.pythonhosted.org/packages/05/5a/b569f4250decee6e8d54498be7bdf29021a4c256e77fe8138c8319ef8eb3/contourpy-1.3.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:8b7fc0cd78ba2f4695fd0a6ad81a19e7e3ab825c31b577f384aa9d7817dc3bef", size = 1379098, upload-time = "2025-04-15T17:43:29.649Z" },
+ { url = "https://files.pythonhosted.org/packages/19/ba/b227c3886d120e60e41b28740ac3617b2f2b971b9f601c835661194579f1/contourpy-1.3.2-cp313-cp313-win32.whl", hash = "sha256:15ce6ab60957ca74cff444fe66d9045c1fd3e92c8936894ebd1f3eef2fff075f", size = 178535, upload-time = "2025-04-15T17:44:44.532Z" },
+ { url = "https://files.pythonhosted.org/packages/12/6e/2fed56cd47ca739b43e892707ae9a13790a486a3173be063681ca67d2262/contourpy-1.3.2-cp313-cp313-win_amd64.whl", hash = "sha256:e1578f7eafce927b168752ed7e22646dad6cd9bca673c60bff55889fa236ebf9", size = 223096, upload-time = "2025-04-15T17:44:48.194Z" },
+ { url = "https://files.pythonhosted.org/packages/54/4c/e76fe2a03014a7c767d79ea35c86a747e9325537a8b7627e0e5b3ba266b4/contourpy-1.3.2-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:0475b1f6604896bc7c53bb070e355e9321e1bc0d381735421a2d2068ec56531f", size = 285090, upload-time = "2025-04-15T17:43:34.084Z" },
+ { url = "https://files.pythonhosted.org/packages/7b/e2/5aba47debd55d668e00baf9651b721e7733975dc9fc27264a62b0dd26eb8/contourpy-1.3.2-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:c85bb486e9be652314bb5b9e2e3b0d1b2e643d5eec4992c0fbe8ac71775da739", size = 268643, upload-time = "2025-04-15T17:43:38.626Z" },
+ { url = "https://files.pythonhosted.org/packages/a1/37/cd45f1f051fe6230f751cc5cdd2728bb3a203f5619510ef11e732109593c/contourpy-1.3.2-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:745b57db7758f3ffc05a10254edd3182a2a83402a89c00957a8e8a22f5582823", size = 310443, upload-time = "2025-04-15T17:43:44.522Z" },
+ { url = "https://files.pythonhosted.org/packages/8b/a2/36ea6140c306c9ff6dd38e3bcec80b3b018474ef4d17eb68ceecd26675f4/contourpy-1.3.2-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:970e9173dbd7eba9b4e01aab19215a48ee5dd3f43cef736eebde064a171f89a5", size = 349865, upload-time = "2025-04-15T17:43:49.545Z" },
+ { url = "https://files.pythonhosted.org/packages/95/b7/2fc76bc539693180488f7b6cc518da7acbbb9e3b931fd9280504128bf956/contourpy-1.3.2-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c6c4639a9c22230276b7bffb6a850dfc8258a2521305e1faefe804d006b2e532", size = 321162, upload-time = "2025-04-15T17:43:54.203Z" },
+ { url = "https://files.pythonhosted.org/packages/f4/10/76d4f778458b0aa83f96e59d65ece72a060bacb20cfbee46cf6cd5ceba41/contourpy-1.3.2-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cc829960f34ba36aad4302e78eabf3ef16a3a100863f0d4eeddf30e8a485a03b", size = 327355, upload-time = "2025-04-15T17:44:01.025Z" },
+ { url = "https://files.pythonhosted.org/packages/43/a3/10cf483ea683f9f8ab096c24bad3cce20e0d1dd9a4baa0e2093c1c962d9d/contourpy-1.3.2-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:d32530b534e986374fc19eaa77fcb87e8a99e5431499949b828312bdcd20ac52", size = 1307935, upload-time = "2025-04-15T17:44:17.322Z" },
+ { url = "https://files.pythonhosted.org/packages/78/73/69dd9a024444489e22d86108e7b913f3528f56cfc312b5c5727a44188471/contourpy-1.3.2-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:e298e7e70cf4eb179cc1077be1c725b5fd131ebc81181bf0c03525c8abc297fd", size = 1372168, upload-time = "2025-04-15T17:44:33.43Z" },
+ { url = "https://files.pythonhosted.org/packages/0f/1b/96d586ccf1b1a9d2004dd519b25fbf104a11589abfd05484ff12199cca21/contourpy-1.3.2-cp313-cp313t-win32.whl", hash = "sha256:d0e589ae0d55204991450bb5c23f571c64fe43adaa53f93fc902a84c96f52fe1", size = 189550, upload-time = "2025-04-15T17:44:37.092Z" },
+ { url = "https://files.pythonhosted.org/packages/b0/e6/6000d0094e8a5e32ad62591c8609e269febb6e4db83a1c75ff8868b42731/contourpy-1.3.2-cp313-cp313t-win_amd64.whl", hash = "sha256:78e9253c3de756b3f6a5174d024c4835acd59eb3f8e2ca13e775dbffe1558f69", size = 238214, upload-time = "2025-04-15T17:44:40.827Z" },
+ { url = "https://files.pythonhosted.org/packages/33/05/b26e3c6ecc05f349ee0013f0bb850a761016d89cec528a98193a48c34033/contourpy-1.3.2-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:fd93cc7f3139b6dd7aab2f26a90dde0aa9fc264dbf70f6740d498a70b860b82c", size = 265681, upload-time = "2025-04-15T17:44:59.314Z" },
+ { url = "https://files.pythonhosted.org/packages/2b/25/ac07d6ad12affa7d1ffed11b77417d0a6308170f44ff20fa1d5aa6333f03/contourpy-1.3.2-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:107ba8a6a7eec58bb475329e6d3b95deba9440667c4d62b9b6063942b61d7f16", size = 315101, upload-time = "2025-04-15T17:45:04.165Z" },
+ { url = "https://files.pythonhosted.org/packages/8f/4d/5bb3192bbe9d3f27e3061a6a8e7733c9120e203cb8515767d30973f71030/contourpy-1.3.2-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:ded1706ed0c1049224531b81128efbd5084598f18d8a2d9efae833edbd2b40ad", size = 220599, upload-time = "2025-04-15T17:45:08.456Z" },
+ { url = "https://files.pythonhosted.org/packages/ff/c0/91f1215d0d9f9f343e4773ba6c9b89e8c0cc7a64a6263f21139da639d848/contourpy-1.3.2-pp311-pypy311_pp73-macosx_10_15_x86_64.whl", hash = "sha256:5f5964cdad279256c084b69c3f412b7801e15356b16efa9d78aa974041903da0", size = 266807, upload-time = "2025-04-15T17:45:15.535Z" },
+ { url = "https://files.pythonhosted.org/packages/d4/79/6be7e90c955c0487e7712660d6cead01fa17bff98e0ea275737cc2bc8e71/contourpy-1.3.2-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:49b65a95d642d4efa8f64ba12558fcb83407e58a2dfba9d796d77b63ccfcaff5", size = 318729, upload-time = "2025-04-15T17:45:20.166Z" },
+ { url = "https://files.pythonhosted.org/packages/87/68/7f46fb537958e87427d98a4074bcde4b67a70b04900cfc5ce29bc2f556c1/contourpy-1.3.2-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:8c5acb8dddb0752bf252e01a3035b21443158910ac16a3b0d20e7fed7d534ce5", size = 221791, upload-time = "2025-04-15T17:45:24.794Z" },
+]
+
+[[package]]
+name = "contourpy"
+version = "1.3.3"
+source = { registry = "https://pypi.org/simple" }
+resolution-markers = [
+ "(python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version >= '3.13' and platform_machine == 'arm64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version >= '3.13' and platform_machine == 'arm64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.12.*' and platform_machine == 'aarch64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.12.*' and platform_machine == 'arm64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.11.*' and platform_machine == 'aarch64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.11.*' and platform_machine == 'arm64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version >= '3.13' and platform_machine == 'AMD64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version >= '3.13' and platform_machine == 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.12.*' and platform_machine == 'AMD64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.12.*' and platform_machine == 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.11.*' and platform_machine == 'AMD64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.11.*' and platform_machine == 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')",
+ "python_full_version >= '3.13' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version == '3.12.*' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version == '3.11.*' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version >= '3.13' and platform_machine == 'arm64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version == '3.12.*' and platform_machine == 'arm64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version == '3.11.*' and platform_machine == 'arm64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "(python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform == 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version >= '3.13' and platform_machine == 'arm64' and sys_platform == 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.12.*' and platform_machine == 'aarch64' and sys_platform == 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.12.*' and platform_machine == 'arm64' and sys_platform == 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform == 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.11.*' and platform_machine == 'arm64' and sys_platform == 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version == '3.12.*' and platform_machine == 'aarch64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "(python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform != 'darwin' and sys_platform != 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version >= '3.13' and platform_machine == 'arm64' and sys_platform != 'darwin' and sys_platform != 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.12.*' and platform_machine == 'aarch64' and sys_platform != 'darwin' and sys_platform != 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.12.*' and platform_machine == 'arm64' and sys_platform != 'darwin' and sys_platform != 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform != 'darwin' and sys_platform != 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.11.*' and platform_machine == 'arm64' and sys_platform != 'darwin' and sys_platform != 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version >= '3.13' and platform_machine == 'AMD64' and sys_platform == 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version >= '3.13' and platform_machine == 'x86_64' and sys_platform == 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.12.*' and platform_machine == 'AMD64' and sys_platform == 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.12.*' and platform_machine == 'x86_64' and sys_platform == 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.11.*' and platform_machine == 'AMD64' and sys_platform == 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.11.*' and platform_machine == 'x86_64' and sys_platform == 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "python_full_version >= '3.13' and platform_machine == 'x86_64' and sys_platform == 'linux' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version == '3.12.*' and platform_machine == 'x86_64' and sys_platform == 'linux' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version == '3.11.*' and platform_machine == 'x86_64' and sys_platform == 'linux' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "(python_full_version >= '3.13' and platform_machine == 'AMD64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version >= '3.13' and platform_machine == 'x86_64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.12.*' and platform_machine == 'AMD64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.12.*' and platform_machine == 'x86_64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.11.*' and platform_machine == 'AMD64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.11.*' and platform_machine == 'x86_64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version >= '3.13' and platform_machine == 'x86_64' and sys_platform != 'darwin' and sys_platform != 'linux' and sys_platform != 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version >= '3.13' and platform_machine == 'AMD64' and sys_platform != 'darwin' and sys_platform != 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version >= '3.13' and platform_machine == 'AMD64' and sys_platform == 'linux' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.12.*' and platform_machine == 'x86_64' and sys_platform != 'darwin' and sys_platform != 'linux' and sys_platform != 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.12.*' and platform_machine == 'AMD64' and sys_platform != 'darwin' and sys_platform != 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.12.*' and platform_machine == 'AMD64' and sys_platform == 'linux' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.11.*' and platform_machine == 'x86_64' and sys_platform != 'darwin' and sys_platform != 'linux' and sys_platform != 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.11.*' and platform_machine == 'AMD64' and sys_platform != 'darwin' and sys_platform != 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.11.*' and platform_machine == 'AMD64' and sys_platform == 'linux' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "python_full_version >= '3.13' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version == '3.12.*' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version == '3.11.*' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version >= '3.13' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version == '3.12.*' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version == '3.11.*' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "(python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version >= '3.13' and platform_machine == 'arm64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.12.*' and platform_machine == 'aarch64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.12.*' and platform_machine == 'arm64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version >= '3.13' and platform_machine == 'arm64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.12.*' and platform_machine == 'aarch64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.12.*' and platform_machine == 'arm64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.11.*' and platform_machine == 'arm64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.11.*' and platform_machine == 'arm64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version >= '3.13' and platform_machine == 'AMD64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version >= '3.13' and platform_machine == 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.12.*' and platform_machine == 'AMD64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.12.*' and platform_machine == 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.11.*' and platform_machine == 'AMD64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.11.*' and platform_machine == 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "python_full_version >= '3.13' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version == '3.12.*' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version == '3.11.*' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "(python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version >= '3.13' and platform_machine == 'arm64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.12.*' and platform_machine == 'aarch64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.12.*' and platform_machine == 'arm64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version >= '3.13' and platform_machine == 'arm64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.12.*' and platform_machine == 'aarch64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.12.*' and platform_machine == 'arm64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.11.*' and platform_machine == 'arm64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.11.*' and platform_machine == 'arm64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version >= '3.13' and platform_machine == 'AMD64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version >= '3.13' and platform_machine == 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.12.*' and platform_machine == 'AMD64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.12.*' and platform_machine == 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.11.*' and platform_machine == 'AMD64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.11.*' and platform_machine == 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "python_full_version >= '3.13' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version == '3.12.*' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version == '3.11.*' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "(python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version >= '3.13' and platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.12.*' and platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.12.*' and platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.11.*' and platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version >= '3.13' and platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version >= '3.13' and platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.12.*' and platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.12.*' and platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.11.*' and platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.11.*' and platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "python_full_version >= '3.13' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version == '3.12.*' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version == '3.11.*' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version == '3.12.*' and platform_machine == 'aarch64' and sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "(python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version >= '3.13' and platform_machine == 'arm64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version >= '3.13' and platform_machine == 'arm64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.12.*' and platform_machine == 'aarch64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.12.*' and platform_machine == 'arm64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.11.*' and platform_machine == 'arm64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.12.*' and platform_machine == 'aarch64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.12.*' and platform_machine == 'arm64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.11.*' and platform_machine == 'arm64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version >= '3.13' and platform_machine == 'AMD64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version >= '3.13' and platform_machine == 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.12.*' and platform_machine == 'AMD64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.12.*' and platform_machine == 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.11.*' and platform_machine == 'AMD64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.11.*' and platform_machine == 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "python_full_version >= '3.13' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version == '3.12.*' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version == '3.11.*' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+]
+dependencies = [
+ { name = "numpy", version = "2.3.5", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11' or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/58/01/1253e6698a07380cd31a736d248a3f2a50a7c88779a1813da27503cadc2a/contourpy-1.3.3.tar.gz", hash = "sha256:083e12155b210502d0bca491432bb04d56dc3432f95a979b429f2848c3dbe880", size = 13466174, upload-time = "2025-07-26T12:03:12.549Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/91/2e/c4390a31919d8a78b90e8ecf87cd4b4c4f05a5b48d05ec17db8e5404c6f4/contourpy-1.3.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:709a48ef9a690e1343202916450bc48b9e51c049b089c7f79a267b46cffcdaa1", size = 288773, upload-time = "2025-07-26T12:01:02.277Z" },
+ { url = "https://files.pythonhosted.org/packages/0d/44/c4b0b6095fef4dc9c420e041799591e3b63e9619e3044f7f4f6c21c0ab24/contourpy-1.3.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:23416f38bfd74d5d28ab8429cc4d63fa67d5068bd711a85edb1c3fb0c3e2f381", size = 270149, upload-time = "2025-07-26T12:01:04.072Z" },
+ { url = "https://files.pythonhosted.org/packages/30/2e/dd4ced42fefac8470661d7cb7e264808425e6c5d56d175291e93890cce09/contourpy-1.3.3-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:929ddf8c4c7f348e4c0a5a3a714b5c8542ffaa8c22954862a46ca1813b667ee7", size = 329222, upload-time = "2025-07-26T12:01:05.688Z" },
+ { url = "https://files.pythonhosted.org/packages/f2/74/cc6ec2548e3d276c71389ea4802a774b7aa3558223b7bade3f25787fafc2/contourpy-1.3.3-cp311-cp311-manylinux_2_26_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:9e999574eddae35f1312c2b4b717b7885d4edd6cb46700e04f7f02db454e67c1", size = 377234, upload-time = "2025-07-26T12:01:07.054Z" },
+ { url = "https://files.pythonhosted.org/packages/03/b3/64ef723029f917410f75c09da54254c5f9ea90ef89b143ccadb09df14c15/contourpy-1.3.3-cp311-cp311-manylinux_2_26_s390x.manylinux_2_28_s390x.whl", hash = "sha256:0bf67e0e3f482cb69779dd3061b534eb35ac9b17f163d851e2a547d56dba0a3a", size = 380555, upload-time = "2025-07-26T12:01:08.801Z" },
+ { url = "https://files.pythonhosted.org/packages/5f/4b/6157f24ca425b89fe2eb7e7be642375711ab671135be21e6faa100f7448c/contourpy-1.3.3-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:51e79c1f7470158e838808d4a996fa9bac72c498e93d8ebe5119bc1e6becb0db", size = 355238, upload-time = "2025-07-26T12:01:10.319Z" },
+ { url = "https://files.pythonhosted.org/packages/98/56/f914f0dd678480708a04cfd2206e7c382533249bc5001eb9f58aa693e200/contourpy-1.3.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:598c3aaece21c503615fd59c92a3598b428b2f01bfb4b8ca9c4edeecc2438620", size = 1326218, upload-time = "2025-07-26T12:01:12.659Z" },
+ { url = "https://files.pythonhosted.org/packages/fb/d7/4a972334a0c971acd5172389671113ae82aa7527073980c38d5868ff1161/contourpy-1.3.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:322ab1c99b008dad206d406bb61d014cf0174df491ae9d9d0fac6a6fda4f977f", size = 1392867, upload-time = "2025-07-26T12:01:15.533Z" },
+ { url = "https://files.pythonhosted.org/packages/75/3e/f2cc6cd56dc8cff46b1a56232eabc6feea52720083ea71ab15523daab796/contourpy-1.3.3-cp311-cp311-win32.whl", hash = "sha256:fd907ae12cd483cd83e414b12941c632a969171bf90fc937d0c9f268a31cafff", size = 183677, upload-time = "2025-07-26T12:01:17.088Z" },
+ { url = "https://files.pythonhosted.org/packages/98/4b/9bd370b004b5c9d8045c6c33cf65bae018b27aca550a3f657cdc99acdbd8/contourpy-1.3.3-cp311-cp311-win_amd64.whl", hash = "sha256:3519428f6be58431c56581f1694ba8e50626f2dd550af225f82fb5f5814d2a42", size = 225234, upload-time = "2025-07-26T12:01:18.256Z" },
+ { url = "https://files.pythonhosted.org/packages/d9/b6/71771e02c2e004450c12b1120a5f488cad2e4d5b590b1af8bad060360fe4/contourpy-1.3.3-cp311-cp311-win_arm64.whl", hash = "sha256:15ff10bfada4bf92ec8b31c62bf7c1834c244019b4a33095a68000d7075df470", size = 193123, upload-time = "2025-07-26T12:01:19.848Z" },
+ { url = "https://files.pythonhosted.org/packages/be/45/adfee365d9ea3d853550b2e735f9d66366701c65db7855cd07621732ccfc/contourpy-1.3.3-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:b08a32ea2f8e42cf1d4be3169a98dd4be32bafe4f22b6c4cb4ba810fa9e5d2cb", size = 293419, upload-time = "2025-07-26T12:01:21.16Z" },
+ { url = "https://files.pythonhosted.org/packages/53/3e/405b59cfa13021a56bba395a6b3aca8cec012b45bf177b0eaf7a202cde2c/contourpy-1.3.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:556dba8fb6f5d8742f2923fe9457dbdd51e1049c4a43fd3986a0b14a1d815fc6", size = 273979, upload-time = "2025-07-26T12:01:22.448Z" },
+ { url = "https://files.pythonhosted.org/packages/d4/1c/a12359b9b2ca3a845e8f7f9ac08bdf776114eb931392fcad91743e2ea17b/contourpy-1.3.3-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:92d9abc807cf7d0e047b95ca5d957cf4792fcd04e920ca70d48add15c1a90ea7", size = 332653, upload-time = "2025-07-26T12:01:24.155Z" },
+ { url = "https://files.pythonhosted.org/packages/63/12/897aeebfb475b7748ea67b61e045accdfcf0d971f8a588b67108ed7f5512/contourpy-1.3.3-cp312-cp312-manylinux_2_26_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:b2e8faa0ed68cb29af51edd8e24798bb661eac3bd9f65420c1887b6ca89987c8", size = 379536, upload-time = "2025-07-26T12:01:25.91Z" },
+ { url = "https://files.pythonhosted.org/packages/43/8a/a8c584b82deb248930ce069e71576fc09bd7174bbd35183b7943fb1064fd/contourpy-1.3.3-cp312-cp312-manylinux_2_26_s390x.manylinux_2_28_s390x.whl", hash = "sha256:626d60935cf668e70a5ce6ff184fd713e9683fb458898e4249b63be9e28286ea", size = 384397, upload-time = "2025-07-26T12:01:27.152Z" },
+ { url = "https://files.pythonhosted.org/packages/cc/8f/ec6289987824b29529d0dfda0d74a07cec60e54b9c92f3c9da4c0ac732de/contourpy-1.3.3-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:4d00e655fcef08aba35ec9610536bfe90267d7ab5ba944f7032549c55a146da1", size = 362601, upload-time = "2025-07-26T12:01:28.808Z" },
+ { url = "https://files.pythonhosted.org/packages/05/0a/a3fe3be3ee2dceb3e615ebb4df97ae6f3828aa915d3e10549ce016302bd1/contourpy-1.3.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:451e71b5a7d597379ef572de31eeb909a87246974d960049a9848c3bc6c41bf7", size = 1331288, upload-time = "2025-07-26T12:01:31.198Z" },
+ { url = "https://files.pythonhosted.org/packages/33/1d/acad9bd4e97f13f3e2b18a3977fe1b4a37ecf3d38d815333980c6c72e963/contourpy-1.3.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:459c1f020cd59fcfe6650180678a9993932d80d44ccde1fa1868977438f0b411", size = 1403386, upload-time = "2025-07-26T12:01:33.947Z" },
+ { url = "https://files.pythonhosted.org/packages/cf/8f/5847f44a7fddf859704217a99a23a4f6417b10e5ab1256a179264561540e/contourpy-1.3.3-cp312-cp312-win32.whl", hash = "sha256:023b44101dfe49d7d53932be418477dba359649246075c996866106da069af69", size = 185018, upload-time = "2025-07-26T12:01:35.64Z" },
+ { url = "https://files.pythonhosted.org/packages/19/e8/6026ed58a64563186a9ee3f29f41261fd1828f527dd93d33b60feca63352/contourpy-1.3.3-cp312-cp312-win_amd64.whl", hash = "sha256:8153b8bfc11e1e4d75bcb0bff1db232f9e10b274e0929de9d608027e0d34ff8b", size = 226567, upload-time = "2025-07-26T12:01:36.804Z" },
+ { url = "https://files.pythonhosted.org/packages/d1/e2/f05240d2c39a1ed228d8328a78b6f44cd695f7ef47beb3e684cf93604f86/contourpy-1.3.3-cp312-cp312-win_arm64.whl", hash = "sha256:07ce5ed73ecdc4a03ffe3e1b3e3c1166db35ae7584be76f65dbbe28a7791b0cc", size = 193655, upload-time = "2025-07-26T12:01:37.999Z" },
+ { url = "https://files.pythonhosted.org/packages/68/35/0167aad910bbdb9599272bd96d01a9ec6852f36b9455cf2ca67bd4cc2d23/contourpy-1.3.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:177fb367556747a686509d6fef71d221a4b198a3905fe824430e5ea0fda54eb5", size = 293257, upload-time = "2025-07-26T12:01:39.367Z" },
+ { url = "https://files.pythonhosted.org/packages/96/e4/7adcd9c8362745b2210728f209bfbcf7d91ba868a2c5f40d8b58f54c509b/contourpy-1.3.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:d002b6f00d73d69333dac9d0b8d5e84d9724ff9ef044fd63c5986e62b7c9e1b1", size = 274034, upload-time = "2025-07-26T12:01:40.645Z" },
+ { url = "https://files.pythonhosted.org/packages/73/23/90e31ceeed1de63058a02cb04b12f2de4b40e3bef5e082a7c18d9c8ae281/contourpy-1.3.3-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:348ac1f5d4f1d66d3322420f01d42e43122f43616e0f194fc1c9f5d830c5b286", size = 334672, upload-time = "2025-07-26T12:01:41.942Z" },
+ { url = "https://files.pythonhosted.org/packages/ed/93/b43d8acbe67392e659e1d984700e79eb67e2acb2bd7f62012b583a7f1b55/contourpy-1.3.3-cp313-cp313-manylinux_2_26_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:655456777ff65c2c548b7c454af9c6f33f16c8884f11083244b5819cc214f1b5", size = 381234, upload-time = "2025-07-26T12:01:43.499Z" },
+ { url = "https://files.pythonhosted.org/packages/46/3b/bec82a3ea06f66711520f75a40c8fc0b113b2a75edb36aa633eb11c4f50f/contourpy-1.3.3-cp313-cp313-manylinux_2_26_s390x.manylinux_2_28_s390x.whl", hash = "sha256:644a6853d15b2512d67881586bd03f462c7ab755db95f16f14d7e238f2852c67", size = 385169, upload-time = "2025-07-26T12:01:45.219Z" },
+ { url = "https://files.pythonhosted.org/packages/4b/32/e0f13a1c5b0f8572d0ec6ae2f6c677b7991fafd95da523159c19eff0696a/contourpy-1.3.3-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:4debd64f124ca62069f313a9cb86656ff087786016d76927ae2cf37846b006c9", size = 362859, upload-time = "2025-07-26T12:01:46.519Z" },
+ { url = "https://files.pythonhosted.org/packages/33/71/e2a7945b7de4e58af42d708a219f3b2f4cff7386e6b6ab0a0fa0033c49a9/contourpy-1.3.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:a15459b0f4615b00bbd1e91f1b9e19b7e63aea7483d03d804186f278c0af2659", size = 1332062, upload-time = "2025-07-26T12:01:48.964Z" },
+ { url = "https://files.pythonhosted.org/packages/12/fc/4e87ac754220ccc0e807284f88e943d6d43b43843614f0a8afa469801db0/contourpy-1.3.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:ca0fdcd73925568ca027e0b17ab07aad764be4706d0a925b89227e447d9737b7", size = 1403932, upload-time = "2025-07-26T12:01:51.979Z" },
+ { url = "https://files.pythonhosted.org/packages/a6/2e/adc197a37443f934594112222ac1aa7dc9a98faf9c3842884df9a9d8751d/contourpy-1.3.3-cp313-cp313-win32.whl", hash = "sha256:b20c7c9a3bf701366556e1b1984ed2d0cedf999903c51311417cf5f591d8c78d", size = 185024, upload-time = "2025-07-26T12:01:53.245Z" },
+ { url = "https://files.pythonhosted.org/packages/18/0b/0098c214843213759692cc638fce7de5c289200a830e5035d1791d7a2338/contourpy-1.3.3-cp313-cp313-win_amd64.whl", hash = "sha256:1cadd8b8969f060ba45ed7c1b714fe69185812ab43bd6b86a9123fe8f99c3263", size = 226578, upload-time = "2025-07-26T12:01:54.422Z" },
+ { url = "https://files.pythonhosted.org/packages/8a/9a/2f6024a0c5995243cd63afdeb3651c984f0d2bc727fd98066d40e141ad73/contourpy-1.3.3-cp313-cp313-win_arm64.whl", hash = "sha256:fd914713266421b7536de2bfa8181aa8c699432b6763a0ea64195ebe28bff6a9", size = 193524, upload-time = "2025-07-26T12:01:55.73Z" },
+ { url = "https://files.pythonhosted.org/packages/c0/b3/f8a1a86bd3298513f500e5b1f5fd92b69896449f6cab6a146a5d52715479/contourpy-1.3.3-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:88df9880d507169449d434c293467418b9f6cbe82edd19284aa0409e7fdb933d", size = 306730, upload-time = "2025-07-26T12:01:57.051Z" },
+ { url = "https://files.pythonhosted.org/packages/3f/11/4780db94ae62fc0c2053909b65dc3246bd7cecfc4f8a20d957ad43aa4ad8/contourpy-1.3.3-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:d06bb1f751ba5d417047db62bca3c8fde202b8c11fb50742ab3ab962c81e8216", size = 287897, upload-time = "2025-07-26T12:01:58.663Z" },
+ { url = "https://files.pythonhosted.org/packages/ae/15/e59f5f3ffdd6f3d4daa3e47114c53daabcb18574a26c21f03dc9e4e42ff0/contourpy-1.3.3-cp313-cp313t-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:e4e6b05a45525357e382909a4c1600444e2a45b4795163d3b22669285591c1ae", size = 326751, upload-time = "2025-07-26T12:02:00.343Z" },
+ { url = "https://files.pythonhosted.org/packages/0f/81/03b45cfad088e4770b1dcf72ea78d3802d04200009fb364d18a493857210/contourpy-1.3.3-cp313-cp313t-manylinux_2_26_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:ab3074b48c4e2cf1a960e6bbeb7f04566bf36b1861d5c9d4d8ac04b82e38ba20", size = 375486, upload-time = "2025-07-26T12:02:02.128Z" },
+ { url = "https://files.pythonhosted.org/packages/0c/ba/49923366492ffbdd4486e970d421b289a670ae8cf539c1ea9a09822b371a/contourpy-1.3.3-cp313-cp313t-manylinux_2_26_s390x.manylinux_2_28_s390x.whl", hash = "sha256:6c3d53c796f8647d6deb1abe867daeb66dcc8a97e8455efa729516b997b8ed99", size = 388106, upload-time = "2025-07-26T12:02:03.615Z" },
+ { url = "https://files.pythonhosted.org/packages/9f/52/5b00ea89525f8f143651f9f03a0df371d3cbd2fccd21ca9b768c7a6500c2/contourpy-1.3.3-cp313-cp313t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:50ed930df7289ff2a8d7afeb9603f8289e5704755c7e5c3bbd929c90c817164b", size = 352548, upload-time = "2025-07-26T12:02:05.165Z" },
+ { url = "https://files.pythonhosted.org/packages/32/1d/a209ec1a3a3452d490f6b14dd92e72280c99ae3d1e73da74f8277d4ee08f/contourpy-1.3.3-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:4feffb6537d64b84877da813a5c30f1422ea5739566abf0bd18065ac040e120a", size = 1322297, upload-time = "2025-07-26T12:02:07.379Z" },
+ { url = "https://files.pythonhosted.org/packages/bc/9e/46f0e8ebdd884ca0e8877e46a3f4e633f6c9c8c4f3f6e72be3fe075994aa/contourpy-1.3.3-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:2b7e9480ffe2b0cd2e787e4df64270e3a0440d9db8dc823312e2c940c167df7e", size = 1391023, upload-time = "2025-07-26T12:02:10.171Z" },
+ { url = "https://files.pythonhosted.org/packages/b9/70/f308384a3ae9cd2209e0849f33c913f658d3326900d0ff5d378d6a1422d2/contourpy-1.3.3-cp313-cp313t-win32.whl", hash = "sha256:283edd842a01e3dcd435b1c5116798d661378d83d36d337b8dde1d16a5fc9ba3", size = 196157, upload-time = "2025-07-26T12:02:11.488Z" },
+ { url = "https://files.pythonhosted.org/packages/b2/dd/880f890a6663b84d9e34a6f88cded89d78f0091e0045a284427cb6b18521/contourpy-1.3.3-cp313-cp313t-win_amd64.whl", hash = "sha256:87acf5963fc2b34825e5b6b048f40e3635dd547f590b04d2ab317c2619ef7ae8", size = 240570, upload-time = "2025-07-26T12:02:12.754Z" },
+ { url = "https://files.pythonhosted.org/packages/80/99/2adc7d8ffead633234817ef8e9a87115c8a11927a94478f6bb3d3f4d4f7d/contourpy-1.3.3-cp313-cp313t-win_arm64.whl", hash = "sha256:3c30273eb2a55024ff31ba7d052dde990d7d8e5450f4bbb6e913558b3d6c2301", size = 199713, upload-time = "2025-07-26T12:02:14.4Z" },
+ { url = "https://files.pythonhosted.org/packages/a5/29/8dcfe16f0107943fa92388c23f6e05cff0ba58058c4c95b00280d4c75a14/contourpy-1.3.3-pp311-pypy311_pp73-macosx_10_15_x86_64.whl", hash = "sha256:cd5dfcaeb10f7b7f9dc8941717c6c2ade08f587be2226222c12b25f0483ed497", size = 278809, upload-time = "2025-07-26T12:02:52.74Z" },
+ { url = "https://files.pythonhosted.org/packages/85/a9/8b37ef4f7dafeb335daee3c8254645ef5725be4d9c6aa70b50ec46ef2f7e/contourpy-1.3.3-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:0c1fc238306b35f246d61a1d416a627348b5cf0648648a031e14bb8705fcdfe8", size = 261593, upload-time = "2025-07-26T12:02:54.037Z" },
+ { url = "https://files.pythonhosted.org/packages/0a/59/ebfb8c677c75605cc27f7122c90313fd2f375ff3c8d19a1694bda74aaa63/contourpy-1.3.3-pp311-pypy311_pp73-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:70f9aad7de812d6541d29d2bbf8feb22ff7e1c299523db288004e3157ff4674e", size = 302202, upload-time = "2025-07-26T12:02:55.947Z" },
+ { url = "https://files.pythonhosted.org/packages/3c/37/21972a15834d90bfbfb009b9d004779bd5a07a0ec0234e5ba8f64d5736f4/contourpy-1.3.3-pp311-pypy311_pp73-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:5ed3657edf08512fc3fe81b510e35c2012fbd3081d2e26160f27ca28affec989", size = 329207, upload-time = "2025-07-26T12:02:57.468Z" },
+ { url = "https://files.pythonhosted.org/packages/0c/58/bd257695f39d05594ca4ad60df5bcb7e32247f9951fd09a9b8edb82d1daa/contourpy-1.3.3-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:3d1a3799d62d45c18bafd41c5fa05120b96a28079f2393af559b843d1a966a77", size = 225315, upload-time = "2025-07-26T12:02:58.801Z" },
+]
+
+[[package]]
+name = "crcmod"
+version = "1.7"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/6b/b0/e595ce2a2527e169c3bcd6c33d2473c1918e0b7f6826a043ca1245dd4e5b/crcmod-1.7.tar.gz", hash = "sha256:dc7051a0db5f2bd48665a990d3ec1cc305a466a77358ca4492826f41f283601e", size = 89670, upload-time = "2010-06-27T14:35:29.538Z" }
+
+[[package]]
+name = "cryptography"
+version = "46.0.5"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "cffi", marker = "platform_python_implementation != 'PyPy' or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "typing-extensions", marker = "python_full_version < '3.11' or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/60/04/ee2a9e8542e4fa2773b81771ff8349ff19cdd56b7258a0cc442639052edb/cryptography-46.0.5.tar.gz", hash = "sha256:abace499247268e3757271b2f1e244b36b06f8515cf27c4d49468fc9eb16e93d", size = 750064, upload-time = "2026-02-10T19:18:38.255Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/f7/81/b0bb27f2ba931a65409c6b8a8b358a7f03c0e46eceacddff55f7c84b1f3b/cryptography-46.0.5-cp311-abi3-macosx_10_9_universal2.whl", hash = "sha256:351695ada9ea9618b3500b490ad54c739860883df6c1f555e088eaf25b1bbaad", size = 7176289, upload-time = "2026-02-10T19:17:08.274Z" },
+ { url = "https://files.pythonhosted.org/packages/ff/9e/6b4397a3e3d15123de3b1806ef342522393d50736c13b20ec4c9ea6693a6/cryptography-46.0.5-cp311-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:c18ff11e86df2e28854939acde2d003f7984f721eba450b56a200ad90eeb0e6b", size = 4275637, upload-time = "2026-02-10T19:17:10.53Z" },
+ { url = "https://files.pythonhosted.org/packages/63/e7/471ab61099a3920b0c77852ea3f0ea611c9702f651600397ac567848b897/cryptography-46.0.5-cp311-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:4d7e3d356b8cd4ea5aff04f129d5f66ebdc7b6f8eae802b93739ed520c47c79b", size = 4424742, upload-time = "2026-02-10T19:17:12.388Z" },
+ { url = "https://files.pythonhosted.org/packages/37/53/a18500f270342d66bf7e4d9f091114e31e5ee9e7375a5aba2e85a91e0044/cryptography-46.0.5-cp311-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:50bfb6925eff619c9c023b967d5b77a54e04256c4281b0e21336a130cd7fc263", size = 4277528, upload-time = "2026-02-10T19:17:13.853Z" },
+ { url = "https://files.pythonhosted.org/packages/22/29/c2e812ebc38c57b40e7c583895e73c8c5adb4d1e4a0cc4c5a4fdab2b1acc/cryptography-46.0.5-cp311-abi3-manylinux_2_28_ppc64le.whl", hash = "sha256:803812e111e75d1aa73690d2facc295eaefd4439be1023fefc4995eaea2af90d", size = 4947993, upload-time = "2026-02-10T19:17:15.618Z" },
+ { url = "https://files.pythonhosted.org/packages/6b/e7/237155ae19a9023de7e30ec64e5d99a9431a567407ac21170a046d22a5a3/cryptography-46.0.5-cp311-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:3ee190460e2fbe447175cda91b88b84ae8322a104fc27766ad09428754a618ed", size = 4456855, upload-time = "2026-02-10T19:17:17.221Z" },
+ { url = "https://files.pythonhosted.org/packages/2d/87/fc628a7ad85b81206738abbd213b07702bcbdada1dd43f72236ef3cffbb5/cryptography-46.0.5-cp311-abi3-manylinux_2_31_armv7l.whl", hash = "sha256:f145bba11b878005c496e93e257c1e88f154d278d2638e6450d17e0f31e558d2", size = 3984635, upload-time = "2026-02-10T19:17:18.792Z" },
+ { url = "https://files.pythonhosted.org/packages/84/29/65b55622bde135aedf4565dc509d99b560ee4095e56989e815f8fd2aa910/cryptography-46.0.5-cp311-abi3-manylinux_2_34_aarch64.whl", hash = "sha256:e9251e3be159d1020c4030bd2e5f84d6a43fe54b6c19c12f51cde9542a2817b2", size = 4277038, upload-time = "2026-02-10T19:17:20.256Z" },
+ { url = "https://files.pythonhosted.org/packages/bc/36/45e76c68d7311432741faf1fbf7fac8a196a0a735ca21f504c75d37e2558/cryptography-46.0.5-cp311-abi3-manylinux_2_34_ppc64le.whl", hash = "sha256:47fb8a66058b80e509c47118ef8a75d14c455e81ac369050f20ba0d23e77fee0", size = 4912181, upload-time = "2026-02-10T19:17:21.825Z" },
+ { url = "https://files.pythonhosted.org/packages/6d/1a/c1ba8fead184d6e3d5afcf03d569acac5ad063f3ac9fb7258af158f7e378/cryptography-46.0.5-cp311-abi3-manylinux_2_34_x86_64.whl", hash = "sha256:4c3341037c136030cb46e4b1e17b7418ea4cbd9dd207e4a6f3b2b24e0d4ac731", size = 4456482, upload-time = "2026-02-10T19:17:25.133Z" },
+ { url = "https://files.pythonhosted.org/packages/f9/e5/3fb22e37f66827ced3b902cf895e6a6bc1d095b5b26be26bd13c441fdf19/cryptography-46.0.5-cp311-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:890bcb4abd5a2d3f852196437129eb3667d62630333aacc13dfd470fad3aaa82", size = 4405497, upload-time = "2026-02-10T19:17:26.66Z" },
+ { url = "https://files.pythonhosted.org/packages/1a/df/9d58bb32b1121a8a2f27383fabae4d63080c7ca60b9b5c88be742be04ee7/cryptography-46.0.5-cp311-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:80a8d7bfdf38f87ca30a5391c0c9ce4ed2926918e017c29ddf643d0ed2778ea1", size = 4667819, upload-time = "2026-02-10T19:17:28.569Z" },
+ { url = "https://files.pythonhosted.org/packages/ea/ed/325d2a490c5e94038cdb0117da9397ece1f11201f425c4e9c57fe5b9f08b/cryptography-46.0.5-cp311-abi3-win32.whl", hash = "sha256:60ee7e19e95104d4c03871d7d7dfb3d22ef8a9b9c6778c94e1c8fcc8365afd48", size = 3028230, upload-time = "2026-02-10T19:17:30.518Z" },
+ { url = "https://files.pythonhosted.org/packages/e9/5a/ac0f49e48063ab4255d9e3b79f5def51697fce1a95ea1370f03dc9db76f6/cryptography-46.0.5-cp311-abi3-win_amd64.whl", hash = "sha256:38946c54b16c885c72c4f59846be9743d699eee2b69b6988e0a00a01f46a61a4", size = 3480909, upload-time = "2026-02-10T19:17:32.083Z" },
+ { url = "https://files.pythonhosted.org/packages/e2/fa/a66aa722105ad6a458bebd64086ca2b72cdd361fed31763d20390f6f1389/cryptography-46.0.5-cp38-abi3-macosx_10_9_universal2.whl", hash = "sha256:4108d4c09fbbf2789d0c926eb4152ae1760d5a2d97612b92d508d96c861e4d31", size = 7170514, upload-time = "2026-02-10T19:17:56.267Z" },
+ { url = "https://files.pythonhosted.org/packages/0f/04/c85bdeab78c8bc77b701bf0d9bdcf514c044e18a46dcff330df5448631b0/cryptography-46.0.5-cp38-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:7d1f30a86d2757199cb2d56e48cce14deddf1f9c95f1ef1b64ee91ea43fe2e18", size = 4275349, upload-time = "2026-02-10T19:17:58.419Z" },
+ { url = "https://files.pythonhosted.org/packages/5c/32/9b87132a2f91ee7f5223b091dc963055503e9b442c98fc0b8a5ca765fab0/cryptography-46.0.5-cp38-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:039917b0dc418bb9f6edce8a906572d69e74bd330b0b3fea4f79dab7f8ddd235", size = 4420667, upload-time = "2026-02-10T19:18:00.619Z" },
+ { url = "https://files.pythonhosted.org/packages/a1/a6/a7cb7010bec4b7c5692ca6f024150371b295ee1c108bdc1c400e4c44562b/cryptography-46.0.5-cp38-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:ba2a27ff02f48193fc4daeadf8ad2590516fa3d0adeeb34336b96f7fa64c1e3a", size = 4276980, upload-time = "2026-02-10T19:18:02.379Z" },
+ { url = "https://files.pythonhosted.org/packages/8e/7c/c4f45e0eeff9b91e3f12dbd0e165fcf2a38847288fcfd889deea99fb7b6d/cryptography-46.0.5-cp38-abi3-manylinux_2_28_ppc64le.whl", hash = "sha256:61aa400dce22cb001a98014f647dc21cda08f7915ceb95df0c9eaf84b4b6af76", size = 4939143, upload-time = "2026-02-10T19:18:03.964Z" },
+ { url = "https://files.pythonhosted.org/packages/37/19/e1b8f964a834eddb44fa1b9a9976f4e414cbb7aa62809b6760c8803d22d1/cryptography-46.0.5-cp38-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:3ce58ba46e1bc2aac4f7d9290223cead56743fa6ab94a5d53292ffaac6a91614", size = 4453674, upload-time = "2026-02-10T19:18:05.588Z" },
+ { url = "https://files.pythonhosted.org/packages/db/ed/db15d3956f65264ca204625597c410d420e26530c4e2943e05a0d2f24d51/cryptography-46.0.5-cp38-abi3-manylinux_2_31_armv7l.whl", hash = "sha256:420d0e909050490d04359e7fdb5ed7e667ca5c3c402b809ae2563d7e66a92229", size = 3978801, upload-time = "2026-02-10T19:18:07.167Z" },
+ { url = "https://files.pythonhosted.org/packages/41/e2/df40a31d82df0a70a0daf69791f91dbb70e47644c58581d654879b382d11/cryptography-46.0.5-cp38-abi3-manylinux_2_34_aarch64.whl", hash = "sha256:582f5fcd2afa31622f317f80426a027f30dc792e9c80ffee87b993200ea115f1", size = 4276755, upload-time = "2026-02-10T19:18:09.813Z" },
+ { url = "https://files.pythonhosted.org/packages/33/45/726809d1176959f4a896b86907b98ff4391a8aa29c0aaaf9450a8a10630e/cryptography-46.0.5-cp38-abi3-manylinux_2_34_ppc64le.whl", hash = "sha256:bfd56bb4b37ed4f330b82402f6f435845a5f5648edf1ad497da51a8452d5d62d", size = 4901539, upload-time = "2026-02-10T19:18:11.263Z" },
+ { url = "https://files.pythonhosted.org/packages/99/0f/a3076874e9c88ecb2ecc31382f6e7c21b428ede6f55aafa1aa272613e3cd/cryptography-46.0.5-cp38-abi3-manylinux_2_34_x86_64.whl", hash = "sha256:a3d507bb6a513ca96ba84443226af944b0f7f47dcc9a399d110cd6146481d24c", size = 4452794, upload-time = "2026-02-10T19:18:12.914Z" },
+ { url = "https://files.pythonhosted.org/packages/02/ef/ffeb542d3683d24194a38f66ca17c0a4b8bf10631feef44a7ef64e631b1a/cryptography-46.0.5-cp38-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:9f16fbdf4da055efb21c22d81b89f155f02ba420558db21288b3d0035bafd5f4", size = 4404160, upload-time = "2026-02-10T19:18:14.375Z" },
+ { url = "https://files.pythonhosted.org/packages/96/93/682d2b43c1d5f1406ed048f377c0fc9fc8f7b0447a478d5c65ab3d3a66eb/cryptography-46.0.5-cp38-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:ced80795227d70549a411a4ab66e8ce307899fad2220ce5ab2f296e687eacde9", size = 4667123, upload-time = "2026-02-10T19:18:15.886Z" },
+ { url = "https://files.pythonhosted.org/packages/45/2d/9c5f2926cb5300a8eefc3f4f0b3f3df39db7f7ce40c8365444c49363cbda/cryptography-46.0.5-cp38-abi3-win32.whl", hash = "sha256:02f547fce831f5096c9a567fd41bc12ca8f11df260959ecc7c3202555cc47a72", size = 3010220, upload-time = "2026-02-10T19:18:17.361Z" },
+ { url = "https://files.pythonhosted.org/packages/48/ef/0c2f4a8e31018a986949d34a01115dd057bf536905dca38897bacd21fac3/cryptography-46.0.5-cp38-abi3-win_amd64.whl", hash = "sha256:556e106ee01aa13484ce9b0239bca667be5004efb0aabbed28d353df86445595", size = 3467050, upload-time = "2026-02-10T19:18:18.899Z" },
+ { url = "https://files.pythonhosted.org/packages/eb/dd/2d9fdb07cebdf3d51179730afb7d5e576153c6744c3ff8fded23030c204e/cryptography-46.0.5-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:3b4995dc971c9fb83c25aa44cf45f02ba86f71ee600d81091c2f0cbae116b06c", size = 3476964, upload-time = "2026-02-10T19:18:20.687Z" },
+ { url = "https://files.pythonhosted.org/packages/e9/6f/6cc6cc9955caa6eaf83660b0da2b077c7fe8ff9950a3c5e45d605038d439/cryptography-46.0.5-pp311-pypy311_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:bc84e875994c3b445871ea7181d424588171efec3e185dced958dad9e001950a", size = 4218321, upload-time = "2026-02-10T19:18:22.349Z" },
+ { url = "https://files.pythonhosted.org/packages/3e/5d/c4da701939eeee699566a6c1367427ab91a8b7088cc2328c09dbee940415/cryptography-46.0.5-pp311-pypy311_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:2ae6971afd6246710480e3f15824ed3029a60fc16991db250034efd0b9fb4356", size = 4381786, upload-time = "2026-02-10T19:18:24.529Z" },
+ { url = "https://files.pythonhosted.org/packages/ac/97/a538654732974a94ff96c1db621fa464f455c02d4bb7d2652f4edc21d600/cryptography-46.0.5-pp311-pypy311_pp73-manylinux_2_34_aarch64.whl", hash = "sha256:d861ee9e76ace6cf36a6a89b959ec08e7bc2493ee39d07ffe5acb23ef46d27da", size = 4217990, upload-time = "2026-02-10T19:18:25.957Z" },
+ { url = "https://files.pythonhosted.org/packages/ae/11/7e500d2dd3ba891197b9efd2da5454b74336d64a7cc419aa7327ab74e5f6/cryptography-46.0.5-pp311-pypy311_pp73-manylinux_2_34_x86_64.whl", hash = "sha256:2b7a67c9cd56372f3249b39699f2ad479f6991e62ea15800973b956f4b73e257", size = 4381252, upload-time = "2026-02-10T19:18:27.496Z" },
+ { url = "https://files.pythonhosted.org/packages/bc/58/6b3d24e6b9bc474a2dcdee65dfd1f008867015408a271562e4b690561a4d/cryptography-46.0.5-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:8456928655f856c6e1533ff59d5be76578a7157224dbd9ce6872f25055ab9ab7", size = 3407605, upload-time = "2026-02-10T19:18:29.233Z" },
+]
+
+[[package]]
+name = "ctranslate2"
+version = "4.7.1"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11' or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "numpy", version = "2.3.5", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11' or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "pyyaml" },
+ { name = "setuptools" },
+]
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/cb/e0/b69c40c3d739b213a78d327071240590792071b4f890e34088b03b95bb1e/ctranslate2-4.7.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:9017a355dd7c6d29dc3bca6e9fc74827306c61b702c66bb1f6b939655e7de3fa", size = 1255773, upload-time = "2026-02-04T06:11:04.769Z" },
+ { url = "https://files.pythonhosted.org/packages/51/29/e5c2fc1253e3fb9b2c86997f36524bba182a8ed77fb4f8fe8444a5649191/ctranslate2-4.7.1-cp310-cp310-macosx_11_0_x86_64.whl", hash = "sha256:6abcd0552285e7173475836f9d133e04dfc3e42ca8e6930f65eaa4b8b13a47fa", size = 11914945, upload-time = "2026-02-04T06:11:06.853Z" },
+ { url = "https://files.pythonhosted.org/packages/03/25/e7fe847d3f02c84d2e9c5e8312434fbeab5af3d8916b6c8e2bdbe860d052/ctranslate2-4.7.1-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:8492cba605319e0d7f2760180957d5a2a435dfdebcef1a75d2ade740e6b9fb0b", size = 16547973, upload-time = "2026-02-04T06:11:09.021Z" },
+ { url = "https://files.pythonhosted.org/packages/68/75/074ed22bc340c2e26c09af6bf85859b586516e4e2d753b20189936d0dcf7/ctranslate2-4.7.1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:688bd82482b5d057eff5bc1e727f11bb9a1277b7e4fce8ab01fd3bb70e69294b", size = 38636471, upload-time = "2026-02-04T06:11:12.146Z" },
+ { url = "https://files.pythonhosted.org/packages/76/b6/9baf8a565f6dcdbfbc9cfd179dd6214529838cda4e91e89b616045a670f0/ctranslate2-4.7.1-cp310-cp310-win_amd64.whl", hash = "sha256:3b39a5f4e3c87ac91976996458a64ba08a7cbf974dc0be4e6df83a9e040d4bd2", size = 18842389, upload-time = "2026-02-04T06:11:15.154Z" },
+ { url = "https://files.pythonhosted.org/packages/da/25/41920ccee68e91cb6fa0fc9e8078ab2b7839f2c668f750dc123144cb7c6e/ctranslate2-4.7.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:f74200bab9996b14a57cf6f7cb27d0921ceedc4acc1e905598e3e85b4d75b1ec", size = 1256943, upload-time = "2026-02-04T06:11:17.781Z" },
+ { url = "https://files.pythonhosted.org/packages/79/22/bc81fcc9f10ba4da3ffd1a9adec15cfb73cb700b3bbe69c6c8b55d333316/ctranslate2-4.7.1-cp311-cp311-macosx_11_0_x86_64.whl", hash = "sha256:59b427eb3ac999a746315b03a63942fddd351f511db82ba1a66880d4dea98e25", size = 11916445, upload-time = "2026-02-04T06:11:19.938Z" },
+ { url = "https://files.pythonhosted.org/packages/0a/a7/494a66bb02c7926331cadfff51d5ce81f5abfb1e8d05d7f2459082f31b48/ctranslate2-4.7.1-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:95f0c1051c180669d2a83a44b44b518b2d1683de125f623bbc81ad5dd6f6141c", size = 16696997, upload-time = "2026-02-04T06:11:22.697Z" },
+ { url = "https://files.pythonhosted.org/packages/ed/4e/b48f79fd36e5d3c7e12db383aa49814c340921a618ef7364bd0ced670644/ctranslate2-4.7.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:0ed92d9ab0ac6bc7005942be83d68714c80adb0897ab17f98157294ee0374347", size = 38836379, upload-time = "2026-02-04T06:11:26.325Z" },
+ { url = "https://files.pythonhosted.org/packages/d2/23/8c01ac52e1f26fc4dbe985a35222ae7cd365bbf7ee5db5fd5545d8926f91/ctranslate2-4.7.1-cp311-cp311-win_amd64.whl", hash = "sha256:67d9ad9b69933fbfeee7dcec899b2cd9341d5dca4fdfb53e8ba8c109dc332ee1", size = 18843315, upload-time = "2026-02-04T06:11:29.441Z" },
+ { url = "https://files.pythonhosted.org/packages/fc/0f/581de94b64c5f2327a736270bc7e7a5f8fe5cf1ed56a2203b52de4d8986a/ctranslate2-4.7.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:4c0cbd46a23b8dc37ccdbd9b447cb5f7fadc361c90e9df17d82ca84b1f019986", size = 1257089, upload-time = "2026-02-04T06:11:32.442Z" },
+ { url = "https://files.pythonhosted.org/packages/3d/e9/d55b0e436362f9fe26bd98fefd2dd5d81926121f1d7f799c805e6035bb26/ctranslate2-4.7.1-cp312-cp312-macosx_11_0_x86_64.whl", hash = "sha256:5b141ddad1da5f84cf3c2a569a56227a37de649a555d376cbd9b80e8f0373dd8", size = 11918502, upload-time = "2026-02-04T06:11:33.986Z" },
+ { url = "https://files.pythonhosted.org/packages/ec/ce/9f29f0b0bb4280c2ebafb3ddb6cdff8ef1c2e185ee020c0ec0ecba7dc934/ctranslate2-4.7.1-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:d00a62544db4a3caaa58a3c50d39b25613c042b430053ae32384d94eb1d40990", size = 16859601, upload-time = "2026-02-04T06:11:36.227Z" },
+ { url = "https://files.pythonhosted.org/packages/b3/86/428d270fd72117d19fb48ed3211aa8a3c8bd7577373252962cb634e0fd01/ctranslate2-4.7.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:722b93a89647974cbd182b4c7f87fefc7794fff7fc9cbd0303b6447905cc157e", size = 38995338, upload-time = "2026-02-04T06:11:42.789Z" },
+ { url = "https://files.pythonhosted.org/packages/4a/f4/d23dbfb9c62cb642c114a30f05d753ba61d6ffbfd8a3a4012fe85a073bcb/ctranslate2-4.7.1-cp312-cp312-win_amd64.whl", hash = "sha256:d0f734dc3757118094663bdaaf713f5090c55c1927fb330a76bb8b84173940e8", size = 18844949, upload-time = "2026-02-04T06:11:45.436Z" },
+ { url = "https://files.pythonhosted.org/packages/34/6d/eb49ba05db286b4ea9d5d3fcf5f5cd0a9a5e218d46349618d5041001e303/ctranslate2-4.7.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:6b2abf2929756e3ec6246057b56df379995661560a2d776af05f9d97f63afcf5", size = 1256960, upload-time = "2026-02-04T06:11:47.487Z" },
+ { url = "https://files.pythonhosted.org/packages/45/5a/b9cce7b00d89fc6fdeaf27587aa52d0597b465058563e93ff50910553bdd/ctranslate2-4.7.1-cp313-cp313-macosx_11_0_x86_64.whl", hash = "sha256:857ef3959d6b1c40dc227c715a36db33db2d097164996d6c75b6db8e30828f52", size = 11918645, upload-time = "2026-02-04T06:11:49.599Z" },
+ { url = "https://files.pythonhosted.org/packages/ea/03/c0db0a5276599fb44ceafa2f2cb1afd5628808ec406fe036060a39693680/ctranslate2-4.7.1-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:393a9e7e989034660526a2c0e8bb65d1924f43d9a5c77d336494a353d16ba2a4", size = 16860452, upload-time = "2026-02-04T06:11:52.276Z" },
+ { url = "https://files.pythonhosted.org/packages/0b/03/4e3728ce29d192ee75ed9a2d8589bf4f19edafe5bed3845187de51b179a3/ctranslate2-4.7.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:5a3d0682f2b9082e31c73d75b45f16cde77355ab76d7e8356a24c3cb2480a6d3", size = 38995174, upload-time = "2026-02-04T06:11:55.477Z" },
+ { url = "https://files.pythonhosted.org/packages/9b/15/6e8e87c6a201d69803a79ac2e29623ce7c2cc9cd1df9db99810cca714373/ctranslate2-4.7.1-cp313-cp313-win_amd64.whl", hash = "sha256:baa6d2b10f57933d8c11791e8522659217918722d07bbef2389a443801125fe7", size = 18844953, upload-time = "2026-02-04T06:11:58.519Z" },
+]
+
+[[package]]
+name = "cuda-bindings"
+version = "12.9.4"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "cuda-pathfinder", marker = "(platform_machine == 'AMD64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or extra == 'extra-15-gpt-sovits-meta-cu126' or extra == 'extra-15-gpt-sovits-meta-cu128' or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+]
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/37/31/bfcc870f69c6a017c4ad5c42316207fc7551940db6f3639aa4466ec5faf3/cuda_bindings-12.9.4-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:a022c96b8bd847e8dc0675523431149a4c3e872f440e3002213dbb9e08f0331a", size = 11800959, upload-time = "2025-10-21T14:51:26.458Z" },
+ { url = "https://files.pythonhosted.org/packages/7a/d8/b546104b8da3f562c1ff8ab36d130c8fe1dd6a045ced80b4f6ad74f7d4e1/cuda_bindings-12.9.4-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:4d3c842c2a4303b2a580fe955018e31aea30278be19795ae05226235268032e5", size = 12148218, upload-time = "2025-10-21T14:51:28.855Z" },
+ { url = "https://files.pythonhosted.org/packages/b5/1e/9c8ed3f3dbed7b7d038805fdc65cbc65fda9983e84437778a9571e7092bc/cuda_bindings-12.9.4-cp310-cp310-win_amd64.whl", hash = "sha256:f69107389e6b9948969bfd0a20c4f571fd1aefcfb1d2e1b72cc8ba5ecb7918ab", size = 11464568, upload-time = "2025-10-21T14:51:31.454Z" },
+ { url = "https://files.pythonhosted.org/packages/a9/2b/ebcbb60aa6dba830474cd360c42e10282f7a343c0a1f58d24fbd3b7c2d77/cuda_bindings-12.9.4-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:a6a429dc6c13148ff1e27c44f40a3dd23203823e637b87fd0854205195988306", size = 11840604, upload-time = "2025-10-21T14:51:34.565Z" },
+ { url = "https://files.pythonhosted.org/packages/45/e7/b47792cc2d01c7e1d37c32402182524774dadd2d26339bd224e0e913832e/cuda_bindings-12.9.4-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:c912a3d9e6b6651853eed8eed96d6800d69c08e94052c292fec3f282c5a817c9", size = 12210593, upload-time = "2025-10-21T14:51:36.574Z" },
+ { url = "https://files.pythonhosted.org/packages/dd/be/90d32049e06abcfba4b2e7df1dbcb5e16215c8852eef0cd8b25f38a66bd4/cuda_bindings-12.9.4-cp311-cp311-win_amd64.whl", hash = "sha256:443b0875916879c2e4c3722941e25e42d5ab9bcbf34c9e83404fb100fa1f6913", size = 11490933, upload-time = "2025-10-21T14:51:38.792Z" },
+ { url = "https://files.pythonhosted.org/packages/0c/c2/65bfd79292b8ff18be4dd7f7442cea37bcbc1a228c1886f1dea515c45b67/cuda_bindings-12.9.4-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:694ba35023846625ef471257e6b5a4bc8af690f961d197d77d34b1d1db393f56", size = 11760260, upload-time = "2025-10-21T14:51:40.79Z" },
+ { url = "https://files.pythonhosted.org/packages/a9/c1/dabe88f52c3e3760d861401bb994df08f672ec893b8f7592dc91626adcf3/cuda_bindings-12.9.4-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:fda147a344e8eaeca0c6ff113d2851ffca8f7dfc0a6c932374ee5c47caa649c8", size = 12151019, upload-time = "2025-10-21T14:51:43.167Z" },
+ { url = "https://files.pythonhosted.org/packages/df/6b/9c1b1a6c01392bfdd758e9486f52a1a72bc8f49e98f9355774ef98b5fb4e/cuda_bindings-12.9.4-cp312-cp312-win_amd64.whl", hash = "sha256:696ca75d249ddf287d01b9a698b8e2d8a05046495a9c051ca15659dc52d17615", size = 11586961, upload-time = "2025-10-21T14:51:45.394Z" },
+ { url = "https://files.pythonhosted.org/packages/05/8b/b4b2d1c7775fa403b64333e720cfcfccef8dcb9cdeb99947061ca5a77628/cuda_bindings-12.9.4-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:cf8bfaedc238f3b115d957d1fd6562b7e8435ba57f6d0e2f87d0e7149ccb2da5", size = 11570071, upload-time = "2025-10-21T14:51:47.472Z" },
+ { url = "https://files.pythonhosted.org/packages/63/56/e465c31dc9111be3441a9ba7df1941fe98f4aa6e71e8788a3fb4534ce24d/cuda_bindings-12.9.4-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:32bdc5a76906be4c61eb98f546a6786c5773a881f3b166486449b5d141e4a39f", size = 11906628, upload-time = "2025-10-21T14:51:49.905Z" },
+ { url = "https://files.pythonhosted.org/packages/05/d0/d0e4e2e047d8e899f023fa15ad5e9894ce951253f4c894f1cd68490fdb14/cuda_bindings-12.9.4-cp313-cp313-win_amd64.whl", hash = "sha256:a2e82c8985948f953c2be51df45c3fe11c812a928fca525154fb9503190b3e64", size = 11556719, upload-time = "2025-10-21T14:51:52.248Z" },
+ { url = "https://files.pythonhosted.org/packages/ec/07/6aff13bc1e977e35aaa6b22f52b172e2890c608c6db22438cf7ed2bf43a6/cuda_bindings-12.9.4-cp313-cp313t-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:3adf4958dcf68ae7801a59b73fb00a8b37f8d0595060d66ceae111b1002de38d", size = 11566797, upload-time = "2025-10-21T14:51:54.581Z" },
+ { url = "https://files.pythonhosted.org/packages/a3/84/1e6be415e37478070aeeee5884c2022713c1ecc735e6d82d744de0252eee/cuda_bindings-12.9.4-cp313-cp313t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:56e0043c457a99ac473ddc926fe0dc4046694d99caef633e92601ab52cbe17eb", size = 11925991, upload-time = "2025-10-21T14:51:56.535Z" },
+ { url = "https://files.pythonhosted.org/packages/4d/3c/972edfddb4ae8a9fccd3c3766ed47453b6f805b6026b32f10209dd4b8ad4/cuda_bindings-12.9.4-cp313-cp313t-win_amd64.whl", hash = "sha256:b32d8b685f0e66f5658bcf4601ef034e89fc2843582886f0a58784a4302da06c", size = 11894363, upload-time = "2025-10-21T14:51:58.633Z" },
+]
+
+[[package]]
+name = "cuda-pathfinder"
+version = "1.3.4"
+source = { registry = "https://pypi.org/simple" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/b8/5e/db279a3bfbd18d59d0598922a3b3c1454908d0969e8372260afec9736376/cuda_pathfinder-1.3.4-py3-none-any.whl", hash = "sha256:fb983f6e0d43af27ef486e14d5989b5f904ef45cedf40538bfdcbffa6bb01fb2", size = 30878, upload-time = "2026-02-11T18:50:31.008Z" },
+]
+
+[[package]]
+name = "cycler"
+version = "0.12.1"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/a9/95/a3dbbb5028f35eafb79008e7522a75244477d2838f38cbb722248dabc2a8/cycler-0.12.1.tar.gz", hash = "sha256:88bb128f02ba341da8ef447245a9e138fae777f6a23943da4540077d3601eb1c", size = 7615, upload-time = "2023-10-07T05:32:18.335Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/e7/05/c19819d5e3d95294a6f5947fb9b9629efb316b96de511b418c53d245aae6/cycler-0.12.1-py3-none-any.whl", hash = "sha256:85cef7cff222d8644161529808465972e51340599459b8ac3ccbac5a854e0d30", size = 8321, upload-time = "2023-10-07T05:32:16.783Z" },
+]
+
+[[package]]
+name = "cython"
+version = "3.2.4"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/91/85/7574c9cd44b69a27210444b6650f6477f56c75fee1b70d7672d3e4166167/cython-3.2.4.tar.gz", hash = "sha256:84226ecd313b233da27dc2eb3601b4f222b8209c3a7216d8733b031da1dc64e6", size = 3280291, upload-time = "2026-01-04T14:14:14.473Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/a1/10/720e0fb84eab4c927c4dd6b61eb7993f7732dd83d29ba6d73083874eade9/cython-3.2.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:02cb0cc0f23b9874ad262d7d2b9560aed9c7e2df07b49b920bda6f2cc9cb505e", size = 2960836, upload-time = "2026-01-04T14:14:51.103Z" },
+ { url = "https://files.pythonhosted.org/packages/7d/3d/b26f29092c71c36e0462752885bdfb18c23c176af4de953fdae2772a8941/cython-3.2.4-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:f136f379a4a54246facd0eb6f1ee15c3837cb314ce87b677582ec014db4c6845", size = 3370134, upload-time = "2026-01-04T14:14:53.627Z" },
+ { url = "https://files.pythonhosted.org/packages/56/9e/539fb0d09e4f5251b5b14f8daf77e71fee021527f1013791038234618b6b/cython-3.2.4-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:35ab0632186057406ec729374c737c37051d2eacad9d515d94e5a3b3e58a9b02", size = 3537552, upload-time = "2026-01-04T14:14:56.852Z" },
+ { url = "https://files.pythonhosted.org/packages/10/c6/82d19a451c050d1be0f05b1a3302267463d391db548f013ee88b5348a8e9/cython-3.2.4-cp310-cp310-win_amd64.whl", hash = "sha256:ca2399dc75796b785f74fb85c938254fa10c80272004d573c455f9123eceed86", size = 2766191, upload-time = "2026-01-04T14:14:58.709Z" },
+ { url = "https://files.pythonhosted.org/packages/85/cc/8f06145ec3efa121c8b1b67f06a640386ddacd77ee3e574da582a21b14ee/cython-3.2.4-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:ff9af2134c05e3734064808db95b4dd7341a39af06e8945d05ea358e1741aaed", size = 2953769, upload-time = "2026-01-04T14:15:00.361Z" },
+ { url = "https://files.pythonhosted.org/packages/55/b0/706cf830eddd831666208af1b3058c2e0758ae157590909c1f634b53bed9/cython-3.2.4-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:67922c9de058a0bfb72d2e75222c52d09395614108c68a76d9800f150296ddb3", size = 3243841, upload-time = "2026-01-04T14:15:02.066Z" },
+ { url = "https://files.pythonhosted.org/packages/ac/25/58893afd4ef45f79e3d4db82742fa4ff874b936d67a83c92939053920ccd/cython-3.2.4-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:b362819d155fff1482575e804e43e3a8825332d32baa15245f4642022664a3f4", size = 3378083, upload-time = "2026-01-04T14:15:04.248Z" },
+ { url = "https://files.pythonhosted.org/packages/32/e4/424a004d7c0d8a4050c81846ebbd22272ececfa9a498cb340aa44fccbec2/cython-3.2.4-cp311-cp311-win_amd64.whl", hash = "sha256:1a64a112a34ec719b47c01395647e54fb4cf088a511613f9a3a5196694e8e382", size = 2769990, upload-time = "2026-01-04T14:15:06.53Z" },
+ { url = "https://files.pythonhosted.org/packages/91/4d/1eb0c7c196a136b1926f4d7f0492a96c6fabd604d77e6cd43b56a3a16d83/cython-3.2.4-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:64d7f71be3dd6d6d4a4c575bb3a4674ea06d1e1e5e4cd1b9882a2bc40ed3c4c9", size = 2970064, upload-time = "2026-01-04T14:15:08.567Z" },
+ { url = "https://files.pythonhosted.org/packages/03/1c/46e34b08bea19a1cdd1e938a4c123e6299241074642db9d81983cef95e9f/cython-3.2.4-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:869487ea41d004f8b92171f42271fbfadb1ec03bede3158705d16cd570d6b891", size = 3226757, upload-time = "2026-01-04T14:15:10.812Z" },
+ { url = "https://files.pythonhosted.org/packages/12/33/3298a44d201c45bcf0d769659725ae70e9c6c42adf8032f6d89c8241098d/cython-3.2.4-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:55b6c44cd30821f0b25220ceba6fe636ede48981d2a41b9bbfe3c7902ce44ea7", size = 3388969, upload-time = "2026-01-04T14:15:12.45Z" },
+ { url = "https://files.pythonhosted.org/packages/bb/f3/4275cd3ea0a4cf4606f9b92e7f8766478192010b95a7f516d1b7cf22cb10/cython-3.2.4-cp312-cp312-win_amd64.whl", hash = "sha256:767b143704bdd08a563153448955935844e53b852e54afdc552b43902ed1e235", size = 2756457, upload-time = "2026-01-04T14:15:14.67Z" },
+ { url = "https://files.pythonhosted.org/packages/18/b5/1cfca43b7d20a0fdb1eac67313d6bb6b18d18897f82dd0f17436bdd2ba7f/cython-3.2.4-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:28e8075087a59756f2d059273184b8b639fe0f16cf17470bd91c39921bc154e0", size = 2960506, upload-time = "2026-01-04T14:15:16.733Z" },
+ { url = "https://files.pythonhosted.org/packages/71/bb/8f28c39c342621047fea349a82fac712a5e2b37546d2f737bbde48d5143d/cython-3.2.4-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:03893c88299a2c868bb741ba6513357acd104e7c42265809fd58dce1456a36fc", size = 3213148, upload-time = "2026-01-04T14:15:18.804Z" },
+ { url = "https://files.pythonhosted.org/packages/7a/d2/16fa02f129ed2b627e88d9d9ebd5ade3eeb66392ae5ba85b259d2d52b047/cython-3.2.4-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:f81eda419b5ada7b197bbc3c5f4494090e3884521ffd75a3876c93fbf66c9ca8", size = 3375764, upload-time = "2026-01-04T14:15:20.817Z" },
+ { url = "https://files.pythonhosted.org/packages/91/3f/deb8f023a5c10c0649eb81332a58c180fad27c7533bb4aae138b5bc34d92/cython-3.2.4-cp313-cp313-win_amd64.whl", hash = "sha256:83266c356c13c68ffe658b4905279c993d8a5337bb0160fa90c8a3e297ea9a2e", size = 2754238, upload-time = "2026-01-04T14:15:23.001Z" },
+ { url = "https://files.pythonhosted.org/packages/0a/8b/fd393f0923c82be4ec0db712fffb2ff0a7a131707b842c99bf24b549274d/cython-3.2.4-cp39-abi3-macosx_10_9_x86_64.whl", hash = "sha256:36bf3f5eb56d5281aafabecbaa6ed288bc11db87547bba4e1e52943ae6961ccf", size = 2875622, upload-time = "2026-01-04T14:15:39.749Z" },
+ { url = "https://files.pythonhosted.org/packages/73/48/48530d9b9d64ec11dbe0dd3178a5fe1e0b27977c1054ecffb82be81e9b6a/cython-3.2.4-cp39-abi3-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:6d5267f22b6451eb1e2e1b88f6f78a2c9c8733a6ddefd4520d3968d26b824581", size = 3210669, upload-time = "2026-01-04T14:15:41.911Z" },
+ { url = "https://files.pythonhosted.org/packages/5e/91/4865fbfef1f6bb4f21d79c46104a53d1a3fa4348286237e15eafb26e0828/cython-3.2.4-cp39-abi3-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:3b6e58f73a69230218d5381817850ce6d0da5bb7e87eb7d528c7027cbba40b06", size = 2856835, upload-time = "2026-01-04T14:15:43.815Z" },
+ { url = "https://files.pythonhosted.org/packages/fa/39/60317957dbef179572398253f29d28f75f94ab82d6d39ea3237fb6c89268/cython-3.2.4-cp39-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:e71efb20048358a6b8ec604a0532961c50c067b5e63e345e2e359fff72feaee8", size = 2994408, upload-time = "2026-01-04T14:15:45.422Z" },
+ { url = "https://files.pythonhosted.org/packages/8d/30/7c24d9292650db4abebce98abc9b49c820d40fa7c87921c0a84c32f4efe7/cython-3.2.4-cp39-abi3-musllinux_1_2_armv7l.whl", hash = "sha256:28b1e363b024c4b8dcf52ff68125e635cb9cb4b0ba997d628f25e32543a71103", size = 2891478, upload-time = "2026-01-04T14:15:47.394Z" },
+ { url = "https://files.pythonhosted.org/packages/86/70/03dc3c962cde9da37a93cca8360e576f904d5f9beecfc9d70b1f820d2e5f/cython-3.2.4-cp39-abi3-musllinux_1_2_i686.whl", hash = "sha256:31a90b4a2c47bb6d56baeb926948348ec968e932c1ae2c53239164e3e8880ccf", size = 3225663, upload-time = "2026-01-04T14:15:49.446Z" },
+ { url = "https://files.pythonhosted.org/packages/b1/97/10b50c38313c37b1300325e2e53f48ea9a2c078a85c0c9572057135e31d5/cython-3.2.4-cp39-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:e65e4773021f8dc8532010b4fbebe782c77f9a0817e93886e518c93bd6a44e9d", size = 3115628, upload-time = "2026-01-04T14:15:51.323Z" },
+ { url = "https://files.pythonhosted.org/packages/8f/b1/d6a353c9b147848122a0db370863601fdf56de2d983b5c4a6a11e6ee3cd7/cython-3.2.4-cp39-abi3-win32.whl", hash = "sha256:2b1f12c0e4798293d2754e73cd6f35fa5bbdf072bdc14bc6fc442c059ef2d290", size = 2437463, upload-time = "2026-01-04T14:15:53.787Z" },
+ { url = "https://files.pythonhosted.org/packages/2d/d8/319a1263b9c33b71343adfd407e5daffd453daef47ebc7b642820a8b68ed/cython-3.2.4-cp39-abi3-win_arm64.whl", hash = "sha256:3b8e62049afef9da931d55de82d8f46c9a147313b69d5ff6af6e9121d545ce7a", size = 2442754, upload-time = "2026-01-04T14:15:55.382Z" },
+ { url = "https://files.pythonhosted.org/packages/ff/fa/d3c15189f7c52aaefbaea76fb012119b04b9013f4bf446cb4eb4c26c4e6b/cython-3.2.4-py3-none-any.whl", hash = "sha256:732fc93bc33ae4b14f6afaca663b916c2fdd5dcbfad7114e17fb2434eeaea45c", size = 1257078, upload-time = "2026-01-04T14:14:12.373Z" },
+]
+
+[[package]]
+name = "decorator"
+version = "5.2.1"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/43/fa/6d96a0978d19e17b68d634497769987b16c8f4cd0a7a05048bec693caa6b/decorator-5.2.1.tar.gz", hash = "sha256:65f266143752f734b0a7cc83c46f4618af75b8c5911b00ccb61d0ac9b6da0360", size = 56711, upload-time = "2025-02-24T04:41:34.073Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/4e/8c/f3147f5c4b73e7550fe5f9352eaa956ae838d5c51eb58e7a25b9f3e2643b/decorator-5.2.1-py3-none-any.whl", hash = "sha256:d316bb415a2d9e2d2b3abcc4084c6502fc09240e292cd76a76afc106a1c8e04a", size = 9190, upload-time = "2025-02-24T04:41:32.565Z" },
+]
+
+[[package]]
+name = "distance"
+version = "0.1.3"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/5c/1a/883e47df323437aefa0d0a92ccfb38895d9416bd0b56262c2e46a47767b8/Distance-0.1.3.tar.gz", hash = "sha256:60807584f5b6003f5c521aa73f39f51f631de3be5cccc5a1d67166fcbf0d4551", size = 180271, upload-time = "2013-11-21T00:14:34.152Z" }
+
+[[package]]
+name = "distlib"
+version = "0.4.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/96/8e/709914eb2b5749865801041647dc7f4e6d00b549cfe88b65ca192995f07c/distlib-0.4.0.tar.gz", hash = "sha256:feec40075be03a04501a973d81f633735b4b69f98b05450592310c0f401a4e0d", size = 614605, upload-time = "2025-07-17T16:52:00.465Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/33/6b/e0547afaf41bf2c42e52430072fa5658766e3d65bd4b03a563d1b6336f57/distlib-0.4.0-py2.py3-none-any.whl", hash = "sha256:9659f7d87e46584a30b5780e43ac7a2143098441670ff0a49d5f9034c54a6c16", size = 469047, upload-time = "2025-07-17T16:51:58.613Z" },
+]
+
+[[package]]
+name = "dnspython"
+version = "2.8.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/8c/8b/57666417c0f90f08bcafa776861060426765fdb422eb10212086fb811d26/dnspython-2.8.0.tar.gz", hash = "sha256:181d3c6996452cb1189c4046c61599b84a5a86e099562ffde77d26984ff26d0f", size = 368251, upload-time = "2025-09-07T18:58:00.022Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/ba/5a/18ad964b0086c6e62e2e7500f7edc89e3faa45033c71c1893d34eed2b2de/dnspython-2.8.0-py3-none-any.whl", hash = "sha256:01d9bbc4a2d76bf0db7c1f729812ded6d912bd318d3b1cf81d30c0f845dbf3af", size = 331094, upload-time = "2025-09-07T18:57:58.071Z" },
+]
+
+[[package]]
+name = "editdistance"
+version = "0.8.1"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/d5/18/9f4f975ca87a390832b1c22478f3702fcdf739f83211e24d054b7551270d/editdistance-0.8.1.tar.gz", hash = "sha256:d1cdf80a5d5014b0c9126a69a42ce55a457b457f6986ff69ca98e4fe4d2d8fed", size = 50006, upload-time = "2024-02-10T07:44:53.914Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/09/c9/302658ce7f4c537a4e85cf578d11bbf7af120a712e1d78fedc6cb8823c65/editdistance-0.8.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:adeb705f32b93accc74960d227875abff150ee42d676e428536361fe5f8f5388", size = 106150, upload-time = "2024-02-10T07:43:15.903Z" },
+ { url = "https://files.pythonhosted.org/packages/45/80/0b3c7d2c0e183725986fea5dd2df11f0b4b46320e9a64f6077a121ab1f64/editdistance-0.8.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:3de77951b105d0972deec7684a0b3d1a9dee69c9b5d34f6e2acc0d76cd4a1c52", size = 80551, upload-time = "2024-02-10T07:43:17.64Z" },
+ { url = "https://files.pythonhosted.org/packages/b5/14/681460965c6a4a48321b07f88de2273d097fdca0491ff55db891aacbd291/editdistance-0.8.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:5e88efb052d45e924606c305cb833a80579dca3e8e4ff01309d50ba2c1c0bbd5", size = 79142, upload-time = "2024-02-10T07:43:19.195Z" },
+ { url = "https://files.pythonhosted.org/packages/ed/0d/abdbc8e394a9461cf2ae27c16564fadaa65f52bd242dd1582ae5e7736dc3/editdistance-0.8.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0247e7a1e9c66ea75211a97e725366bff19a52aac2c838ed5f90025630e976dd", size = 396768, upload-time = "2024-02-10T07:43:20.912Z" },
+ { url = "https://files.pythonhosted.org/packages/c2/fb/2940d26ebda12efd280ae939436f17ac482930d862df9e774cb8b771ab03/editdistance-0.8.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:67d143429a49ab552411505f550a0fb4285a1d4336e096804d233ec495ac20fc", size = 401846, upload-time = "2024-02-10T07:43:23.169Z" },
+ { url = "https://files.pythonhosted.org/packages/53/cc/c63d75c7f387d4df0645682c1ab8706c2dfe5c9c0c4999723ce9a3ba0853/editdistance-0.8.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ca9d3be2b10e5d44a950a4bd1e84bca9ebbecd364bce0cf5693bf8224c78eaef", size = 397543, upload-time = "2024-02-10T07:43:24.621Z" },
+ { url = "https://files.pythonhosted.org/packages/8e/38/bb0f734a7571e093184606b930734b12da5b6bff2635eba9312fe4536dd9/editdistance-0.8.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:5c72aa1df8535f2e2b3d8773a1a7da091bc1a7e52bb396e7e48d375ba687e7b2", size = 898934, upload-time = "2024-02-10T07:43:26.926Z" },
+ { url = "https://files.pythonhosted.org/packages/1c/9f/624fc7a09918f850a057465f02e86f269e139a457f48ff8cabfb12701756/editdistance-0.8.1-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:9a606c34a2a6cc190e4fffc856b36333cdcf1f1fab5b22bd3088e585c22d6ca0", size = 959637, upload-time = "2024-02-10T07:43:28.997Z" },
+ { url = "https://files.pythonhosted.org/packages/5e/5c/7fa6cc277f91c477ee370807d51c1826891dc6dfc307544223ce7f2687de/editdistance-0.8.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:5af173d442ffac33b7c7990132f97f88818a3abf4b21c0c702a7022df37c0c5c", size = 911024, upload-time = "2024-02-10T07:43:30.449Z" },
+ { url = "https://files.pythonhosted.org/packages/ad/97/556215f71184291155aee340a6d34f0676e7238fdfd10615b6b775ce25fe/editdistance-0.8.1-cp310-cp310-win32.whl", hash = "sha256:fd64b58f5a7b59afd9d75982aaeeacd2a98498bf472fa0360c122ffe6ea4c871", size = 80834, upload-time = "2024-02-10T07:43:31.634Z" },
+ { url = "https://files.pythonhosted.org/packages/c8/d1/7ec5f5cbb95838d0eff7f980a660c81acd1363d658f2f5d4ceba38877c5a/editdistance-0.8.1-cp310-cp310-win_amd64.whl", hash = "sha256:6c7c62c3cae45ca1fa01bb2722b297b9de1e3a244ac44cfba88bdcb488fe6aee", size = 79614, upload-time = "2024-02-10T07:43:33.255Z" },
+ { url = "https://files.pythonhosted.org/packages/e2/dc/d0c29fd52d8f9e795653ed2b838a2a48c739cdfff04ac5b79c6c0ecbdf79/editdistance-0.8.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:486105603a273d73d12a54f347dffa70ab281749d7c3879658b377bc49e4b98c", size = 106079, upload-time = "2024-02-10T07:43:34.34Z" },
+ { url = "https://files.pythonhosted.org/packages/b4/c6/75fa45d7b78fbea6fd894f4e48895a75bd3c83d4a9a6b57673881d74d3e0/editdistance-0.8.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:fad081f5f86a175c1a09a4e9e45b95c9349e454c21e181e842e01c85f1f536fc", size = 80580, upload-time = "2024-02-10T07:43:35.947Z" },
+ { url = "https://files.pythonhosted.org/packages/b7/a3/058d823b6285c3511dc94ed80620c3fb0c18b4aaa708f70ba71f3af28436/editdistance-0.8.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:8cb78e125f6759398885a775f5eed07c2bb72b2f86da43e674c6b6a3335b273b", size = 79087, upload-time = "2024-02-10T07:43:36.923Z" },
+ { url = "https://files.pythonhosted.org/packages/a0/3a/0b13c7864c93b1e9b9952bd2a33c5ef3c4fd1bf70a5fad6924789e70e5eb/editdistance-0.8.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3778ca60aa89def9144b70e330bcec5330c7da1d69cb28c612e90b84510a1d3d", size = 409296, upload-time = "2024-02-10T07:43:38.52Z" },
+ { url = "https://files.pythonhosted.org/packages/96/8a/db0fd79e8ddb9b5f86f274107c5d0a27ec4f2af88877df1f26c2c6d150cc/editdistance-0.8.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fba945eaa0436cf40bc53d7e299dc537c7c71353379a095b7459ff4af910da33", size = 412913, upload-time = "2024-02-10T07:43:39.852Z" },
+ { url = "https://files.pythonhosted.org/packages/0d/d2/98be7112750ff17b436dd76f988f1e38570dcec0df8578ee19ef046f22fe/editdistance-0.8.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:877f2a0d801f32bc1a1878901ffb947b974361e849c66e314a7f1d786a446b58", size = 407430, upload-time = "2024-02-10T07:43:41.048Z" },
+ { url = "https://files.pythonhosted.org/packages/03/62/1815e3bf164910c47ba1948c8b5e937a40c7f9763b64e98fb6666b01dd06/editdistance-0.8.1-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:e79d351ca40a6ead5f3763253fd7521572ee0d3e5d42538630e56d10f48db481", size = 909217, upload-time = "2024-02-10T07:43:42.916Z" },
+ { url = "https://files.pythonhosted.org/packages/0c/d3/a832cea7b507a9be54e4ac3d1340fb66dca5f9c16c70bf38d5039e8fdede/editdistance-0.8.1-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:70ed382b3052a51161bad0149d4665003bf3b949fce0b01bf1253a4cc1a88239", size = 969407, upload-time = "2024-02-10T07:43:44.912Z" },
+ { url = "https://files.pythonhosted.org/packages/a3/b4/db291d2a3845cbf8047b4b5aad3b3e038a8a2994d87027b40e1a1b0f4b74/editdistance-0.8.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:a529bfb384c4000775d76739c4e64f73337f0f5a3784933b1321b577a62bed4e", size = 922112, upload-time = "2024-02-10T07:43:47.047Z" },
+ { url = "https://files.pythonhosted.org/packages/c4/26/7ddeacada4982d0b892a28897e21871d0f25bca165e3663e37c3a272808a/editdistance-0.8.1-cp311-cp311-win32.whl", hash = "sha256:b082232429e731f181af7f7d2bcf79da6ca8fadd04e9086c11e2973f7d330c81", size = 80799, upload-time = "2024-02-10T07:43:48.231Z" },
+ { url = "https://files.pythonhosted.org/packages/52/a1/778af8590b8b12f03f62eacc3c8744407ade9e3d69be6dabe38d0afbf2dd/editdistance-0.8.1-cp311-cp311-win_amd64.whl", hash = "sha256:cef1a4359252a49f2c4718e64e9d40027d9d951b289d045bdb278656e59f6af8", size = 79698, upload-time = "2024-02-10T07:43:49.234Z" },
+ { url = "https://files.pythonhosted.org/packages/cb/4c/7f195588949b4e72436dc7fc902632381f96e586af829685b56daebb38b8/editdistance-0.8.1-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:b04af61b3fcdd287a07c15b6ae3b02af01c5e3e9c3aca76b8c1d13bd266b6f57", size = 106723, upload-time = "2024-02-10T07:43:50.268Z" },
+ { url = "https://files.pythonhosted.org/packages/8d/82/31dc1640d830cd7d36865098329f34e4dad3b77f31cfb9404b347e700196/editdistance-0.8.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:18fc8b6eaae01bfd9cf999af726c1e8dcf667d120e81aa7dbd515bea7427f62f", size = 80998, upload-time = "2024-02-10T07:43:51.259Z" },
+ { url = "https://files.pythonhosted.org/packages/ea/2a/6b823e71cef694d6f070a1d82be2842706fa193541aab8856a8f42044cd0/editdistance-0.8.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:6a87839450a5987028738d061ffa5ef6a68bac2ddc68c9147a8aae9806629c7f", size = 79248, upload-time = "2024-02-10T07:43:52.873Z" },
+ { url = "https://files.pythonhosted.org/packages/e1/31/bfb8e590f922089dc3471ed7828a6da2fc9453eba38c332efa9ee8749fd7/editdistance-0.8.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:24b5f9c9673c823d91b5973d0af8b39f883f414a55ade2b9d097138acd10f31e", size = 415262, upload-time = "2024-02-10T07:43:54.498Z" },
+ { url = "https://files.pythonhosted.org/packages/a9/c7/57423942b2f847cdbbb46494568d00cd8a45500904ea026f0aad6ca01bc7/editdistance-0.8.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c59248eabfad603f0fba47b0c263d5dc728fb01c2b6b50fb6ca187cec547fdb3", size = 418905, upload-time = "2024-02-10T07:43:55.779Z" },
+ { url = "https://files.pythonhosted.org/packages/1b/05/dfa4cdcce063596cbf0d7a32c46cd0f4fa70980311b7da64d35f33ad02a0/editdistance-0.8.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:84e239d88ff52821cf64023fabd06a1d9a07654f364b64bf1284577fd3a79d0e", size = 412511, upload-time = "2024-02-10T07:43:57.567Z" },
+ { url = "https://files.pythonhosted.org/packages/0e/14/39608ff724a9523f187c4e28926d78bc68f2798f74777ac6757981108345/editdistance-0.8.1-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:2f7f71698f83e8c83839ac0d876a0f4ef996c86c5460aebd26d85568d4afd0db", size = 917293, upload-time = "2024-02-10T07:43:59.559Z" },
+ { url = "https://files.pythonhosted.org/packages/df/92/4a1c61d72da40dedfd0ff950fdc71ae83f478330c58a8bccfd776518bd67/editdistance-0.8.1-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:04e229d6f4ce0c12abc9f4cd4023a5b5fa9620226e0207b119c3c2778b036250", size = 975580, upload-time = "2024-02-10T07:44:01.328Z" },
+ { url = "https://files.pythonhosted.org/packages/47/3d/9877566e724c8a37f2228a84ec5cbf66dbfd0673515baf68a0fe07caff40/editdistance-0.8.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:e16721636da6d6b68a2c09eaced35a94f4a4a704ec09f45756d4fd5e128ed18d", size = 929121, upload-time = "2024-02-10T07:44:02.764Z" },
+ { url = "https://files.pythonhosted.org/packages/d2/f5/8c50757d198b8ca30ddb91e8b8f0247a8dca04ff2ec30755245f0ab1ff0c/editdistance-0.8.1-cp312-cp312-win32.whl", hash = "sha256:87533cf2ebc3777088d991947274cd7e1014b9c861a8aa65257bcdc0ee492526", size = 81039, upload-time = "2024-02-10T07:44:04.134Z" },
+ { url = "https://files.pythonhosted.org/packages/28/f0/65101e51dc7c850e7b7581a5d8fa8721a1d7479a0dca6c08386328e19882/editdistance-0.8.1-cp312-cp312-win_amd64.whl", hash = "sha256:09f01ed51746d90178af7dd7ea4ebb41497ef19f53c7f327e864421743dffb0a", size = 79853, upload-time = "2024-02-10T07:44:05.687Z" },
+ { url = "https://files.pythonhosted.org/packages/d4/4c/c9d02eeb47815d35f8d324b52f6704ea7beb032bcb209358cac44047d413/editdistance-0.8.1-pp310-pypy310_pp73-macosx_10_9_x86_64.whl", hash = "sha256:a4a90c6b03094c07358572027a8d0a13cca7450b1aa6caca98a5f1fa4f0b8961", size = 76455, upload-time = "2024-02-10T07:44:36.838Z" },
+ { url = "https://files.pythonhosted.org/packages/af/b0/2818fa6a24595dac069b0bfb9d05658406779a1ded8fd2b0c9066396cf99/editdistance-0.8.1-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:510a4f9ced348a4fd89ae2e102357d4d801a771e29bb2bc2f130a1692193407f", size = 84104, upload-time = "2024-02-10T07:44:37.928Z" },
+ { url = "https://files.pythonhosted.org/packages/1f/d1/3d5e09bcf7fdb7aed705bf74047a8634bd2b8fd92177c25a2547e6dbadfb/editdistance-0.8.1-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4787fa7228ba6a34b430066d174320f011d605015baa7299c2c4911e6ea6bd46", size = 89058, upload-time = "2024-02-10T07:44:39.113Z" },
+ { url = "https://files.pythonhosted.org/packages/cd/88/fca5d7b1a1edf66ce1e5b6b60bff75842e6814b4f5facbdf4585d88c912d/editdistance-0.8.1-pp310-pypy310_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ee02601375073afccd6b4d811129ce1cb696d47db734784d8dbd1fddcea75447", size = 84635, upload-time = "2024-02-10T07:44:40.714Z" },
+ { url = "https://files.pythonhosted.org/packages/a9/91/0e6285bbe2358d81fd16313d30306b2d0036387348f7bc11d8c076ca3c72/editdistance-0.8.1-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:bc7ad9f9a20e6f351523de77c59249f005242e3f317b5de45d02c378d24f6531", size = 77389, upload-time = "2024-02-10T07:44:41.725Z" },
+]
+
+[[package]]
+name = "einops"
+version = "0.8.2"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/2c/77/850bef8d72ffb9219f0b1aac23fbc1bf7d038ee6ea666f331fa273031aa2/einops-0.8.2.tar.gz", hash = "sha256:609da665570e5e265e27283aab09e7f279ade90c4f01bcfca111f3d3e13f2827", size = 56261, upload-time = "2026-01-26T04:13:17.638Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/2a/09/f8d8f8f31e4483c10a906437b4ce31bdf3d6d417b73fe33f1a8b59e34228/einops-0.8.2-py3-none-any.whl", hash = "sha256:54058201ac7087911181bfec4af6091bb59380360f069276601256a76af08193", size = 65638, upload-time = "2026-01-26T04:13:18.546Z" },
+]
+
+[[package]]
+name = "einx"
+version = "0.3.0"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "frozendict" },
+ { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11' or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "numpy", version = "2.3.5", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11' or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "sympy" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/95/af/2a2f83f981e969ae3ec5dc30f9b0cd1a258acabc2ff7b33eb9726e334e55/einx-0.3.0.tar.gz", hash = "sha256:17ff87c6a0f68ab358c1da489f00e95f1de106fd12ff17d0fb3e210aaa1e5f8c", size = 84758, upload-time = "2024-06-11T13:49:37.532Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/90/04/4a730d74fd908daad86d6b313f235cdf8e0cf1c255b392b7174ff63ea81a/einx-0.3.0-py3-none-any.whl", hash = "sha256:367d62bab8dbb8c4937308512abb6f746cc0920990589892ba0d281356d39345", size = 102958, upload-time = "2024-06-11T13:49:36.441Z" },
+]
+
+[[package]]
+name = "email-validator"
+version = "2.3.0"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "dnspython" },
+ { name = "idna" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/f5/22/900cb125c76b7aaa450ce02fd727f452243f2e91a61af068b40adba60ea9/email_validator-2.3.0.tar.gz", hash = "sha256:9fc05c37f2f6cf439ff414f8fc46d917929974a82244c20eb10231ba60c54426", size = 51238, upload-time = "2025-08-26T13:09:06.831Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/de/15/545e2b6cf2e3be84bc1ed85613edd75b8aea69807a71c26f4ca6a9258e82/email_validator-2.3.0-py3-none-any.whl", hash = "sha256:80f13f623413e6b197ae73bb10bf4eb0908faf509ad8362c5edeb0be7fd450b4", size = 35604, upload-time = "2025-08-26T13:09:05.858Z" },
+]
+
+[[package]]
+name = "eunjeon"
+version = "0.4.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/68/90/3232725f974abf6d38f1e2cfd7a6b958337133b3fdc5b3e8994e03d7c2d3/eunjeon-0.4.0.tar.gz", hash = "sha256:60865fbe28537e820ab864cd135467ea277c8182908e2bc364e83e5fd29ef07f", size = 34741800, upload-time = "2019-01-17T00:42:32.268Z" }
+
+[[package]]
+name = "exceptiongroup"
+version = "1.3.1"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "typing-extensions", marker = "python_full_version < '3.11' or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/50/79/66800aadf48771f6b62f7eb014e352e5d06856655206165d775e675a02c9/exceptiongroup-1.3.1.tar.gz", hash = "sha256:8b412432c6055b0b7d14c310000ae93352ed6754f70fa8f7c34141f91c4e3219", size = 30371, upload-time = "2025-11-21T23:01:54.787Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/8a/0e/97c33bf5009bdbac74fd2beace167cab3f978feb69cc36f1ef79360d6c4e/exceptiongroup-1.3.1-py3-none-any.whl", hash = "sha256:a7a39a3bd276781e98394987d3a5701d0c4edffb633bb7a5144577f82c773598", size = 16740, upload-time = "2025-11-21T23:01:53.443Z" },
+]
+
+[[package]]
+name = "fast-langdetect"
+version = "1.0.0"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "fasttext-predict" },
+ { name = "requests" },
+ { name = "robust-downloader" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/53/15/85b0137066be418b6249d8e8d98e2b16c072c65b80c293b9438fdea1be5e/fast_langdetect-1.0.0.tar.gz", hash = "sha256:ea8ac6a8914e0ff1bfc1bbc0f25992eb913ddb69e63ea1b24e907e263d0cd113", size = 796192, upload-time = "2025-09-17T06:32:26.86Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/f6/71/0db1ac89f8661048ebc22d62f503a2e147cb6872c5f2aeb659c1f02c1694/fast_langdetect-1.0.0-py3-none-any.whl", hash = "sha256:aab9e3435cc667ac8ba8b1a38872f75492f65b7087901d0f3a02a88d436cd22a", size = 789944, upload-time = "2025-09-17T06:32:25.363Z" },
+]
+
+[[package]]
+name = "fastapi"
+version = "0.129.0"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "annotated-doc" },
+ { name = "pydantic" },
+ { name = "starlette" },
+ { name = "typing-extensions" },
+ { name = "typing-inspection" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/48/47/75f6bea02e797abff1bca968d5997793898032d9923c1935ae2efdece642/fastapi-0.129.0.tar.gz", hash = "sha256:61315cebd2e65df5f97ec298c888f9de30430dd0612d59d6480beafbc10655af", size = 375450, upload-time = "2026-02-12T13:54:52.541Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/9e/dd/d0ee25348ac58245ee9f90b6f3cbb666bf01f69be7e0911f9851bddbda16/fastapi-0.129.0-py3-none-any.whl", hash = "sha256:b4946880e48f462692b31c083be0432275cbfb6e2274566b1be91479cc1a84ec", size = 102950, upload-time = "2026-02-12T13:54:54.528Z" },
+]
+
+[package.optional-dependencies]
+standard = [
+ { name = "email-validator" },
+ { name = "fastapi-cli", extra = ["standard"] },
+ { name = "httpx" },
+ { name = "jinja2" },
+ { name = "pydantic-extra-types" },
+ { name = "pydantic-settings" },
+ { name = "python-multipart" },
+ { name = "uvicorn", extra = ["standard"] },
+]
+
+[[package]]
+name = "fastapi-cli"
+version = "0.0.23"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "rich-toolkit" },
+ { name = "tomli", marker = "python_full_version < '3.11' or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "typer" },
+ { name = "uvicorn", extra = ["standard"] },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/71/9f/cbd463e57de4e977b8ea0403f95347f9150441568b1d3fe3e4949ef80ef3/fastapi_cli-0.0.23.tar.gz", hash = "sha256:210ac280ea41e73aac5a57688781256beb23c2cba3a41266896fa43e6445c8e7", size = 19763, upload-time = "2026-02-16T19:45:53.358Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/68/89/19dcfd5cd289b306abdcabac68b88a4f54b7710a2c33adc16a337ecdcdfa/fastapi_cli-0.0.23-py3-none-any.whl", hash = "sha256:7e9634fc212da0b6cfc75bd3ac366cc9dfdb43b5e9ec12e58bfd1acdd2697f25", size = 12305, upload-time = "2026-02-16T19:45:52.554Z" },
+]
+
+[package.optional-dependencies]
+standard = [
+ { name = "fastapi-cloud-cli" },
+ { name = "uvicorn", extra = ["standard"] },
+]
+
+[[package]]
+name = "fastapi-cloud-cli"
+version = "0.12.0"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "fastar" },
+ { name = "httpx" },
+ { name = "pydantic", extra = ["email"] },
+ { name = "rich-toolkit" },
+ { name = "rignore" },
+ { name = "sentry-sdk" },
+ { name = "typer" },
+ { name = "uvicorn", extra = ["standard"] },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/1b/59/3def056ec8350df78a0786b7ca40a167cbf28ac26552ced4e19e1f83e872/fastapi_cloud_cli-0.12.0.tar.gz", hash = "sha256:c897d1d5e27f5b4148ed2601076785155ec8fb385a6a62d3e8801880f929629f", size = 38508, upload-time = "2026-02-13T19:39:57.877Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/a3/6f/badabb5a21388b0af2b9cd0c2a5d81aaecfca57bf382872890e802eaed98/fastapi_cloud_cli-0.12.0-py3-none-any.whl", hash = "sha256:9c666c2ab1684cee48a5b0a29ac1ae0bd395b9a13bf6858448b4369ea68beda1", size = 27735, upload-time = "2026-02-13T19:39:58.705Z" },
+]
+
+[[package]]
+name = "fastar"
+version = "0.8.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/69/e7/f89d54fb04104114dd0552836dc2b47914f416cc0e200b409dd04a33de5e/fastar-0.8.0.tar.gz", hash = "sha256:f4d4d68dbf1c4c2808f0e730fac5843493fc849f70fe3ad3af60dfbaf68b9a12", size = 68524, upload-time = "2025-11-26T02:36:00.72Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/c3/e2/51d9ee443aabcd5aa581d45b18b6198ced364b5cd97e5504c5d782ceb82c/fastar-0.8.0-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:c9f930cff014cf79d396d0541bd9f3a3f170c9b5e45d10d634d98f9ed08788c3", size = 708536, upload-time = "2025-11-26T02:34:35.236Z" },
+ { url = "https://files.pythonhosted.org/packages/07/2a/edfc6274768b8a3859a5ca4f8c29cb7f614d7f27d2378e2c88aa91cda54e/fastar-0.8.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:07b70f712d20622346531a4b46bb332569bea621f61314c0b7e80903a16d14cf", size = 632235, upload-time = "2025-11-26T02:34:19.367Z" },
+ { url = "https://files.pythonhosted.org/packages/ef/1e/3cfbaaec464caef196700ee2ffae1c03f94f7c5e2a85d0ec0ea9cdd1da81/fastar-0.8.0-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:330639db3bfba4c6d132421a2a4aeb81e7bea8ce9159cdb6e247fbc5fae97686", size = 871386, upload-time = "2025-11-26T02:33:47.613Z" },
+ { url = "https://files.pythonhosted.org/packages/82/50/224a674ad541054179e4e6e0b54bb6e162f04f698a2512b42a8085fc6b6f/fastar-0.8.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:98ea7ceb6231e48d7bb0d7dc13e946baa29c7f6873eaf4afb69725d6da349033", size = 764955, upload-time = "2025-11-26T02:32:44.279Z" },
+ { url = "https://files.pythonhosted.org/packages/4d/5e/4608184aa57cb6a54f62c1eb3e5133ba8d461fc7f13193c0255effbec12a/fastar-0.8.0-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:a90695a601a78bbca910fdf2efcdf3103c55d0de5a5c6e93556d707bf886250b", size = 765987, upload-time = "2025-11-26T02:32:59.701Z" },
+ { url = "https://files.pythonhosted.org/packages/e0/53/6afd2b680dddfa10df9a16bbcf6cabfee0d92435d5c7e3f4cfe3b1712662/fastar-0.8.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9d0bf655ff4c9320b0ca8a5b128063d5093c0c8c1645a2b5f7167143fd8531aa", size = 930900, upload-time = "2025-11-26T02:33:16.059Z" },
+ { url = "https://files.pythonhosted.org/packages/ef/1e/b7a304bfcc1d06845cbfa4b464516f6fff9c8c6692f6ef80a3a86b04e199/fastar-0.8.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d8df22cdd8d58e7689aa89b2e4a07e8e5fa4f88d2d9c2621f0e88a49be97ccea", size = 821523, upload-time = "2025-11-26T02:33:30.897Z" },
+ { url = "https://files.pythonhosted.org/packages/1d/da/9ef8605c6d233cd6ca3a95f7f518ac22aa064903afe6afa57733bfb7c31b/fastar-0.8.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e8a5e6ad722685128521c8fb44cf25bd38669650ba3a4b466b8903e5aa28e1a0", size = 821268, upload-time = "2025-11-26T02:34:04.003Z" },
+ { url = "https://files.pythonhosted.org/packages/7e/22/ed37c78a6b4420de1677d82e79742787975c34847229c33dc376334c7283/fastar-0.8.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:31cd541231a2456e32104da891cf9962c3b40234d0465cbf9322a6bc8a1b05d5", size = 986286, upload-time = "2025-11-26T02:34:50.279Z" },
+ { url = "https://files.pythonhosted.org/packages/ca/a6/366b15f432d85d4089e6e4b52a09cc2a2bcf4d7a1f0771e3d3194deccb1e/fastar-0.8.0-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:175db2a98d67ced106468e8987975484f8bbbd5ad99201da823b38bafb565ed5", size = 1041921, upload-time = "2025-11-26T02:35:07.292Z" },
+ { url = "https://files.pythonhosted.org/packages/f4/45/45f8e6991e3ce9f8aeefdc8d4c200daada41097a36808643d1703464c3e2/fastar-0.8.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:ada877ab1c65197d772ce1b1c2e244d4799680d8b3f136a4308360f3d8661b23", size = 1047302, upload-time = "2025-11-26T02:35:24.995Z" },
+ { url = "https://files.pythonhosted.org/packages/c2/e2/a587796111a3cd4b78cd61ec3fc1252d8517d81f763f4164ed5680f84810/fastar-0.8.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:01084cb75f13ca6a8e80bd41584322523189f8e81b472053743d6e6c3062b5a6", size = 995141, upload-time = "2025-11-26T02:35:42.449Z" },
+ { url = "https://files.pythonhosted.org/packages/89/c0/7a8ec86695b0b77168e220cf2af1aa30592f5ecdbd0ce6d641d29c4a8bae/fastar-0.8.0-cp310-cp310-win32.whl", hash = "sha256:ca639b9909805e44364ea13cca2682b487e74826e4ad75957115ec693228d6b6", size = 456544, upload-time = "2025-11-26T02:36:23.801Z" },
+ { url = "https://files.pythonhosted.org/packages/be/a9/8da4deb840121c59deabd939ce2dca3d6beec85576f3743d1144441938b5/fastar-0.8.0-cp310-cp310-win_amd64.whl", hash = "sha256:fbc0f2ed0f4add7fb58034c576584d44d7eaaf93dee721dfb26dbed6e222dbac", size = 490701, upload-time = "2025-11-26T02:36:09.625Z" },
+ { url = "https://files.pythonhosted.org/packages/cd/15/1c764530b81b266f6d27d78d49b6bef22a73b3300cd83a280bfd244908c5/fastar-0.8.0-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:cd9c0d3ebf7a0a6f642f771cf41b79f7c98d40a3072a8abe1174fbd9bd615bd3", size = 708427, upload-time = "2025-11-26T02:34:36.502Z" },
+ { url = "https://files.pythonhosted.org/packages/41/fc/75d42c008516543219e4293e4d8ac55da57a5c63147484f10468bd1bc24e/fastar-0.8.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:2875a077340fe4f8099bd3ed8fa90d9595e1ac3cd62ae19ab690d5bf550eeb35", size = 631740, upload-time = "2025-11-26T02:34:20.718Z" },
+ { url = "https://files.pythonhosted.org/packages/50/8d/9632984f7824ed2210157dcebd8e9821ef6d4f2b28510d0516db6625ff9b/fastar-0.8.0-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:a999263d9f87184bf2801833b2ecf105e03c0dd91cac78685673b70da564fd64", size = 871628, upload-time = "2025-11-26T02:33:49.279Z" },
+ { url = "https://files.pythonhosted.org/packages/05/97/3eb6ea71b7544d45cd29cacb764ca23cde8ce0aed1a6a02251caa4c0a818/fastar-0.8.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5c41111da56430f638cbfc498ebdcc7d30f63416e904b27b7695c29bd4889cb8", size = 765005, upload-time = "2025-11-26T02:32:45.833Z" },
+ { url = "https://files.pythonhosted.org/packages/d6/45/3eb0ee945a0b5d5f9df7e7c25c037ce7fa441cd0b4d44f76d286e2f4396a/fastar-0.8.0-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:3719541a12bb09ab1eae91d2c987a9b2b7d7149c52e7109ba6e15b74aabc49b1", size = 765587, upload-time = "2025-11-26T02:33:01.174Z" },
+ { url = "https://files.pythonhosted.org/packages/51/bb/7defd6ec0d9570b1987d8ebde52d07d97f3f26e10b592fb3e12738eba39a/fastar-0.8.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:7a9b0fff8079b18acdface7ef1b7f522fd9a589f65ca4a1a0dd7c92a0886c2a2", size = 931150, upload-time = "2025-11-26T02:33:17.374Z" },
+ { url = "https://files.pythonhosted.org/packages/28/54/62e51e684dab347c61878afbf09e177029c1a91eb1e39ef244e6b3ef9efa/fastar-0.8.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ac073576c1931959191cb20df38bab21dd152f66c940aa3ca8b22e39f753b2f3", size = 821354, upload-time = "2025-11-26T02:33:32.083Z" },
+ { url = "https://files.pythonhosted.org/packages/53/a8/12708ea4d21e3cf9f485b2a67d44ce84d949a6eddcc9aa5b3d324585ab43/fastar-0.8.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:003b59a7c3e405b6a7bff8fab17d31e0ccbc7f06730a8f8ca1694eeea75f3c76", size = 821626, upload-time = "2025-11-26T02:34:05.685Z" },
+ { url = "https://files.pythonhosted.org/packages/e7/c4/1b4d3347c7a759853f963410bf6baf42fe014d587c50c39c8e145f4bf1a0/fastar-0.8.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:a7b96748425efd9fc155cd920d65088a1b0d754421962418ea73413d02ff515a", size = 986187, upload-time = "2025-11-26T02:34:52.047Z" },
+ { url = "https://files.pythonhosted.org/packages/dc/59/2dbe0dc2570764475e60030403738faa261a9d3bff16b08629c378ab939a/fastar-0.8.0-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:90957a30e64418b02df5b4d525bea50403d98a4b1f29143ce5914ddfa7e54ee4", size = 1041536, upload-time = "2025-11-26T02:35:08.926Z" },
+ { url = "https://files.pythonhosted.org/packages/d9/0f/639b295669c7ca6fbc2b4be2a7832aaeac1a5e06923f15a8a6d6daecbc7d/fastar-0.8.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:f6e784a8015623fbb7ccca1af372fd82cb511b408ddd2348dc929fc6e415df73", size = 1047149, upload-time = "2025-11-26T02:35:26.597Z" },
+ { url = "https://files.pythonhosted.org/packages/cb/e7/23e3a19e06d261d1894f98eca9458f98c090c505a0c712dafc0ff1fc2965/fastar-0.8.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:a03eaf287bbc93064688a1220580ce261e7557c8898f687f4d0b281c85b28d3c", size = 994992, upload-time = "2025-11-26T02:35:44.009Z" },
+ { url = "https://files.pythonhosted.org/packages/f2/7a/3ea4726bae3ac9358d02107ae48f3e10ee186dbed554af79e00b7b498c44/fastar-0.8.0-cp311-cp311-win32.whl", hash = "sha256:661a47ed90762f419406c47e802f46af63a08254ba96abd1c8191e4ce967b665", size = 456449, upload-time = "2025-11-26T02:36:25.291Z" },
+ { url = "https://files.pythonhosted.org/packages/cb/3c/0142bee993c431ee91cf5535e6e4b079ad491f620c215fcd79b7e5ffeb2b/fastar-0.8.0-cp311-cp311-win_amd64.whl", hash = "sha256:b48abd6056fef7bc3d414aafb453c5b07fdf06d2df5a2841d650288a3aa1e9d3", size = 490863, upload-time = "2025-11-26T02:36:11.114Z" },
+ { url = "https://files.pythonhosted.org/packages/3b/18/d119944f6bdbf6e722e204e36db86390ea45684a1bf6be6e3aa42abd471f/fastar-0.8.0-cp311-cp311-win_arm64.whl", hash = "sha256:50c18788b3c6ffb85e176dcb8548bb8e54616a0519dcdbbfba66f6bbc4316933", size = 462230, upload-time = "2025-11-26T02:36:01.917Z" },
+ { url = "https://files.pythonhosted.org/packages/58/f1/5b2ff898abac7f1a418284aad285e3a4f68d189c572ab2db0f6c9079dd16/fastar-0.8.0-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:0f10d2adfe40f47ff228f4efaa32d409d732ded98580e03ed37c9535b5fc923d", size = 706369, upload-time = "2025-11-26T02:34:37.783Z" },
+ { url = "https://files.pythonhosted.org/packages/23/60/8046a386dca39154f80c927cbbeeb4b1c1267a3271bffe61552eb9995757/fastar-0.8.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:b930da9d598e3bc69513d131f397e6d6be4643926ef3de5d33d1e826631eb036", size = 629097, upload-time = "2025-11-26T02:34:21.888Z" },
+ { url = "https://files.pythonhosted.org/packages/22/7e/1ae005addc789924a9268da2394d3bb5c6f96836f7e37b7e3d23c2362675/fastar-0.8.0-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:9d210da2de733ca801de83e931012349d209f38b92d9630ccaa94bd445bdc9b8", size = 868938, upload-time = "2025-11-26T02:33:51.119Z" },
+ { url = "https://files.pythonhosted.org/packages/a6/77/290a892b073b84bf82e6b2259708dfe79c54f356e252c2dd40180b16fe07/fastar-0.8.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:aa02270721517078a5bd61a38719070ac2537a4aa6b6c48cf369cf2abc59174a", size = 765204, upload-time = "2025-11-26T02:32:47.02Z" },
+ { url = "https://files.pythonhosted.org/packages/d0/00/c3155171b976003af3281f5258189f1935b15d1221bfc7467b478c631216/fastar-0.8.0-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:83c391e5b789a720e4d0029b9559f5d6dee3226693c5b39c0eab8eaece997e0f", size = 764717, upload-time = "2025-11-26T02:33:02.453Z" },
+ { url = "https://files.pythonhosted.org/packages/b7/43/405b7ad76207b2c11b7b59335b70eac19e4a2653977f5588a1ac8fed54f4/fastar-0.8.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3258d7a78a72793cdd081545da61cabe85b1f37634a1d0b97ffee0ff11d105ef", size = 931502, upload-time = "2025-11-26T02:33:18.619Z" },
+ { url = "https://files.pythonhosted.org/packages/da/8a/a3dde6d37cc3da4453f2845cdf16675b5686b73b164f37e2cc579b057c2c/fastar-0.8.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e6eab95dd985cdb6a50666cbeb9e4814676e59cfe52039c880b69d67cfd44767", size = 821454, upload-time = "2025-11-26T02:33:33.427Z" },
+ { url = "https://files.pythonhosted.org/packages/da/c1/904fe2468609c8990dce9fe654df3fbc7324a8d8e80d8240ae2c89757064/fastar-0.8.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:829b1854166141860887273c116c94e31357213fa8e9fe8baeb18bd6c38aa8d9", size = 821647, upload-time = "2025-11-26T02:34:07Z" },
+ { url = "https://files.pythonhosted.org/packages/c8/73/a0642ab7a400bc07528091785e868ace598fde06fcd139b8f865ec1b6f3c/fastar-0.8.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:b1667eae13f9457a3c737f4376d68e8c3e548353538b28f7e4273a30cb3965cd", size = 986342, upload-time = "2025-11-26T02:34:53.371Z" },
+ { url = "https://files.pythonhosted.org/packages/af/af/60c1bfa6edab72366461a95f053d0f5f7ab1825fe65ca2ca367432cd8629/fastar-0.8.0-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:b864a95229a7db0814cd9ef7987cb713fd43dce1b0d809dd17d9cd6f02fdde3e", size = 1040207, upload-time = "2025-11-26T02:35:10.65Z" },
+ { url = "https://files.pythonhosted.org/packages/f6/a0/0d624290dec622e7fa084b6881f456809f68777d54a314f5dde932714506/fastar-0.8.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:c05fbc5618ce17675a42576fa49858d79734627f0a0c74c0875ab45ee8de340c", size = 1045031, upload-time = "2025-11-26T02:35:28.108Z" },
+ { url = "https://files.pythonhosted.org/packages/a7/74/cf663af53c4706ba88e6b4af44a6b0c3bd7d7ca09f079dc40647a8f06585/fastar-0.8.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:7f41c51ee96f338662ee3c3df4840511ba3f9969606840f1b10b7cb633a3c716", size = 994877, upload-time = "2025-11-26T02:35:45.797Z" },
+ { url = "https://files.pythonhosted.org/packages/52/17/444c8be6e77206050e350da7c338102b6cab384be937fa0b1d6d1f9ede73/fastar-0.8.0-cp312-cp312-win32.whl", hash = "sha256:d949a1a2ea7968b734632c009df0571c94636a5e1622c87a6e2bf712a7334f47", size = 455996, upload-time = "2025-11-26T02:36:26.938Z" },
+ { url = "https://files.pythonhosted.org/packages/dc/34/fc3b5e56d71a17b1904800003d9251716e8fd65f662e1b10a26881698a74/fastar-0.8.0-cp312-cp312-win_amd64.whl", hash = "sha256:fc645994d5b927d769121094e8a649b09923b3c13a8b0b98696d8f853f23c532", size = 490429, upload-time = "2025-11-26T02:36:12.707Z" },
+ { url = "https://files.pythonhosted.org/packages/35/a8/5608cc837417107c594e2e7be850b9365bcb05e99645966a5d6a156285fe/fastar-0.8.0-cp312-cp312-win_arm64.whl", hash = "sha256:d81ee82e8dc78a0adb81728383bd39611177d642a8fa2d601d4ad5ad59e5f3bd", size = 461297, upload-time = "2025-11-26T02:36:03.546Z" },
+ { url = "https://files.pythonhosted.org/packages/d1/a5/79ecba3646e22d03eef1a66fb7fc156567213e2e4ab9faab3bbd4489e483/fastar-0.8.0-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:a3253a06845462ca2196024c7a18f5c0ba4de1532ab1c4bad23a40b332a06a6a", size = 706112, upload-time = "2025-11-26T02:34:39.237Z" },
+ { url = "https://files.pythonhosted.org/packages/0a/03/4f883bce878218a8676c2d7ca09b50c856a5470bb3b7f63baf9521ea6995/fastar-0.8.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:5cbeb3ebfa0980c68ff8b126295cc6b208ccd81b638aebc5a723d810a7a0e5d2", size = 628954, upload-time = "2025-11-26T02:34:23.705Z" },
+ { url = "https://files.pythonhosted.org/packages/4f/f1/892e471f156b03d10ba48ace9384f5a896702a54506137462545f38e40b8/fastar-0.8.0-cp313-cp313-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:1c0d5956b917daac77d333d48b3f0f3ff927b8039d5b32d8125462782369f761", size = 868685, upload-time = "2025-11-26T02:33:53.077Z" },
+ { url = "https://files.pythonhosted.org/packages/39/ba/e24915045852e30014ec6840446975c03f4234d1c9270394b51d3ad18394/fastar-0.8.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:27b404db2b786b65912927ce7f3790964a4bcbde42cdd13091b82a89cd655e1c", size = 765044, upload-time = "2025-11-26T02:32:48.187Z" },
+ { url = "https://files.pythonhosted.org/packages/14/2c/1aa11ac21a99984864c2fca4994e094319ff3a2046e7a0343c39317bd5b9/fastar-0.8.0-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:0902fc89dcf1e7f07b8563032a4159fe2b835e4c16942c76fd63451d0e5f76a3", size = 764322, upload-time = "2025-11-26T02:33:03.859Z" },
+ { url = "https://files.pythonhosted.org/packages/ba/f0/4b91902af39fe2d3bae7c85c6d789586b9fbcf618d7fdb3d37323915906d/fastar-0.8.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:069347e2f0f7a8b99bbac8cd1bc0e06c7b4a31dc964fc60d84b95eab3d869dc1", size = 931016, upload-time = "2025-11-26T02:33:19.902Z" },
+ { url = "https://files.pythonhosted.org/packages/c9/97/8fc43a5a9c0a2dc195730f6f7a0f367d171282cd8be2511d0e87c6d2dad0/fastar-0.8.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7fd135306f6bfe9a835918280e0eb440b70ab303e0187d90ab51ca86e143f70d", size = 821308, upload-time = "2025-11-26T02:33:34.664Z" },
+ { url = "https://files.pythonhosted.org/packages/0c/e9/058615b63a7fd27965e8c5966f393ed0c169f7ff5012e1674f21684de3ba/fastar-0.8.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:78d06d6897f43c27154b5f2d0eb930a43a81b7eec73f6f0b0114814d4a10ab38", size = 821171, upload-time = "2025-11-26T02:34:08.498Z" },
+ { url = "https://files.pythonhosted.org/packages/ca/cf/69e16a17961570a755c37ffb5b5aa7610d2e77807625f537989da66f2a9d/fastar-0.8.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:a922f8439231fa0c32b15e8d70ff6d415619b9d40492029dabbc14a0c53b5f18", size = 986227, upload-time = "2025-11-26T02:34:55.06Z" },
+ { url = "https://files.pythonhosted.org/packages/fb/83/2100192372e59b56f4ace37d7d9cabda511afd71b5febad1643d1c334271/fastar-0.8.0-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:a739abd51eb766384b4caff83050888e80cd75bbcfec61e6d1e64875f94e4a40", size = 1039395, upload-time = "2025-11-26T02:35:12.166Z" },
+ { url = "https://files.pythonhosted.org/packages/75/15/cdd03aca972f55872efbb7cf7540c3fa7b97a75d626303a3ea46932163dc/fastar-0.8.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:5a65f419d808b23ac89d5cd1b13a2f340f15bc5d1d9af79f39fdb77bba48ff1b", size = 1044766, upload-time = "2025-11-26T02:35:29.62Z" },
+ { url = "https://files.pythonhosted.org/packages/3d/29/945e69e4e2652329ace545999334ec31f1431fbae3abb0105587e11af2ae/fastar-0.8.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:7bb2ae6c0cce58f0db1c9f20495e7557cca2c1ee9c69bbd90eafd54f139171c5", size = 994740, upload-time = "2025-11-26T02:35:47.887Z" },
+ { url = "https://files.pythonhosted.org/packages/4b/5d/dbfe28f8cd1eb484bba0c62e5259b2cf6fea229d6ef43e05c06b5a78c034/fastar-0.8.0-cp313-cp313-win32.whl", hash = "sha256:b28753e0d18a643272597cb16d39f1053842aa43131ad3e260c03a2417d38401", size = 455990, upload-time = "2025-11-26T02:36:28.502Z" },
+ { url = "https://files.pythonhosted.org/packages/e1/01/e965740bd36e60ef4c5aa2cbe42b6c4eb1dc3551009238a97c2e5e96bd23/fastar-0.8.0-cp313-cp313-win_amd64.whl", hash = "sha256:620e5d737dce8321d49a5ebb7997f1fd0047cde3512082c27dc66d6ac8c1927a", size = 490227, upload-time = "2025-11-26T02:36:14.363Z" },
+ { url = "https://files.pythonhosted.org/packages/dd/10/c99202719b83e5249f26902ae53a05aea67d840eeb242019322f20fc171c/fastar-0.8.0-cp313-cp313-win_arm64.whl", hash = "sha256:c4c4bd08df563120cd33e854fe0a93b81579e8571b11f9b7da9e84c37da2d6b6", size = 461078, upload-time = "2025-11-26T02:36:04.94Z" },
+ { url = "https://files.pythonhosted.org/packages/25/9f/6eaa810c240236eff2edf736cd50a17c97dbab1693cda4f7bcea09d13418/fastar-0.8.0-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:2127cf2e80ffd49744a160201e0e2f55198af6c028a7b3f750026e0b1f1caa4e", size = 710544, upload-time = "2025-11-26T02:34:46.195Z" },
+ { url = "https://files.pythonhosted.org/packages/1d/a5/58ff9e49a1cd5fbfc8f1238226cbf83b905376a391a6622cdd396b2cfa29/fastar-0.8.0-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:ff85094f10003801339ac4fa9b20a3410c2d8f284d4cba2dc99de6e98c877812", size = 634020, upload-time = "2025-11-26T02:34:31.085Z" },
+ { url = "https://files.pythonhosted.org/packages/80/94/f839257c6600a83fbdb5a7fcc06319599086137b25ba38ca3d2c0fe14562/fastar-0.8.0-pp310-pypy310_pp73-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:3dbca235f0bd804cca6602fe055d3892bebf95fb802e6c6c7d872fb10f7abc6c", size = 871735, upload-time = "2025-11-26T02:34:00.088Z" },
+ { url = "https://files.pythonhosted.org/packages/eb/79/4124c54260f7ee5cb7034bfe499eff2f8512b052d54be4671e59d4f25a4f/fastar-0.8.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:722e54bfdee6c81a0005e147319e93d8797f442308032c92fa28d03ef8fda076", size = 766779, upload-time = "2025-11-26T02:32:55.109Z" },
+ { url = "https://files.pythonhosted.org/packages/36/b6/043b263c4126bf6557c942d099503989af9c5c7ee5cca9a04e00f754816f/fastar-0.8.0-pp310-pypy310_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:0a78e5221b94a80800930b7fd0d0e797ae73aadf7044c05ed46cb9bdf870f022", size = 766755, upload-time = "2025-11-26T02:33:11.595Z" },
+ { url = "https://files.pythonhosted.org/packages/57/ff/29a5dc06f2940439ebf98661ecc98d48d3f22fed8d6a2d5dc985d1e8da24/fastar-0.8.0-pp310-pypy310_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:997092d31ff451de8d0568f6773f3517cb87dcd0bc76184edb65d7154390a6f8", size = 932732, upload-time = "2025-11-26T02:33:27.122Z" },
+ { url = "https://files.pythonhosted.org/packages/eb/e8/2218830f422b37aad52c24b53cb84b5d88bd6fd6ad411bd6689b1a32500d/fastar-0.8.0-pp310-pypy310_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:558e8fcf8fe574541df5db14a46cd98bfbed14a811b7014a54f2b714c0cfac42", size = 822571, upload-time = "2025-11-26T02:33:42.986Z" },
+ { url = "https://files.pythonhosted.org/packages/6e/fd/ba6dfeff77cddfe58d85c490b1735c002b81c0d6f826916a8b6c4f8818bc/fastar-0.8.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f1d2a54f87e2908cc19e1a6ee249620174fbefc54a219aba1eaa6f31657683c3", size = 822440, upload-time = "2025-11-26T02:34:15.439Z" },
+ { url = "https://files.pythonhosted.org/packages/a7/57/54d5740c84b35de0eb12975397ecc16785b5ad8bed2dbac38b8c8a7c1edd/fastar-0.8.0-pp310-pypy310_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:ef94901537be277f9ec59db939eb817960496c6351afede5b102699b5098604d", size = 987424, upload-time = "2025-11-26T02:35:02.742Z" },
+ { url = "https://files.pythonhosted.org/packages/ee/c7/18115927f16deb1ddffdbd4ae992e7e33064bc6defa2b92a147948f8bc0c/fastar-0.8.0-pp310-pypy310_pp73-musllinux_1_2_armv7l.whl", hash = "sha256:0afbb92f78bf29d5e9db76fb46cbabc429e49015cddf72ab9e761afbe88ac100", size = 1042675, upload-time = "2025-11-26T02:35:20.252Z" },
+ { url = "https://files.pythonhosted.org/packages/d7/1a/ca884fc7973ec6d765e87af23a4dd25784fb0a36ac2df825f18c3630bbab/fastar-0.8.0-pp310-pypy310_pp73-musllinux_1_2_i686.whl", hash = "sha256:fb59c7925e7710ad178d9e1a3e65edf295d9a042a0cdcb673b4040949eb8ad0a", size = 1047098, upload-time = "2025-11-26T02:35:37.643Z" },
+ { url = "https://files.pythonhosted.org/packages/44/ee/25cd645db749b206bb95e1512e57e75d56ccbbb8ec3536f52a7979deab6b/fastar-0.8.0-pp310-pypy310_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:e6c4d6329da568ec36b1347b0c09c4d27f9dfdeddf9f438ddb16799ecf170098", size = 997397, upload-time = "2025-11-26T02:35:56.215Z" },
+ { url = "https://files.pythonhosted.org/packages/98/6e/6c46aa7f8c8734e7f96ee5141acd3877667ce66f34eea10703aa7571d191/fastar-0.8.0-pp311-pypy311_pp73-macosx_10_12_x86_64.whl", hash = "sha256:998e3fa4b555b63eb134e6758437ed739ad1652fdd2a61dfe1dacbfddc35fe66", size = 710662, upload-time = "2025-11-26T02:34:47.593Z" },
+ { url = "https://files.pythonhosted.org/packages/70/27/fd622442f2fbd4ff5459677987481ef1c60e077cb4e63a2ed4d8dce6f869/fastar-0.8.0-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:5f83e60d845091f3a12bc37f412774264d161576eaf810ed8b43567eb934b7e5", size = 634049, upload-time = "2025-11-26T02:34:32.365Z" },
+ { url = "https://files.pythonhosted.org/packages/8f/ee/aa4d08aea25b5419a7277132e738ab1cd775f26aebddce11413b07e2fdff/fastar-0.8.0-pp311-pypy311_pp73-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:299672e1c74d8b73c61684fac9159cfc063d35f4b165996a88facb0e26862cb5", size = 872055, upload-time = "2025-11-26T02:34:01.377Z" },
+ { url = "https://files.pythonhosted.org/packages/92/9a/2bf2f77aade575e67997e0c759fd55cb1c66b7a5b437b1cd0e97d8b241bc/fastar-0.8.0-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a3d3a27066b84d015deab5faee78565509bb33b137896443e4144cb1be1a5f90", size = 766787, upload-time = "2025-11-26T02:32:57.161Z" },
+ { url = "https://files.pythonhosted.org/packages/0b/90/23a3f6c252f11b10c70f854bce09abc61f71b5a0e6a4b0eac2bcb9a2c583/fastar-0.8.0-pp311-pypy311_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:ef0bcf4385bbdd3c1acecce2d9ea7dab7cc9b8ee0581bbccb7ab11908a7ce288", size = 766861, upload-time = "2025-11-26T02:33:12.824Z" },
+ { url = "https://files.pythonhosted.org/packages/76/bb/beeb9078380acd4484db5c957d066171695d9340e3526398eb230127b0c2/fastar-0.8.0-pp311-pypy311_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f10ef62b6eda6cb6fd9ba8e1fe08a07d7b2bdcc8eaa00eb91566143b92ed7eee", size = 932667, upload-time = "2025-11-26T02:33:28.405Z" },
+ { url = "https://files.pythonhosted.org/packages/f4/6d/b034cc637bd0ee638d5a85d08e941b0b8ffd44cf391fb751ba98233734f7/fastar-0.8.0-pp311-pypy311_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c4f6c82a8ee98c17aa48585ee73b51c89c1b010e5c951af83e07c3436180e3fc", size = 822712, upload-time = "2025-11-26T02:33:44.27Z" },
+ { url = "https://files.pythonhosted.org/packages/e2/2b/7d183c63f59227c4689792042d6647f2586a5e7273b55e81745063088d81/fastar-0.8.0-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c6129067fcb86276635b5857010f4e9b9c7d5d15dd571bb03c6c1ed73c40fd92", size = 822659, upload-time = "2025-11-26T02:34:16.815Z" },
+ { url = "https://files.pythonhosted.org/packages/3e/f9/716e0cd9de2427fdf766bc68176f76226cd01fffef3a56c5046fa863f5f0/fastar-0.8.0-pp311-pypy311_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:4cc9e77019e489f1ddac446b6a5b9dfb5c3d9abd142652c22a1d9415dbcc0e47", size = 987412, upload-time = "2025-11-26T02:35:04.259Z" },
+ { url = "https://files.pythonhosted.org/packages/a4/b9/9a8c3fd59958c1c8027bc075af11722cdc62c4968bb277e841d131232289/fastar-0.8.0-pp311-pypy311_pp73-musllinux_1_2_armv7l.whl", hash = "sha256:382bfe82c026086487cb17fee12f4c1e2b4e67ce230f2e04487d3e7ddfd69031", size = 1042911, upload-time = "2025-11-26T02:35:21.857Z" },
+ { url = "https://files.pythonhosted.org/packages/e2/2f/c3f30963b47022134b8a231c12845f4d7cfba520f59bbc1a82468aea77c7/fastar-0.8.0-pp311-pypy311_pp73-musllinux_1_2_i686.whl", hash = "sha256:908d2b9a1ff3d549cc304b32f95706a536da8f0bcb0bc0f9e4c1cce39b80e218", size = 1047464, upload-time = "2025-11-26T02:35:39.376Z" },
+ { url = "https://files.pythonhosted.org/packages/9e/8a/218ab6d9a2bab3b07718e6cd8405529600edc1e9c266320e8524c8f63251/fastar-0.8.0-pp311-pypy311_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:1aa7dbde2d2d73eb5b6203d0f74875cb66350f0f1b4325b4839fc8fbbf5d074e", size = 997309, upload-time = "2025-11-26T02:35:57.722Z" },
+]
+
+[[package]]
+name = "faster-whisper"
+version = "1.2.1"
+source = { registry = "https://pypi.org/simple" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/05/99/49ee85903dee060d9f08297b4a342e5e0bcfca2f027a07b4ee0a38ab13f9/faster_whisper-1.2.1-py3-none-any.whl", hash = "sha256:79a66ad50688c0b794dd501dc340a736992a6342f7f95e5811be60b5224a26a7", size = 1118909, upload-time = "2025-10-31T11:35:47.794Z" },
+]
+
+[[package]]
+name = "fasttext-predict"
+version = "0.9.2.4"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/fc/0e/9defbb9385bcb1104cc1d686a14f7d9fafe5fe43f220cccb00f33d91bb47/fasttext_predict-0.9.2.4.tar.gz", hash = "sha256:18a6fb0d74c7df9280db1f96cb75d990bfd004fa9d669493ea3dd3d54f84dbc7", size = 16332, upload-time = "2024-11-23T17:24:44.801Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/fc/ee/2350a58c071f873a454aae6bf60900fc3ddb024da3478407ac2057cbc757/fasttext_predict-0.9.2.4-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:ba432f33228928df5f2af6dfa50560cd77f9859914cffd652303fb02ba100456", size = 103885, upload-time = "2024-11-23T17:22:42.533Z" },
+ { url = "https://files.pythonhosted.org/packages/fd/68/e2f8a82c02b6c4333d454a1b0464942d3dae92e4657c08411035c99fe074/fasttext_predict-0.9.2.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:6a8e8f17eb894d450168d2590e23d809e845bd4fad5e39b5708dacb2fdb9b2c7", size = 96415, upload-time = "2024-11-23T17:22:44.452Z" },
+ { url = "https://files.pythonhosted.org/packages/a0/77/0c045793c56b9d143c44fab50f05506c47585532cc5a8f1668bf7b899ddf/fasttext_predict-0.9.2.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:19565fdf0bb9427831cfc75fca736ab9d71ba7ce02e3ea951e5839beb66560b6", size = 281643, upload-time = "2024-11-23T17:22:46.342Z" },
+ { url = "https://files.pythonhosted.org/packages/5b/ce/c735a67b858bbdb915f3de6d12bc0ad47f0bf0dfce8fc4d42b2ce65e1226/fasttext_predict-0.9.2.4-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:cb6986815506e3261c0b3f6227dce49eeb4fd3422dab9cd37e2db2fb3691c68b", size = 306088, upload-time = "2024-11-23T17:22:47.571Z" },
+ { url = "https://files.pythonhosted.org/packages/52/a1/b5838f96b6b10f9d4166fd5a5bdc2c32fc42500c236c6318512c5ede99a9/fasttext_predict-0.9.2.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:229dfdf8943dd76231206c7c9179e3f99d45879e5b654626ee7b73b7fa495d53", size = 294031, upload-time = "2024-11-23T17:22:49.617Z" },
+ { url = "https://files.pythonhosted.org/packages/76/0c/c655919969568ffc7667185595ae56c9cb35a3c4ec3c351654eebea75de5/fasttext_predict-0.9.2.4-cp310-cp310-manylinux_2_31_armv7l.whl", hash = "sha256:397016ebfa9ec06d6dba09c29e295eea583ea3f45fa4592cc832b257dc84522e", size = 234108, upload-time = "2024-11-23T17:22:51.525Z" },
+ { url = "https://files.pythonhosted.org/packages/f1/f0/b88ea4e4549d49b3202e0b4312f9bc1a42742618aaf2696d63508f861282/fasttext_predict-0.9.2.4-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:fc93f9f8f7e982eb635bc860688be04f355fab3d76a243037e26862646f50430", size = 1209246, upload-time = "2024-11-23T17:22:53.656Z" },
+ { url = "https://files.pythonhosted.org/packages/59/dc/1a916fe673f67066f6bb25b5372c282db8924a231662e250646e3ce90f93/fasttext_predict-0.9.2.4-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:f4be96ac0b01a3cda82be90e7f6afdafab98919995825c27babd2749a8319be9", size = 1098972, upload-time = "2024-11-23T17:22:55.792Z" },
+ { url = "https://files.pythonhosted.org/packages/b5/9e/ef3aba387a9efdeefce2d9537ee9404b4b8bafe3f1209c8efa6a6cb8022d/fasttext_predict-0.9.2.4-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:f505f737f9493d22ee0c54af7c7eb7828624d5089a1e85072bdb1bd7d3f8f82e", size = 1385514, upload-time = "2024-11-23T17:22:58.022Z" },
+ { url = "https://files.pythonhosted.org/packages/29/d8/b930d3eda35da0ad66335bfb154cb063cfc071dc9b7affe64ae0d90ac04c/fasttext_predict-0.9.2.4-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:9ce69f28862dd551d43e27aa0a8de924b6b34412bff998c23c3d4abd70813183", size = 1275740, upload-time = "2024-11-23T17:23:00.376Z" },
+ { url = "https://files.pythonhosted.org/packages/da/13/2611784710956acc1195bcc1ad476fb4d115a30a64175e8064bb83bc30ec/fasttext_predict-0.9.2.4-cp310-cp310-win32.whl", hash = "sha256:864b6bb543275aee74360eee1d2cc23a440f09991e97efcdcf0b9a5af00f9aa9", size = 90247, upload-time = "2024-11-23T17:23:01.534Z" },
+ { url = "https://files.pythonhosted.org/packages/6d/33/df75b2a1e207eda91efe35766e09dba41ef735e390b156c9c3adc0014e68/fasttext_predict-0.9.2.4-cp310-cp310-win_amd64.whl", hash = "sha256:7e72abe12c13fd12f8bb137b1f7561096fbd3bb24905a27d9e93a4921ee68dc6", size = 103099, upload-time = "2024-11-23T17:23:02.526Z" },
+ { url = "https://files.pythonhosted.org/packages/c7/12/5c1ddcc721c569132f6340498527b421dcb523470a0aee1b39fcb76c9fe3/fasttext_predict-0.9.2.4-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:147996c86aa0928c7118f85d18b6a77c458db9ca236db26d44ee5ceaab0c0b6b", size = 105258, upload-time = "2024-11-23T17:23:04.364Z" },
+ { url = "https://files.pythonhosted.org/packages/9f/69/6efd7db47f95a5e2e6e71f69ab3271f5002e99bb88c8f1639c109609cf12/fasttext_predict-0.9.2.4-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:5342f7363709e22524a31750c21e4b735b6666749a167fc03cc3bbf18ea8eccd", size = 97636, upload-time = "2024-11-23T17:23:06.166Z" },
+ { url = "https://files.pythonhosted.org/packages/a7/67/953ca1707fdb2c4bfc5b495b78f98116b45e7b5c39a76875c8b6dcf81ce4/fasttext_predict-0.9.2.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6cbecd3908909339316f61db38030ce43890c25bddb06c955191458af13ccfc5", size = 284910, upload-time = "2024-11-23T17:23:07.296Z" },
+ { url = "https://files.pythonhosted.org/packages/ef/c7/b60cf7e58baab5c798f616b2fa0692b8f78d6fc6279574fcfbd7c5235edb/fasttext_predict-0.9.2.4-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9de4fcfb54bec35be6b0dffcdc5ace1a3a07f79ee3e8d33d13b82cc4116c5f2f", size = 308768, upload-time = "2024-11-23T17:23:08.5Z" },
+ { url = "https://files.pythonhosted.org/packages/ee/4d/fe2d0619494700f2a85db4cf8050977e1215f484ac8596187301655dc516/fasttext_predict-0.9.2.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5af82e09227d993befc00271407b9d3c8aae81d34b35f96208223faf609f4b0c", size = 298342, upload-time = "2024-11-23T17:23:10.408Z" },
+ { url = "https://files.pythonhosted.org/packages/ea/06/f31dc802a2c9acab454eae47902674d92e381a97a363034d359961a955ce/fasttext_predict-0.9.2.4-cp311-cp311-manylinux_2_31_armv7l.whl", hash = "sha256:337ee60179f32e8b0efa822e59316de15709c7684e7854021b4f6af82b7767ac", size = 236374, upload-time = "2024-11-23T17:23:12.435Z" },
+ { url = "https://files.pythonhosted.org/packages/33/91/a4252c22f2fda855298ef683981d9986f89f9d36fd40ef4c2868cd84e4fd/fasttext_predict-0.9.2.4-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:aa9da0c52e65a45dbc87df67015ec1d2712f04de47733e197176550521feea87", size = 1212640, upload-time = "2024-11-23T17:23:13.804Z" },
+ { url = "https://files.pythonhosted.org/packages/ca/3e/47e9e844d15e2b7f64e1a2f1e5897b5c1d59b23ebff64494000259610d2c/fasttext_predict-0.9.2.4-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:495efde8afb622266c0e4de41978a6db731a0a685e1db032e7d22937850c9b44", size = 1100895, upload-time = "2024-11-23T17:23:16.109Z" },
+ { url = "https://files.pythonhosted.org/packages/8a/f1/d49bfb81cd3b544021698f6feab1dca2fcca432097978828ad8322eab50b/fasttext_predict-0.9.2.4-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:e5726ba34d79a143b69426e29905eb4d3f4ee8aee94927b3bea3dd566712986b", size = 1385913, upload-time = "2024-11-23T17:23:17.806Z" },
+ { url = "https://files.pythonhosted.org/packages/ed/4a/37bd8d31e46116fcb203b4899aeec32a3adbacf8b09ba3f5d9e3f864b7e4/fasttext_predict-0.9.2.4-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:5ac2f35830705c61dd848314c4c077a393608c181725dc353a69361821aa69a8", size = 1279522, upload-time = "2024-11-23T17:23:20.205Z" },
+ { url = "https://files.pythonhosted.org/packages/64/4c/3ec10626e0b25527d10ed258ac1d7c56e5f88100d5c7abba093f918deff6/fasttext_predict-0.9.2.4-cp311-cp311-win32.whl", hash = "sha256:7b2f8a5cf5f2c451777dbb7ea4957c7919a57ce29a4157a0a381933c9ea6fa70", size = 91396, upload-time = "2024-11-23T17:23:22.194Z" },
+ { url = "https://files.pythonhosted.org/packages/34/b0/456578e7269dace3d7a80a34b30c7757aea6aa34601853c58e5ad186d3d6/fasttext_predict-0.9.2.4-cp311-cp311-win_amd64.whl", hash = "sha256:83a3c00fdb73a304bc529bc0ae0e225bc2cb956fcfb8e1c7a882b2a1aaa97e19", size = 104390, upload-time = "2024-11-23T17:23:23.332Z" },
+ { url = "https://files.pythonhosted.org/packages/fb/fa/612bf85ce8928120843279ae256f4fffbb9758af81536ddf25f9136b1759/fasttext_predict-0.9.2.4-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:dcf8661da4f515551523470a745df246121f7e19736fcf3f48f04287963e6279", size = 104836, upload-time = "2024-11-23T17:23:25.219Z" },
+ { url = "https://files.pythonhosted.org/packages/7a/04/106b6fe3f980d6a4f41bfb3106be22d42f87b1e8beb2959361ee4ee08960/fasttext_predict-0.9.2.4-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:99dbfcc3f353da2639fd04fc574a65ff4195b018311f790583147cdc6eb122f4", size = 97377, upload-time = "2024-11-23T17:23:26.319Z" },
+ { url = "https://files.pythonhosted.org/packages/57/b9/b4962c92bd93dd234ea1d1cab643a86d948dab3f269e34a554a004ed6524/fasttext_predict-0.9.2.4-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:427e99ba963b2c744ed7233304037a83b7adece97de6f361cfd356aa43cb87f3", size = 283102, upload-time = "2024-11-23T17:23:27.497Z" },
+ { url = "https://files.pythonhosted.org/packages/1d/18/92203820cf00b9a34f40f10456e4ed3019010a9b13a87e11d8b98cd98933/fasttext_predict-0.9.2.4-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8b9480cc75a906571a8e5fc717b91b4783f1820aaa5ed36a304d689280de8602", size = 307416, upload-time = "2024-11-23T17:23:28.68Z" },
+ { url = "https://files.pythonhosted.org/packages/06/8d/334cd9acb84e569d37617444661ca7b59d1bc1a83abe42aa845d23fb1273/fasttext_predict-0.9.2.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:11ef7af2a4431c76d2226e47334e86b9c4a78a98f6cb68b1ce9a1fc20e04c904", size = 296055, upload-time = "2024-11-23T17:23:29.934Z" },
+ { url = "https://files.pythonhosted.org/packages/08/0b/2c83cc67eb5a29f182c8ea425e4b026db0593712edb8eaaf082501ca349f/fasttext_predict-0.9.2.4-cp312-cp312-manylinux_2_31_armv7l.whl", hash = "sha256:ecb0b854596ba847742597b35c2d0134fcf3a59214d09351d01535854078d56b", size = 237279, upload-time = "2024-11-23T17:23:31.358Z" },
+ { url = "https://files.pythonhosted.org/packages/14/81/0f1b3bda499ffeb7109fe51d9321dc74100db5a4801e3f9a9efe2348922d/fasttext_predict-0.9.2.4-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:fbbcfefac10f625d95fc42f28d76cc5bf0c12875f147b5a79108a2669e64a2dc", size = 1214253, upload-time = "2024-11-23T17:23:33.529Z" },
+ { url = "https://files.pythonhosted.org/packages/d1/e6/b1a177a990c29b043a9658f9f4ec7234576ad31939362f9760c237f91d6d/fasttext_predict-0.9.2.4-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:a8cb78a00c04b7eb7da18b4805f8557b36911dc4375c947d8938897d2e131841", size = 1099909, upload-time = "2024-11-23T17:23:34.983Z" },
+ { url = "https://files.pythonhosted.org/packages/09/a0/7f23c7c4398f399552f39144849868991da543b66b9bfa8f49a6550fdd46/fasttext_predict-0.9.2.4-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:299ae56ad53e1381c65030143da7bcae12546fd32bc019215592ec1ee40fd19e", size = 1384102, upload-time = "2024-11-23T17:23:37.237Z" },
+ { url = "https://files.pythonhosted.org/packages/e4/2c/568cf15fd48e4cefd0e605af62da5f5f51db3b012f8441d201d0a1173eb1/fasttext_predict-0.9.2.4-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:091938062002fe30d214f6e493a3a1e6180d401212d37eea23c29f4b55f3f347", size = 1281283, upload-time = "2024-11-23T17:23:39.676Z" },
+ { url = "https://files.pythonhosted.org/packages/e7/68/0967ec3d5333c23fae1f1bdb851fa896f8f6068ef0ca3a8afee1aa2ee57d/fasttext_predict-0.9.2.4-cp312-cp312-win32.whl", hash = "sha256:981b8d9734623f8f9a8003970f765e14b1d91ee82c59c35e8eba6b76368fa95e", size = 91089, upload-time = "2024-11-23T17:23:41.082Z" },
+ { url = "https://files.pythonhosted.org/packages/a7/c5/11c1f50b47f492d562974878ec34b6a0b84699f8b05e1cc3a75c65349784/fasttext_predict-0.9.2.4-cp312-cp312-win_amd64.whl", hash = "sha256:bd3c33971c241577b0767e55d97acfda790f77378f9d5ee7872b6ee4bd63130b", size = 104889, upload-time = "2024-11-23T17:23:42.193Z" },
+ { url = "https://files.pythonhosted.org/packages/89/fc/5cd65224c33e33d6faec3fa1047162dc266ed2213016139d936bd36fb7c3/fasttext_predict-0.9.2.4-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:ddb85e62c95e4e02d417c782e3434ef65554df19e3522f5230f6be15a9373c05", size = 104916, upload-time = "2024-11-23T17:23:43.367Z" },
+ { url = "https://files.pythonhosted.org/packages/d9/53/8d542773e32c9d98dd8c680e390fe7e6d4fc92ab3439dc1bb8e70c46c7ad/fasttext_predict-0.9.2.4-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:102129d45cf98dda871e83ae662f71d999b9ef6ff26bc842ffc1520a1f82930c", size = 97502, upload-time = "2024-11-23T17:23:44.447Z" },
+ { url = "https://files.pythonhosted.org/packages/50/99/049fd6b01937705889bd9a00c31e5c55f0ae4b7704007b2ef7a82bf2b867/fasttext_predict-0.9.2.4-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:05ba6a0fbf8cb2141b8ca2bc461db97af8ac31a62341e4696a75048b9de39e10", size = 282951, upload-time = "2024-11-23T17:23:46.31Z" },
+ { url = "https://files.pythonhosted.org/packages/83/cb/79b71709edbb53c3c5f8a8b60fe2d3bc98d28a8e75367c89afedf3307aa9/fasttext_predict-0.9.2.4-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0c7a779215571296ecfcf86545cb30ec3f1c6f43cbcd69f83cc4f67049375ea1", size = 307377, upload-time = "2024-11-23T17:23:47.685Z" },
+ { url = "https://files.pythonhosted.org/packages/7c/4a/b15b7be003e76613173cc77d9c6cce4bf086073079354e0177deaa768f59/fasttext_predict-0.9.2.4-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ddd2f03f3f206585543f5274b1dbc5f651bae141a1b14c9d5225c2a12e5075c2", size = 295746, upload-time = "2024-11-23T17:23:49.024Z" },
+ { url = "https://files.pythonhosted.org/packages/e3/d3/f030cd45bdd4b052fcf23e730fdf0804e024b0cad43d7c7f8704faaec2f5/fasttext_predict-0.9.2.4-cp313-cp313-manylinux_2_31_armv7l.whl", hash = "sha256:748f9edc3222a1fb7a61331c4e06d3b7f2390ae493f91f09d372a00b81762a8d", size = 236939, upload-time = "2024-11-23T17:23:50.306Z" },
+ { url = "https://files.pythonhosted.org/packages/a2/01/6f2985afd58fdc5f4ecd058d5d9427d03081d468960982df97316c03f6bb/fasttext_predict-0.9.2.4-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:1aee47a40757cd24272b34eaf9ceeea86577fd0761b0fd0e41599c6549abdf04", size = 1214189, upload-time = "2024-11-23T17:23:51.647Z" },
+ { url = "https://files.pythonhosted.org/packages/75/07/931bcdd4e2406e45e54d57e056c2e0766616a5280a18fbf6ef078aa439ab/fasttext_predict-0.9.2.4-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:6ff0f152391ee03ffc18495322100c01735224f7843533a7c4ff33c8853d7be1", size = 1099889, upload-time = "2024-11-23T17:23:53.127Z" },
+ { url = "https://files.pythonhosted.org/packages/a2/eb/6521b4bbf387252a96a6dc0f54986f078a93db0a9d4ba77258dcf1fa8be7/fasttext_predict-0.9.2.4-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:4d92f5265318b41d6e68659fd459babbff692484e492c5013995b90a56b517c9", size = 1383959, upload-time = "2024-11-23T17:23:54.521Z" },
+ { url = "https://files.pythonhosted.org/packages/b7/6b/d56606761afb3a3912c52971f0f804e2e9065f049c412b96c47d6fca6218/fasttext_predict-0.9.2.4-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:3a7720cce1b8689d88df76cac1425e84f9911c69a4e40a5309d7d3435e1bb97c", size = 1281097, upload-time = "2024-11-23T17:23:55.9Z" },
+ { url = "https://files.pythonhosted.org/packages/91/83/55bb4a37bb3b3a428941f4e1323c345a662254f576f8860b3098d9742510/fasttext_predict-0.9.2.4-cp313-cp313-win32.whl", hash = "sha256:d16acfced7871ed0cd55b476f0dbdddc7a5da1ffc9745a3c5674846cf1555886", size = 91137, upload-time = "2024-11-23T17:23:57.886Z" },
+ { url = "https://files.pythonhosted.org/packages/9c/1d/c1ccc8790ce54200c84164d99282f088dddb9760aeefc8860856aafa40b4/fasttext_predict-0.9.2.4-cp313-cp313-win_amd64.whl", hash = "sha256:96a23328729ce62a851f8953582e576ca075ee78d637df4a78a2b3609784849e", size = 104896, upload-time = "2024-11-23T17:23:59.028Z" },
+ { url = "https://files.pythonhosted.org/packages/a4/c9/a1ccc749c59e2480767645ecc03bd842a7fa5b2b780d69ac370e6f8298d2/fasttext_predict-0.9.2.4-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:b1357d0d9d8568db84668b57e7c6880b9c46f757e8954ad37634402d36f09dba", size = 109401, upload-time = "2024-11-23T17:24:00.191Z" },
+ { url = "https://files.pythonhosted.org/packages/90/1f/33182b76eb0524155e8ff93e7939feaf5325385e5ff2a154f383d9a02317/fasttext_predict-0.9.2.4-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:9604c464c5d86c7eba34b040080be7012e246ef512b819e428b7deb817290dae", size = 102131, upload-time = "2024-11-23T17:24:02.052Z" },
+ { url = "https://files.pythonhosted.org/packages/2b/df/1886daea373382e573f28ce49e3fc8fb6b0ee0c84e2b0becf5b254cd93fb/fasttext_predict-0.9.2.4-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cc6da186c2e4497cbfaba9c5424e58c7b72728b25d980829eb96daccd7cface1", size = 287396, upload-time = "2024-11-23T17:24:03.294Z" },
+ { url = "https://files.pythonhosted.org/packages/35/8f/d1c2c0f0251bee898d508253a437683b0480a1074cfb25ded1f7fdbb925a/fasttext_predict-0.9.2.4-cp313-cp313t-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:366ed2ca4f4170418f3585e92059cf17ee2c963bf179111c5b8ba48f06cd69d1", size = 311090, upload-time = "2024-11-23T17:24:04.625Z" },
+ { url = "https://files.pythonhosted.org/packages/5d/52/07d6ed46148662fae84166bc69d944caca87fabc850ebfbd9640b20dafe7/fasttext_predict-0.9.2.4-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2f1877edbb815a43e7d38cc7332202e759054cf0b5a4b7e34a743c0f5d6e7333", size = 300359, upload-time = "2024-11-23T17:24:06.486Z" },
+ { url = "https://files.pythonhosted.org/packages/fa/a1/751ff471a991e5ed0bae9e7fa6fc8d8ab76b233a7838a27d70d62bed0c8e/fasttext_predict-0.9.2.4-cp313-cp313t-manylinux_2_31_armv7l.whl", hash = "sha256:f63c31352ba6fc910290b0fe12733770acd8cfa0945fcb9cf3984d241abcfc9d", size = 241164, upload-time = "2024-11-23T17:24:08.501Z" },
+ { url = "https://files.pythonhosted.org/packages/94/19/e251f699a0e9c001fa672ea0929c456160faa68ecfafc19e8def09982b6a/fasttext_predict-0.9.2.4-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:898e14b03fbfb0a8d9a5185a0a00ff656772b3baa37cad122e06e8e4d6da3832", size = 1218629, upload-time = "2024-11-23T17:24:10.04Z" },
+ { url = "https://files.pythonhosted.org/packages/1d/46/1af2f779f8cfd746496a226581f747d3051888e3e3c5b2ca37231e5d04f8/fasttext_predict-0.9.2.4-cp313-cp313t-musllinux_1_2_armv7l.whl", hash = "sha256:a33bb5832a69fc54d18cadcf015677c1acb5ccc7f0125d261df2a89f8aff01f6", size = 1100535, upload-time = "2024-11-23T17:24:11.5Z" },
+ { url = "https://files.pythonhosted.org/packages/4c/b7/900ccd74a9ba8be7ca6d04bba684e9c43fb0dbed8a3d12ec0536228e2c32/fasttext_predict-0.9.2.4-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:7fe9e98bd0701d598bf245eb2fbf592145cd03551684a2102a4b301294b9bd87", size = 1387651, upload-time = "2024-11-23T17:24:13.135Z" },
+ { url = "https://files.pythonhosted.org/packages/0b/5a/99fdaed054079f7c96e70df0d7016c4eb6b9e487a614396dd8f849244a52/fasttext_predict-0.9.2.4-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:dcb8c5a74c1785f005fd83d445137437b79ac70a2dfbfe4bb1b09aa5643be545", size = 1286189, upload-time = "2024-11-23T17:24:14.615Z" },
+ { url = "https://files.pythonhosted.org/packages/87/6a/9114d65b3f7a9c20a62b9d2ca3b770ee65de849e4131cc7aa58cdc50cb07/fasttext_predict-0.9.2.4-cp313-cp313t-win32.whl", hash = "sha256:a85c7de3d4480faa12b930637fca9c23144d1520786fedf9ba8edd8642ed4aea", size = 95905, upload-time = "2024-11-23T17:24:15.868Z" },
+ { url = "https://files.pythonhosted.org/packages/31/fb/6d251f3fdfe3346ee60d091f55106513e509659ee005ad39c914182c96f4/fasttext_predict-0.9.2.4-cp313-cp313t-win_amd64.whl", hash = "sha256:be0933fa4af7abae09c703d28f9e17c80e7069eb6f92100b21985b777f4ea275", size = 110325, upload-time = "2024-11-23T17:24:16.984Z" },
+ { url = "https://files.pythonhosted.org/packages/20/ba/c7fe88fbf59935118b9a756e3ae671d8ddcdd58170f4e53d60d9863b29e6/fasttext_predict-0.9.2.4-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b11ba9414aa71754f798a102cf7d3df53307055b2b0f0b258a3f2d59c5a12cfa", size = 133206, upload-time = "2024-11-23T17:24:38.986Z" },
+ { url = "https://files.pythonhosted.org/packages/50/a6/8807d54b25905d3d91e7b16705632a3ccf4adf6457daae959c4f42987c27/fasttext_predict-0.9.2.4-pp310-pypy310_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3c89c769e3646bdb341487a68835239f35a4a0959cc1a8d8a7d215f40b22a230", size = 149227, upload-time = "2024-11-23T17:24:40.285Z" },
+ { url = "https://files.pythonhosted.org/packages/27/4a/55ae88864d5711822ecf6f37d54d655dc2e3617ae70d07bf28c08d9bea5f/fasttext_predict-0.9.2.4-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5f3b9cd4a2cf4c4853323f57c5da6ecffca6aeb9b6d8751ee40fe611d6edf8dd", size = 140205, upload-time = "2024-11-23T17:24:42.307Z" },
+ { url = "https://files.pythonhosted.org/packages/a0/33/1b5baa8960548100fddc40908780f0c18fddff8a514f9cd3dd0f6676746d/fasttext_predict-0.9.2.4-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:1c92905396c74e5cb29ddbfa763b5addec1581b6e0eae4cbe82248dfe733557e", size = 102845, upload-time = "2024-11-23T17:24:43.64Z" },
+]
+
+[[package]]
+name = "ffmpeg-python"
+version = "0.2.0"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "future" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/dd/5e/d5f9105d59c1325759d838af4e973695081fbbc97182baf73afc78dec266/ffmpeg-python-0.2.0.tar.gz", hash = "sha256:65225db34627c578ef0e11c8b1eb528bb35e024752f6f10b78c011f6f64c4127", size = 21543, upload-time = "2019-07-06T00:19:08.989Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/d7/0c/56be52741f75bad4dc6555991fabd2e07b432d333da82c11ad701123888a/ffmpeg_python-0.2.0-py3-none-any.whl", hash = "sha256:ac441a0404e053f8b6a1113a77c0f452f1cfc62f6344a769475ffdc0f56c23c5", size = 25024, upload-time = "2019-07-06T00:19:07.215Z" },
+]
+
+[[package]]
+name = "ffmpy"
+version = "1.0.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/7d/d2/1c4c582d71bcc65c76fa69fab85de6257d50fdf6fd4a2317c53917e9a581/ffmpy-1.0.0.tar.gz", hash = "sha256:b12932e95435c8820f1cd041024402765f821971e4bae753b327fc02a6e12f8b", size = 5101, upload-time = "2025-11-11T06:24:23.856Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/55/56/dd3669eccebb6d8ac81e624542ebd53fe6f08e1b8f2f8d50aeb7e3b83f99/ffmpy-1.0.0-py3-none-any.whl", hash = "sha256:5640e5f0fd03fb6236d0e119b16ccf6522db1c826fdf35dcb87087b60fd7504f", size = 5614, upload-time = "2025-11-11T06:24:22.818Z" },
+]
+
+[[package]]
+name = "filelock"
+version = "3.24.2"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/02/a8/dae62680be63cbb3ff87cfa2f51cf766269514ea5488479d42fec5aa6f3a/filelock-3.24.2.tar.gz", hash = "sha256:c22803117490f156e59fafce621f0550a7a853e2bbf4f87f112b11d469b6c81b", size = 37601, upload-time = "2026-02-16T02:50:45.614Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/e7/04/a94ebfb4eaaa08db56725a40de2887e95de4e8641b9e902c311bfa00aa39/filelock-3.24.2-py3-none-any.whl", hash = "sha256:667d7dc0b7d1e1064dd5f8f8e80bdac157a6482e8d2e02cd16fd3b6b33bd6556", size = 24152, upload-time = "2026-02-16T02:50:44Z" },
+]
+
+[[package]]
+name = "flash-attn"
+version = "2.8.3"
+source = { registry = "https://xxxxrt666.github.io/PIP-Index" }
+dependencies = [
+ { name = "einops" },
+ { name = "torch", version = "2.9.1", source = { registry = "https://download.pytorch.org/whl/cpu" }, marker = "(platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu') or (platform_machine == 'aarch64' and sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cpu') or (platform_machine == 'arm64' and sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu') or (platform_machine != 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine != 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine != 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine != 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'aarch64' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "torch", version = "2.9.1+cpu", source = { registry = "https://download.pytorch.org/whl/cpu" }, marker = "(platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'arm64' and sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine == 'aarch64' and sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'aarch64' and sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'arm64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'aarch64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine != 'aarch64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'aarch64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'aarch64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'aarch64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'linux' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (sys_platform == 'linux' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'linux' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'linux' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'linux' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'linux' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "torch", version = "2.9.1+cu129", source = { registry = "https://download.pytorch.org/whl/cu129" }, marker = "(sys_platform != 'darwin' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "torch", version = "2.9.1+rocm6.4", source = { registry = "https://download.pytorch.org/whl/rocm6.4" }, marker = "(extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "torch", version = "2.10.0", source = { registry = "https://pypi.org/simple" }, marker = "(extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "torch", version = "2.10.0+cu126", source = { registry = "https://download.pytorch.org/whl/cu126" }, marker = "extra == 'extra-15-gpt-sovits-meta-cu126' or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "torch", version = "2.10.0+cu128", source = { registry = "https://download.pytorch.org/whl/cu128" }, marker = "extra == 'extra-15-gpt-sovits-meta-cu128' or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+]
+sdist = { url = "https://github.com/XXXXRT666/flash-attention/releases/download/v2.8.3/flash_attn-2.8.3.tar.gz" }
+
+[[package]]
+name = "flatbuffers"
+version = "25.12.19"
+source = { registry = "https://pypi.org/simple" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/e8/2d/d2a548598be01649e2d46231d151a6c56d10b964d94043a335ae56ea2d92/flatbuffers-25.12.19-py2.py3-none-any.whl", hash = "sha256:7634f50c427838bb021c2d66a3d1168e9d199b0607e6329399f04846d42e20b4", size = 26661, upload-time = "2025-12-19T23:16:13.622Z" },
+]
+
+[[package]]
+name = "fonttools"
+version = "4.61.1"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/ec/ca/cf17b88a8df95691275a3d77dc0a5ad9907f328ae53acbe6795da1b2f5ed/fonttools-4.61.1.tar.gz", hash = "sha256:6675329885c44657f826ef01d9e4fb33b9158e9d93c537d84ad8399539bc6f69", size = 3565756, upload-time = "2025-12-12T17:31:24.246Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/5b/94/8a28707adb00bed1bf22dac16ccafe60faf2ade353dcb32c3617ee917307/fonttools-4.61.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:7c7db70d57e5e1089a274cbb2b1fd635c9a24de809a231b154965d415d6c6d24", size = 2854799, upload-time = "2025-12-12T17:29:27.5Z" },
+ { url = "https://files.pythonhosted.org/packages/94/93/c2e682faaa5ee92034818d8f8a8145ae73eb83619600495dcf8503fa7771/fonttools-4.61.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:5fe9fd43882620017add5eabb781ebfbc6998ee49b35bd7f8f79af1f9f99a958", size = 2403032, upload-time = "2025-12-12T17:29:30.115Z" },
+ { url = "https://files.pythonhosted.org/packages/f1/62/1748f7e7e1ee41aa52279fd2e3a6d0733dc42a673b16932bad8e5d0c8b28/fonttools-4.61.1-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:d8db08051fc9e7d8bc622f2112511b8107d8f27cd89e2f64ec45e9825e8288da", size = 4897863, upload-time = "2025-12-12T17:29:32.535Z" },
+ { url = "https://files.pythonhosted.org/packages/69/69/4ca02ee367d2c98edcaeb83fc278d20972502ee071214ad9d8ca85e06080/fonttools-4.61.1-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:a76d4cb80f41ba94a6691264be76435e5f72f2cb3cab0b092a6212855f71c2f6", size = 4859076, upload-time = "2025-12-12T17:29:34.907Z" },
+ { url = "https://files.pythonhosted.org/packages/8c/f5/660f9e3cefa078861a7f099107c6d203b568a6227eef163dd173bfc56bdc/fonttools-4.61.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:a13fc8aeb24bad755eea8f7f9d409438eb94e82cf86b08fe77a03fbc8f6a96b1", size = 4875623, upload-time = "2025-12-12T17:29:37.33Z" },
+ { url = "https://files.pythonhosted.org/packages/63/d1/9d7c5091d2276ed47795c131c1bf9316c3c1ab2789c22e2f59e0572ccd38/fonttools-4.61.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:b846a1fcf8beadeb9ea4f44ec5bdde393e2f1569e17d700bfc49cd69bde75881", size = 4993327, upload-time = "2025-12-12T17:29:39.781Z" },
+ { url = "https://files.pythonhosted.org/packages/6f/2d/28def73837885ae32260d07660a052b99f0aa00454867d33745dfe49dbf0/fonttools-4.61.1-cp310-cp310-win32.whl", hash = "sha256:78a7d3ab09dc47ac1a363a493e6112d8cabed7ba7caad5f54dbe2f08676d1b47", size = 1502180, upload-time = "2025-12-12T17:29:42.217Z" },
+ { url = "https://files.pythonhosted.org/packages/63/fa/bfdc98abb4dd2bd491033e85e3ba69a2313c850e759a6daa014bc9433b0f/fonttools-4.61.1-cp310-cp310-win_amd64.whl", hash = "sha256:eff1ac3cc66c2ac7cda1e64b4e2f3ffef474b7335f92fc3833fc632d595fcee6", size = 1550654, upload-time = "2025-12-12T17:29:44.564Z" },
+ { url = "https://files.pythonhosted.org/packages/69/12/bf9f4eaa2fad039356cc627587e30ed008c03f1cebd3034376b5ee8d1d44/fonttools-4.61.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:c6604b735bb12fef8e0efd5578c9fb5d3d8532d5001ea13a19cddf295673ee09", size = 2852213, upload-time = "2025-12-12T17:29:46.675Z" },
+ { url = "https://files.pythonhosted.org/packages/ac/49/4138d1acb6261499bedde1c07f8c2605d1d8f9d77a151e5507fd3ef084b6/fonttools-4.61.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:5ce02f38a754f207f2f06557523cd39a06438ba3aafc0639c477ac409fc64e37", size = 2401689, upload-time = "2025-12-12T17:29:48.769Z" },
+ { url = "https://files.pythonhosted.org/packages/e5/fe/e6ce0fe20a40e03aef906af60aa87668696f9e4802fa283627d0b5ed777f/fonttools-4.61.1-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:77efb033d8d7ff233385f30c62c7c79271c8885d5c9657d967ede124671bbdfb", size = 5058809, upload-time = "2025-12-12T17:29:51.701Z" },
+ { url = "https://files.pythonhosted.org/packages/79/61/1ca198af22f7dd22c17ab86e9024ed3c06299cfdb08170640e9996d501a0/fonttools-4.61.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:75c1a6dfac6abd407634420c93864a1e274ebc1c7531346d9254c0d8f6ca00f9", size = 5036039, upload-time = "2025-12-12T17:29:53.659Z" },
+ { url = "https://files.pythonhosted.org/packages/99/cc/fa1801e408586b5fce4da9f5455af8d770f4fc57391cd5da7256bb364d38/fonttools-4.61.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:0de30bfe7745c0d1ffa2b0b7048fb7123ad0d71107e10ee090fa0b16b9452e87", size = 5034714, upload-time = "2025-12-12T17:29:55.592Z" },
+ { url = "https://files.pythonhosted.org/packages/bf/aa/b7aeafe65adb1b0a925f8f25725e09f078c635bc22754f3fecb7456955b0/fonttools-4.61.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:58b0ee0ab5b1fc9921eccfe11d1435added19d6494dde14e323f25ad2bc30c56", size = 5158648, upload-time = "2025-12-12T17:29:57.861Z" },
+ { url = "https://files.pythonhosted.org/packages/99/f9/08ea7a38663328881384c6e7777bbefc46fd7d282adfd87a7d2b84ec9d50/fonttools-4.61.1-cp311-cp311-win32.whl", hash = "sha256:f79b168428351d11e10c5aeb61a74e1851ec221081299f4cf56036a95431c43a", size = 2280681, upload-time = "2025-12-12T17:29:59.943Z" },
+ { url = "https://files.pythonhosted.org/packages/07/ad/37dd1ae5fa6e01612a1fbb954f0927681f282925a86e86198ccd7b15d515/fonttools-4.61.1-cp311-cp311-win_amd64.whl", hash = "sha256:fe2efccb324948a11dd09d22136fe2ac8a97d6c1347cf0b58a911dcd529f66b7", size = 2331951, upload-time = "2025-12-12T17:30:02.254Z" },
+ { url = "https://files.pythonhosted.org/packages/6f/16/7decaa24a1bd3a70c607b2e29f0adc6159f36a7e40eaba59846414765fd4/fonttools-4.61.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:f3cb4a569029b9f291f88aafc927dd53683757e640081ca8c412781ea144565e", size = 2851593, upload-time = "2025-12-12T17:30:04.225Z" },
+ { url = "https://files.pythonhosted.org/packages/94/98/3c4cb97c64713a8cf499b3245c3bf9a2b8fd16a3e375feff2aed78f96259/fonttools-4.61.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:41a7170d042e8c0024703ed13b71893519a1a6d6e18e933e3ec7507a2c26a4b2", size = 2400231, upload-time = "2025-12-12T17:30:06.47Z" },
+ { url = "https://files.pythonhosted.org/packages/b7/37/82dbef0f6342eb01f54bca073ac1498433d6ce71e50c3c3282b655733b31/fonttools-4.61.1-cp312-cp312-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:10d88e55330e092940584774ee5e8a6971b01fc2f4d3466a1d6c158230880796", size = 4954103, upload-time = "2025-12-12T17:30:08.432Z" },
+ { url = "https://files.pythonhosted.org/packages/6c/44/f3aeac0fa98e7ad527f479e161aca6c3a1e47bb6996b053d45226fe37bf2/fonttools-4.61.1-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:15acc09befd16a0fb8a8f62bc147e1a82817542d72184acca9ce6e0aeda9fa6d", size = 5004295, upload-time = "2025-12-12T17:30:10.56Z" },
+ { url = "https://files.pythonhosted.org/packages/14/e8/7424ced75473983b964d09f6747fa09f054a6d656f60e9ac9324cf40c743/fonttools-4.61.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:e6bcdf33aec38d16508ce61fd81838f24c83c90a1d1b8c68982857038673d6b8", size = 4944109, upload-time = "2025-12-12T17:30:12.874Z" },
+ { url = "https://files.pythonhosted.org/packages/c8/8b/6391b257fa3d0b553d73e778f953a2f0154292a7a7a085e2374b111e5410/fonttools-4.61.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:5fade934607a523614726119164ff621e8c30e8fa1ffffbbd358662056ba69f0", size = 5093598, upload-time = "2025-12-12T17:30:15.79Z" },
+ { url = "https://files.pythonhosted.org/packages/d9/71/fd2ea96cdc512d92da5678a1c98c267ddd4d8c5130b76d0f7a80f9a9fde8/fonttools-4.61.1-cp312-cp312-win32.whl", hash = "sha256:75da8f28eff26defba42c52986de97b22106cb8f26515b7c22443ebc9c2d3261", size = 2269060, upload-time = "2025-12-12T17:30:18.058Z" },
+ { url = "https://files.pythonhosted.org/packages/80/3b/a3e81b71aed5a688e89dfe0e2694b26b78c7d7f39a5ffd8a7d75f54a12a8/fonttools-4.61.1-cp312-cp312-win_amd64.whl", hash = "sha256:497c31ce314219888c0e2fce5ad9178ca83fe5230b01a5006726cdf3ac9f24d9", size = 2319078, upload-time = "2025-12-12T17:30:22.862Z" },
+ { url = "https://files.pythonhosted.org/packages/4b/cf/00ba28b0990982530addb8dc3e9e6f2fa9cb5c20df2abdda7baa755e8fe1/fonttools-4.61.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:8c56c488ab471628ff3bfa80964372fc13504ece601e0d97a78ee74126b2045c", size = 2846454, upload-time = "2025-12-12T17:30:24.938Z" },
+ { url = "https://files.pythonhosted.org/packages/5a/ca/468c9a8446a2103ae645d14fee3f610567b7042aba85031c1c65e3ef7471/fonttools-4.61.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:dc492779501fa723b04d0ab1f5be046797fee17d27700476edc7ee9ae535a61e", size = 2398191, upload-time = "2025-12-12T17:30:27.343Z" },
+ { url = "https://files.pythonhosted.org/packages/a3/4b/d67eedaed19def5967fade3297fed8161b25ba94699efc124b14fb68cdbc/fonttools-4.61.1-cp313-cp313-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:64102ca87e84261419c3747a0d20f396eb024bdbeb04c2bfb37e2891f5fadcb5", size = 4928410, upload-time = "2025-12-12T17:30:29.771Z" },
+ { url = "https://files.pythonhosted.org/packages/b0/8d/6fb3494dfe61a46258cd93d979cf4725ded4eb46c2a4ca35e4490d84daea/fonttools-4.61.1-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:4c1b526c8d3f615a7b1867f38a9410849c8f4aef078535742198e942fba0e9bd", size = 4984460, upload-time = "2025-12-12T17:30:32.073Z" },
+ { url = "https://files.pythonhosted.org/packages/f7/f1/a47f1d30b3dc00d75e7af762652d4cbc3dff5c2697a0dbd5203c81afd9c3/fonttools-4.61.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:41ed4b5ec103bd306bb68f81dc166e77409e5209443e5773cb4ed837bcc9b0d3", size = 4925800, upload-time = "2025-12-12T17:30:34.339Z" },
+ { url = "https://files.pythonhosted.org/packages/a7/01/e6ae64a0981076e8a66906fab01539799546181e32a37a0257b77e4aa88b/fonttools-4.61.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:b501c862d4901792adaec7c25b1ecc749e2662543f68bb194c42ba18d6eec98d", size = 5067859, upload-time = "2025-12-12T17:30:36.593Z" },
+ { url = "https://files.pythonhosted.org/packages/73/aa/28e40b8d6809a9b5075350a86779163f074d2b617c15d22343fce81918db/fonttools-4.61.1-cp313-cp313-win32.whl", hash = "sha256:4d7092bb38c53bbc78e9255a59158b150bcdc115a1e3b3ce0b5f267dc35dd63c", size = 2267821, upload-time = "2025-12-12T17:30:38.478Z" },
+ { url = "https://files.pythonhosted.org/packages/1a/59/453c06d1d83dc0951b69ef692d6b9f1846680342927df54e9a1ca91c6f90/fonttools-4.61.1-cp313-cp313-win_amd64.whl", hash = "sha256:21e7c8d76f62ab13c9472ccf74515ca5b9a761d1bde3265152a6dc58700d895b", size = 2318169, upload-time = "2025-12-12T17:30:40.951Z" },
+ { url = "https://files.pythonhosted.org/packages/c7/4e/ce75a57ff3aebf6fc1f4e9d508b8e5810618a33d900ad6c19eb30b290b97/fonttools-4.61.1-py3-none-any.whl", hash = "sha256:17d2bf5d541add43822bcf0c43d7d847b160c9bb01d15d5007d84e2217aaa371", size = 1148996, upload-time = "2025-12-12T17:31:21.03Z" },
+]
+
+[[package]]
+name = "frozendict"
+version = "2.4.7"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/90/b2/2a3d1374b7780999d3184e171e25439a8358c47b481f68be883c14086b4c/frozendict-2.4.7.tar.gz", hash = "sha256:e478fb2a1391a56c8a6e10cc97c4a9002b410ecd1ac28c18d780661762e271bd", size = 317082, upload-time = "2025-11-11T22:40:14.251Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/d1/bd/920b1c5ff1df427a5fc3fd4c2f13b0b0e720c3d57fafd80557094c1fefe0/frozendict-2.4.7-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:bd37c087a538944652363cfd77fb7abe8100cc1f48afea0b88b38bf0f469c3d2", size = 59848, upload-time = "2025-11-11T22:37:10.964Z" },
+ { url = "https://files.pythonhosted.org/packages/a6/9c/e3e186925b1d84f816d458be4e2ea785bbeba15fd2e9e85c5ae7e7a90421/frozendict-2.4.7-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:2b96f224a5431889f04b2bc99c0e9abe285679464273ead83d7d7f2a15907d35", size = 38164, upload-time = "2025-11-11T22:37:12.622Z" },
+ { url = "https://files.pythonhosted.org/packages/10/4c/af931d88c51ee2fcbf8c817557dcb975133a188f1b44bfa82caa940beeab/frozendict-2.4.7-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:5c1781f28c4bbb177644b3cb6d5cf7da59be374b02d91cdde68d1d5ef32e046b", size = 38341, upload-time = "2025-11-11T22:37:13.611Z" },
+ { url = "https://files.pythonhosted.org/packages/ba/7a/c1fd4f736758cf93939cc3b7c8399fe1db0c121881431d41fcdbae344343/frozendict-2.4.7-cp310-cp310-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:8a06f6c3d3b8d487226fdde93f621e04a54faecc5bf5d9b16497b8f9ead0ac3e", size = 112882, upload-time = "2025-11-11T22:37:15.098Z" },
+ { url = "https://files.pythonhosted.org/packages/bd/b0/304294f7cd099582a98d63e7a9cec34a9905d07f7628b42fc3f9c9a9bc94/frozendict-2.4.7-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:b809d1c861436a75b2b015dbfd94f6154fa4e7cb0a70e389df1d5f6246b21d1e", size = 120482, upload-time = "2025-11-11T22:37:16.182Z" },
+ { url = "https://files.pythonhosted.org/packages/7e/61/689212ea4124fcbd097c0ac02c2c6a4e345ccc132d9104d054ff6b43ab64/frozendict-2.4.7-cp310-cp310-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:75eefdf257a84ea73d553eb80d0abbff0af4c9df62529e4600fd3f96ff17eeb3", size = 113527, upload-time = "2025-11-11T22:37:17.389Z" },
+ { url = "https://files.pythonhosted.org/packages/5c/9b/38a762f4e76903efd4340454cac2820f583929457822111ef6a00ff1a3f4/frozendict-2.4.7-cp310-cp310-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:a4d2b27d8156922c9739dd2ff4f3934716e17cfd1cf6fb61aa17af7d378555e9", size = 130068, upload-time = "2025-11-11T22:37:18.494Z" },
+ { url = "https://files.pythonhosted.org/packages/cf/41/9751e9ec1a2e810e8f961aea4f8958953157478daff6b868277ab7c5ef8c/frozendict-2.4.7-cp310-cp310-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:2ebd953c41408acfb8041ff9e6c3519c09988fb7e007df7ab6b56e229029d788", size = 126184, upload-time = "2025-11-11T22:37:19.789Z" },
+ { url = "https://files.pythonhosted.org/packages/71/be/b179b5f200cb0f52debeccc63b786cabcc408c4542f47c4245f978ad36e3/frozendict-2.4.7-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:4c64d34b802912ee6d107936e970b90750385a1fdfd38d310098b2918ba4cbf2", size = 120168, upload-time = "2025-11-11T22:37:20.929Z" },
+ { url = "https://files.pythonhosted.org/packages/25/c2/1536bc363dbce414e6b632f496aa8219c0db459a99eeafa02eba380e4cfa/frozendict-2.4.7-cp310-cp310-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:294a7d7d51dd979021a8691b46aedf9bd4a594ce3ed33a4bdf0a712d6929d712", size = 114997, upload-time = "2025-11-11T22:37:21.888Z" },
+ { url = "https://files.pythonhosted.org/packages/29/63/3e9efb490c00a0bf3c7bbf72fc73c90c4a6ebe30595e0fc44f59182b2ae7/frozendict-2.4.7-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:f65d1b90e9ddc791ea82ef91a9ae0ab27ef6c0cfa88fadfa0e5ca5a22f8fa22f", size = 117292, upload-time = "2025-11-11T22:37:22.978Z" },
+ { url = "https://files.pythonhosted.org/packages/5e/66/d25b1e94f9b0e64025d5cadc77b9b857737ebffd8963ee91de7c5a06415a/frozendict-2.4.7-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:82d5272d08451bcef6fb6235a0a04cf1816b6b6815cec76be5ace1de17e0c1a4", size = 110656, upload-time = "2025-11-11T22:38:37.652Z" },
+ { url = "https://files.pythonhosted.org/packages/a3/5d/0e7e3294e18bf41d38dbc9ee82539be607c8d26e763ae12d9e41f03f2dae/frozendict-2.4.7-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:5943c3f683d3f32036f6ca975e920e383d85add1857eee547742de9c1f283716", size = 113225, upload-time = "2025-11-11T22:38:38.631Z" },
+ { url = "https://files.pythonhosted.org/packages/e0/fb/b72c9b261ac7a7803528aa63bba776face8ad8d39cc4ca4825ddaa7777a9/frozendict-2.4.7-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:88c6bea948da03087035bb9ca9625305d70e084aa33f11e17048cb7dda4ca293", size = 126713, upload-time = "2025-11-11T22:38:39.588Z" },
+ { url = "https://files.pythonhosted.org/packages/c7/d9/e13af40bd9ef27b5c9ba10b0e31b03acac9468236b878dab030c75102a47/frozendict-2.4.7-cp310-cp310-musllinux_1_2_riscv64.whl", hash = "sha256:ffd1a9f9babec9119712e76a39397d8aa0d72ef8c4ccad917c6175d7e7f81b74", size = 114166, upload-time = "2025-11-11T22:38:41.073Z" },
+ { url = "https://files.pythonhosted.org/packages/40/2b/435583b11f5332cd3eb479d0a67a87bc9247c8b094169b07bd8f0777fc48/frozendict-2.4.7-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:0ff6f57854cc8aa8b30947ec005f9246d96e795a78b21441614e85d39b708822", size = 121542, upload-time = "2025-11-11T22:38:42.199Z" },
+ { url = "https://files.pythonhosted.org/packages/38/25/097f3c0dc916d7c76f782cb65544e683ff3940a0ed997fc32efdb0989c45/frozendict-2.4.7-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:d774df483c12d6cba896eb9a1337bbc5ad3f564eb18cfaaee3e95fb4402f2a86", size = 118610, upload-time = "2025-11-11T22:38:43.339Z" },
+ { url = "https://files.pythonhosted.org/packages/61/d1/6964158524484d7f3410386ff27cbc8f33ef06f8d9ee0e188348efb9a139/frozendict-2.4.7-cp310-cp310-win32.whl", hash = "sha256:a10d38fa300f6bef230fae1fdb4bc98706b78c8a3a2f3140fde748469ef3cfe8", size = 34547, upload-time = "2025-11-11T22:38:44.327Z" },
+ { url = "https://files.pythonhosted.org/packages/94/27/c22d614332c61ace4406542787edafaf7df533c6f02d1de8979d35492587/frozendict-2.4.7-cp310-cp310-win_amd64.whl", hash = "sha256:dd518f300e5eb6a8827bee380f2e1a31c01dc0af069b13abdecd4e5769bd8a97", size = 37693, upload-time = "2025-11-11T22:38:45.571Z" },
+ { url = "https://files.pythonhosted.org/packages/bc/d8/9d6604357b1816586612e0e89bab6d8a9c029e95e199862dc99ce8ae2ed5/frozendict-2.4.7-cp310-cp310-win_arm64.whl", hash = "sha256:3842cfc2d69df5b9978f2e881b7678a282dbdd6846b11b5159f910bc633cbe4f", size = 35563, upload-time = "2025-11-11T22:38:46.642Z" },
+ { url = "https://files.pythonhosted.org/packages/38/74/f94141b38a51a553efef7f510fc213894161ae49b88bffd037f8d2a7cb2f/frozendict-2.4.7-py3-none-any.whl", hash = "sha256:972af65924ea25cf5b4d9326d549e69a9a4918d8a76a9d3a7cd174d98b237550", size = 16264, upload-time = "2025-11-11T22:40:12.836Z" },
+]
+
+[[package]]
+name = "frozenlist"
+version = "1.8.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/2d/f5/c831fac6cc817d26fd54c7eaccd04ef7e0288806943f7cc5bbf69f3ac1f0/frozenlist-1.8.0.tar.gz", hash = "sha256:3ede829ed8d842f6cd48fc7081d7a41001a56f1f38603f9d49bf3020d59a31ad", size = 45875, upload-time = "2025-10-06T05:38:17.865Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/83/4a/557715d5047da48d54e659203b9335be7bfaafda2c3f627b7c47e0b3aaf3/frozenlist-1.8.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:b37f6d31b3dcea7deb5e9696e529a6aa4a898adc33db82da12e4c60a7c4d2011", size = 86230, upload-time = "2025-10-06T05:35:23.699Z" },
+ { url = "https://files.pythonhosted.org/packages/a2/fb/c85f9fed3ea8fe8740e5b46a59cc141c23b842eca617da8876cfce5f760e/frozenlist-1.8.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:ef2b7b394f208233e471abc541cc6991f907ffd47dc72584acee3147899d6565", size = 49621, upload-time = "2025-10-06T05:35:25.341Z" },
+ { url = "https://files.pythonhosted.org/packages/63/70/26ca3f06aace16f2352796b08704338d74b6d1a24ca38f2771afbb7ed915/frozenlist-1.8.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:a88f062f072d1589b7b46e951698950e7da00442fc1cacbe17e19e025dc327ad", size = 49889, upload-time = "2025-10-06T05:35:26.797Z" },
+ { url = "https://files.pythonhosted.org/packages/5d/ed/c7895fd2fde7f3ee70d248175f9b6cdf792fb741ab92dc59cd9ef3bd241b/frozenlist-1.8.0-cp310-cp310-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:f57fb59d9f385710aa7060e89410aeb5058b99e62f4d16b08b91986b9a2140c2", size = 219464, upload-time = "2025-10-06T05:35:28.254Z" },
+ { url = "https://files.pythonhosted.org/packages/6b/83/4d587dccbfca74cb8b810472392ad62bfa100bf8108c7223eb4c4fa2f7b3/frozenlist-1.8.0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:799345ab092bee59f01a915620b5d014698547afd011e691a208637312db9186", size = 221649, upload-time = "2025-10-06T05:35:29.454Z" },
+ { url = "https://files.pythonhosted.org/packages/6a/c6/fd3b9cd046ec5fff9dab66831083bc2077006a874a2d3d9247dea93ddf7e/frozenlist-1.8.0-cp310-cp310-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:c23c3ff005322a6e16f71bf8692fcf4d5a304aaafe1e262c98c6d4adc7be863e", size = 219188, upload-time = "2025-10-06T05:35:30.951Z" },
+ { url = "https://files.pythonhosted.org/packages/ce/80/6693f55eb2e085fc8afb28cf611448fb5b90e98e068fa1d1b8d8e66e5c7d/frozenlist-1.8.0-cp310-cp310-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:8a76ea0f0b9dfa06f254ee06053d93a600865b3274358ca48a352ce4f0798450", size = 231748, upload-time = "2025-10-06T05:35:32.101Z" },
+ { url = "https://files.pythonhosted.org/packages/97/d6/e9459f7c5183854abd989ba384fe0cc1a0fb795a83c033f0571ec5933ca4/frozenlist-1.8.0-cp310-cp310-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:c7366fe1418a6133d5aa824ee53d406550110984de7637d65a178010f759c6ef", size = 236351, upload-time = "2025-10-06T05:35:33.834Z" },
+ { url = "https://files.pythonhosted.org/packages/97/92/24e97474b65c0262e9ecd076e826bfd1d3074adcc165a256e42e7b8a7249/frozenlist-1.8.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:13d23a45c4cebade99340c4165bd90eeb4a56c6d8a9d8aa49568cac19a6d0dc4", size = 218767, upload-time = "2025-10-06T05:35:35.205Z" },
+ { url = "https://files.pythonhosted.org/packages/ee/bf/dc394a097508f15abff383c5108cb8ad880d1f64a725ed3b90d5c2fbf0bb/frozenlist-1.8.0-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:e4a3408834f65da56c83528fb52ce7911484f0d1eaf7b761fc66001db1646eff", size = 235887, upload-time = "2025-10-06T05:35:36.354Z" },
+ { url = "https://files.pythonhosted.org/packages/40/90/25b201b9c015dbc999a5baf475a257010471a1fa8c200c843fd4abbee725/frozenlist-1.8.0-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:42145cd2748ca39f32801dad54aeea10039da6f86e303659db90db1c4b614c8c", size = 228785, upload-time = "2025-10-06T05:35:37.949Z" },
+ { url = "https://files.pythonhosted.org/packages/84/f4/b5bc148df03082f05d2dd30c089e269acdbe251ac9a9cf4e727b2dbb8a3d/frozenlist-1.8.0-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:e2de870d16a7a53901e41b64ffdf26f2fbb8917b3e6ebf398098d72c5b20bd7f", size = 230312, upload-time = "2025-10-06T05:35:39.178Z" },
+ { url = "https://files.pythonhosted.org/packages/db/4b/87e95b5d15097c302430e647136b7d7ab2398a702390cf4c8601975709e7/frozenlist-1.8.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:20e63c9493d33ee48536600d1a5c95eefc870cd71e7ab037763d1fbb89cc51e7", size = 217650, upload-time = "2025-10-06T05:35:40.377Z" },
+ { url = "https://files.pythonhosted.org/packages/e5/70/78a0315d1fea97120591a83e0acd644da638c872f142fd72a6cebee825f3/frozenlist-1.8.0-cp310-cp310-win32.whl", hash = "sha256:adbeebaebae3526afc3c96fad434367cafbfd1b25d72369a9e5858453b1bb71a", size = 39659, upload-time = "2025-10-06T05:35:41.863Z" },
+ { url = "https://files.pythonhosted.org/packages/66/aa/3f04523fb189a00e147e60c5b2205126118f216b0aa908035c45336e27e4/frozenlist-1.8.0-cp310-cp310-win_amd64.whl", hash = "sha256:667c3777ca571e5dbeb76f331562ff98b957431df140b54c85fd4d52eea8d8f6", size = 43837, upload-time = "2025-10-06T05:35:43.205Z" },
+ { url = "https://files.pythonhosted.org/packages/39/75/1135feecdd7c336938bd55b4dc3b0dfc46d85b9be12ef2628574b28de776/frozenlist-1.8.0-cp310-cp310-win_arm64.whl", hash = "sha256:80f85f0a7cc86e7a54c46d99c9e1318ff01f4687c172ede30fd52d19d1da1c8e", size = 39989, upload-time = "2025-10-06T05:35:44.596Z" },
+ { url = "https://files.pythonhosted.org/packages/bc/03/077f869d540370db12165c0aa51640a873fb661d8b315d1d4d67b284d7ac/frozenlist-1.8.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:09474e9831bc2b2199fad6da3c14c7b0fbdd377cce9d3d77131be28906cb7d84", size = 86912, upload-time = "2025-10-06T05:35:45.98Z" },
+ { url = "https://files.pythonhosted.org/packages/df/b5/7610b6bd13e4ae77b96ba85abea1c8cb249683217ef09ac9e0ae93f25a91/frozenlist-1.8.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:17c883ab0ab67200b5f964d2b9ed6b00971917d5d8a92df149dc2c9779208ee9", size = 50046, upload-time = "2025-10-06T05:35:47.009Z" },
+ { url = "https://files.pythonhosted.org/packages/6e/ef/0e8f1fe32f8a53dd26bdd1f9347efe0778b0fddf62789ea683f4cc7d787d/frozenlist-1.8.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:fa47e444b8ba08fffd1c18e8cdb9a75db1b6a27f17507522834ad13ed5922b93", size = 50119, upload-time = "2025-10-06T05:35:48.38Z" },
+ { url = "https://files.pythonhosted.org/packages/11/b1/71a477adc7c36e5fb628245dfbdea2166feae310757dea848d02bd0689fd/frozenlist-1.8.0-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:2552f44204b744fba866e573be4c1f9048d6a324dfe14475103fd51613eb1d1f", size = 231067, upload-time = "2025-10-06T05:35:49.97Z" },
+ { url = "https://files.pythonhosted.org/packages/45/7e/afe40eca3a2dc19b9904c0f5d7edfe82b5304cb831391edec0ac04af94c2/frozenlist-1.8.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:957e7c38f250991e48a9a73e6423db1bb9dd14e722a10f6b8bb8e16a0f55f695", size = 233160, upload-time = "2025-10-06T05:35:51.729Z" },
+ { url = "https://files.pythonhosted.org/packages/a6/aa/7416eac95603ce428679d273255ffc7c998d4132cfae200103f164b108aa/frozenlist-1.8.0-cp311-cp311-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:8585e3bb2cdea02fc88ffa245069c36555557ad3609e83be0ec71f54fd4abb52", size = 228544, upload-time = "2025-10-06T05:35:53.246Z" },
+ { url = "https://files.pythonhosted.org/packages/8b/3d/2a2d1f683d55ac7e3875e4263d28410063e738384d3adc294f5ff3d7105e/frozenlist-1.8.0-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:edee74874ce20a373d62dc28b0b18b93f645633c2943fd90ee9d898550770581", size = 243797, upload-time = "2025-10-06T05:35:54.497Z" },
+ { url = "https://files.pythonhosted.org/packages/78/1e/2d5565b589e580c296d3bb54da08d206e797d941a83a6fdea42af23be79c/frozenlist-1.8.0-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:c9a63152fe95756b85f31186bddf42e4c02c6321207fd6601a1c89ebac4fe567", size = 247923, upload-time = "2025-10-06T05:35:55.861Z" },
+ { url = "https://files.pythonhosted.org/packages/aa/c3/65872fcf1d326a7f101ad4d86285c403c87be7d832b7470b77f6d2ed5ddc/frozenlist-1.8.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:b6db2185db9be0a04fecf2f241c70b63b1a242e2805be291855078f2b404dd6b", size = 230886, upload-time = "2025-10-06T05:35:57.399Z" },
+ { url = "https://files.pythonhosted.org/packages/a0/76/ac9ced601d62f6956f03cc794f9e04c81719509f85255abf96e2510f4265/frozenlist-1.8.0-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:f4be2e3d8bc8aabd566f8d5b8ba7ecc09249d74ba3c9ed52e54dc23a293f0b92", size = 245731, upload-time = "2025-10-06T05:35:58.563Z" },
+ { url = "https://files.pythonhosted.org/packages/b9/49/ecccb5f2598daf0b4a1415497eba4c33c1e8ce07495eb07d2860c731b8d5/frozenlist-1.8.0-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:c8d1634419f39ea6f5c427ea2f90ca85126b54b50837f31497f3bf38266e853d", size = 241544, upload-time = "2025-10-06T05:35:59.719Z" },
+ { url = "https://files.pythonhosted.org/packages/53/4b/ddf24113323c0bbcc54cb38c8b8916f1da7165e07b8e24a717b4a12cbf10/frozenlist-1.8.0-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:1a7fa382a4a223773ed64242dbe1c9c326ec09457e6b8428efb4118c685c3dfd", size = 241806, upload-time = "2025-10-06T05:36:00.959Z" },
+ { url = "https://files.pythonhosted.org/packages/a7/fb/9b9a084d73c67175484ba2789a59f8eebebd0827d186a8102005ce41e1ba/frozenlist-1.8.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:11847b53d722050808926e785df837353bd4d75f1d494377e59b23594d834967", size = 229382, upload-time = "2025-10-06T05:36:02.22Z" },
+ { url = "https://files.pythonhosted.org/packages/95/a3/c8fb25aac55bf5e12dae5c5aa6a98f85d436c1dc658f21c3ac73f9fa95e5/frozenlist-1.8.0-cp311-cp311-win32.whl", hash = "sha256:27c6e8077956cf73eadd514be8fb04d77fc946a7fe9f7fe167648b0b9085cc25", size = 39647, upload-time = "2025-10-06T05:36:03.409Z" },
+ { url = "https://files.pythonhosted.org/packages/0a/f5/603d0d6a02cfd4c8f2a095a54672b3cf967ad688a60fb9faf04fc4887f65/frozenlist-1.8.0-cp311-cp311-win_amd64.whl", hash = "sha256:ac913f8403b36a2c8610bbfd25b8013488533e71e62b4b4adce9c86c8cea905b", size = 44064, upload-time = "2025-10-06T05:36:04.368Z" },
+ { url = "https://files.pythonhosted.org/packages/5d/16/c2c9ab44e181f043a86f9a8f84d5124b62dbcb3a02c0977ec72b9ac1d3e0/frozenlist-1.8.0-cp311-cp311-win_arm64.whl", hash = "sha256:d4d3214a0f8394edfa3e303136d0575eece0745ff2b47bd2cb2e66dd92d4351a", size = 39937, upload-time = "2025-10-06T05:36:05.669Z" },
+ { url = "https://files.pythonhosted.org/packages/69/29/948b9aa87e75820a38650af445d2ef2b6b8a6fab1a23b6bb9e4ef0be2d59/frozenlist-1.8.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:78f7b9e5d6f2fdb88cdde9440dc147259b62b9d3b019924def9f6478be254ac1", size = 87782, upload-time = "2025-10-06T05:36:06.649Z" },
+ { url = "https://files.pythonhosted.org/packages/64/80/4f6e318ee2a7c0750ed724fa33a4bdf1eacdc5a39a7a24e818a773cd91af/frozenlist-1.8.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:229bf37d2e4acdaf808fd3f06e854a4a7a3661e871b10dc1f8f1896a3b05f18b", size = 50594, upload-time = "2025-10-06T05:36:07.69Z" },
+ { url = "https://files.pythonhosted.org/packages/2b/94/5c8a2b50a496b11dd519f4a24cb5496cf125681dd99e94c604ccdea9419a/frozenlist-1.8.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:f833670942247a14eafbb675458b4e61c82e002a148f49e68257b79296e865c4", size = 50448, upload-time = "2025-10-06T05:36:08.78Z" },
+ { url = "https://files.pythonhosted.org/packages/6a/bd/d91c5e39f490a49df14320f4e8c80161cfcce09f1e2cde1edd16a551abb3/frozenlist-1.8.0-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:494a5952b1c597ba44e0e78113a7266e656b9794eec897b19ead706bd7074383", size = 242411, upload-time = "2025-10-06T05:36:09.801Z" },
+ { url = "https://files.pythonhosted.org/packages/8f/83/f61505a05109ef3293dfb1ff594d13d64a2324ac3482be2cedc2be818256/frozenlist-1.8.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:96f423a119f4777a4a056b66ce11527366a8bb92f54e541ade21f2374433f6d4", size = 243014, upload-time = "2025-10-06T05:36:11.394Z" },
+ { url = "https://files.pythonhosted.org/packages/d8/cb/cb6c7b0f7d4023ddda30cf56b8b17494eb3a79e3fda666bf735f63118b35/frozenlist-1.8.0-cp312-cp312-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:3462dd9475af2025c31cc61be6652dfa25cbfb56cbbf52f4ccfe029f38decaf8", size = 234909, upload-time = "2025-10-06T05:36:12.598Z" },
+ { url = "https://files.pythonhosted.org/packages/31/c5/cd7a1f3b8b34af009fb17d4123c5a778b44ae2804e3ad6b86204255f9ec5/frozenlist-1.8.0-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:c4c800524c9cd9bac5166cd6f55285957fcfc907db323e193f2afcd4d9abd69b", size = 250049, upload-time = "2025-10-06T05:36:14.065Z" },
+ { url = "https://files.pythonhosted.org/packages/c0/01/2f95d3b416c584a1e7f0e1d6d31998c4a795f7544069ee2e0962a4b60740/frozenlist-1.8.0-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:d6a5df73acd3399d893dafc71663ad22534b5aa4f94e8a2fabfe856c3c1b6a52", size = 256485, upload-time = "2025-10-06T05:36:15.39Z" },
+ { url = "https://files.pythonhosted.org/packages/ce/03/024bf7720b3abaebcff6d0793d73c154237b85bdf67b7ed55e5e9596dc9a/frozenlist-1.8.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:405e8fe955c2280ce66428b3ca55e12b3c4e9c336fb2103a4937e891c69a4a29", size = 237619, upload-time = "2025-10-06T05:36:16.558Z" },
+ { url = "https://files.pythonhosted.org/packages/69/fa/f8abdfe7d76b731f5d8bd217827cf6764d4f1d9763407e42717b4bed50a0/frozenlist-1.8.0-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:908bd3f6439f2fef9e85031b59fd4f1297af54415fb60e4254a95f75b3cab3f3", size = 250320, upload-time = "2025-10-06T05:36:17.821Z" },
+ { url = "https://files.pythonhosted.org/packages/f5/3c/b051329f718b463b22613e269ad72138cc256c540f78a6de89452803a47d/frozenlist-1.8.0-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:294e487f9ec720bd8ffcebc99d575f7eff3568a08a253d1ee1a0378754b74143", size = 246820, upload-time = "2025-10-06T05:36:19.046Z" },
+ { url = "https://files.pythonhosted.org/packages/0f/ae/58282e8f98e444b3f4dd42448ff36fa38bef29e40d40f330b22e7108f565/frozenlist-1.8.0-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:74c51543498289c0c43656701be6b077f4b265868fa7f8a8859c197006efb608", size = 250518, upload-time = "2025-10-06T05:36:20.763Z" },
+ { url = "https://files.pythonhosted.org/packages/8f/96/007e5944694d66123183845a106547a15944fbbb7154788cbf7272789536/frozenlist-1.8.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:776f352e8329135506a1d6bf16ac3f87bc25b28e765949282dcc627af36123aa", size = 239096, upload-time = "2025-10-06T05:36:22.129Z" },
+ { url = "https://files.pythonhosted.org/packages/66/bb/852b9d6db2fa40be96f29c0d1205c306288f0684df8fd26ca1951d461a56/frozenlist-1.8.0-cp312-cp312-win32.whl", hash = "sha256:433403ae80709741ce34038da08511d4a77062aa924baf411ef73d1146e74faf", size = 39985, upload-time = "2025-10-06T05:36:23.661Z" },
+ { url = "https://files.pythonhosted.org/packages/b8/af/38e51a553dd66eb064cdf193841f16f077585d4d28394c2fa6235cb41765/frozenlist-1.8.0-cp312-cp312-win_amd64.whl", hash = "sha256:34187385b08f866104f0c0617404c8eb08165ab1272e884abc89c112e9c00746", size = 44591, upload-time = "2025-10-06T05:36:24.958Z" },
+ { url = "https://files.pythonhosted.org/packages/a7/06/1dc65480ab147339fecc70797e9c2f69d9cea9cf38934ce08df070fdb9cb/frozenlist-1.8.0-cp312-cp312-win_arm64.whl", hash = "sha256:fe3c58d2f5db5fbd18c2987cba06d51b0529f52bc3a6cdc33d3f4eab725104bd", size = 40102, upload-time = "2025-10-06T05:36:26.333Z" },
+ { url = "https://files.pythonhosted.org/packages/2d/40/0832c31a37d60f60ed79e9dfb5a92e1e2af4f40a16a29abcc7992af9edff/frozenlist-1.8.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:8d92f1a84bb12d9e56f818b3a746f3efba93c1b63c8387a73dde655e1e42282a", size = 85717, upload-time = "2025-10-06T05:36:27.341Z" },
+ { url = "https://files.pythonhosted.org/packages/30/ba/b0b3de23f40bc55a7057bd38434e25c34fa48e17f20ee273bbde5e0650f3/frozenlist-1.8.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:96153e77a591c8adc2ee805756c61f59fef4cf4073a9275ee86fe8cba41241f7", size = 49651, upload-time = "2025-10-06T05:36:28.855Z" },
+ { url = "https://files.pythonhosted.org/packages/0c/ab/6e5080ee374f875296c4243c381bbdef97a9ac39c6e3ce1d5f7d42cb78d6/frozenlist-1.8.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:f21f00a91358803399890ab167098c131ec2ddd5f8f5fd5fe9c9f2c6fcd91e40", size = 49417, upload-time = "2025-10-06T05:36:29.877Z" },
+ { url = "https://files.pythonhosted.org/packages/d5/4e/e4691508f9477ce67da2015d8c00acd751e6287739123113a9fca6f1604e/frozenlist-1.8.0-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:fb30f9626572a76dfe4293c7194a09fb1fe93ba94c7d4f720dfae3b646b45027", size = 234391, upload-time = "2025-10-06T05:36:31.301Z" },
+ { url = "https://files.pythonhosted.org/packages/40/76/c202df58e3acdf12969a7895fd6f3bc016c642e6726aa63bd3025e0fc71c/frozenlist-1.8.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:eaa352d7047a31d87dafcacbabe89df0aa506abb5b1b85a2fb91bc3faa02d822", size = 233048, upload-time = "2025-10-06T05:36:32.531Z" },
+ { url = "https://files.pythonhosted.org/packages/f9/c0/8746afb90f17b73ca5979c7a3958116e105ff796e718575175319b5bb4ce/frozenlist-1.8.0-cp313-cp313-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:03ae967b4e297f58f8c774c7eabcce57fe3c2434817d4385c50661845a058121", size = 226549, upload-time = "2025-10-06T05:36:33.706Z" },
+ { url = "https://files.pythonhosted.org/packages/7e/eb/4c7eefc718ff72f9b6c4893291abaae5fbc0c82226a32dcd8ef4f7a5dbef/frozenlist-1.8.0-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:f6292f1de555ffcc675941d65fffffb0a5bcd992905015f85d0592201793e0e5", size = 239833, upload-time = "2025-10-06T05:36:34.947Z" },
+ { url = "https://files.pythonhosted.org/packages/c2/4e/e5c02187cf704224f8b21bee886f3d713ca379535f16893233b9d672ea71/frozenlist-1.8.0-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:29548f9b5b5e3460ce7378144c3010363d8035cea44bc0bf02d57f5a685e084e", size = 245363, upload-time = "2025-10-06T05:36:36.534Z" },
+ { url = "https://files.pythonhosted.org/packages/1f/96/cb85ec608464472e82ad37a17f844889c36100eed57bea094518bf270692/frozenlist-1.8.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:ec3cc8c5d4084591b4237c0a272cc4f50a5b03396a47d9caaf76f5d7b38a4f11", size = 229314, upload-time = "2025-10-06T05:36:38.582Z" },
+ { url = "https://files.pythonhosted.org/packages/5d/6f/4ae69c550e4cee66b57887daeebe006fe985917c01d0fff9caab9883f6d0/frozenlist-1.8.0-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:517279f58009d0b1f2e7c1b130b377a349405da3f7621ed6bfae50b10adf20c1", size = 243365, upload-time = "2025-10-06T05:36:40.152Z" },
+ { url = "https://files.pythonhosted.org/packages/7a/58/afd56de246cf11780a40a2c28dc7cbabbf06337cc8ddb1c780a2d97e88d8/frozenlist-1.8.0-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:db1e72ede2d0d7ccb213f218df6a078a9c09a7de257c2fe8fcef16d5925230b1", size = 237763, upload-time = "2025-10-06T05:36:41.355Z" },
+ { url = "https://files.pythonhosted.org/packages/cb/36/cdfaf6ed42e2644740d4a10452d8e97fa1c062e2a8006e4b09f1b5fd7d63/frozenlist-1.8.0-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:b4dec9482a65c54a5044486847b8a66bf10c9cb4926d42927ec4e8fd5db7fed8", size = 240110, upload-time = "2025-10-06T05:36:42.716Z" },
+ { url = "https://files.pythonhosted.org/packages/03/a8/9ea226fbefad669f11b52e864c55f0bd57d3c8d7eb07e9f2e9a0b39502e1/frozenlist-1.8.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:21900c48ae04d13d416f0e1e0c4d81f7931f73a9dfa0b7a8746fb2fe7dd970ed", size = 233717, upload-time = "2025-10-06T05:36:44.251Z" },
+ { url = "https://files.pythonhosted.org/packages/1e/0b/1b5531611e83ba7d13ccc9988967ea1b51186af64c42b7a7af465dcc9568/frozenlist-1.8.0-cp313-cp313-win32.whl", hash = "sha256:8b7b94a067d1c504ee0b16def57ad5738701e4ba10cec90529f13fa03c833496", size = 39628, upload-time = "2025-10-06T05:36:45.423Z" },
+ { url = "https://files.pythonhosted.org/packages/d8/cf/174c91dbc9cc49bc7b7aab74d8b734e974d1faa8f191c74af9b7e80848e6/frozenlist-1.8.0-cp313-cp313-win_amd64.whl", hash = "sha256:878be833caa6a3821caf85eb39c5ba92d28e85df26d57afb06b35b2efd937231", size = 43882, upload-time = "2025-10-06T05:36:46.796Z" },
+ { url = "https://files.pythonhosted.org/packages/c1/17/502cd212cbfa96eb1388614fe39a3fc9ab87dbbe042b66f97acb57474834/frozenlist-1.8.0-cp313-cp313-win_arm64.whl", hash = "sha256:44389d135b3ff43ba8cc89ff7f51f5a0bb6b63d829c8300f79a2fe4fe61bcc62", size = 39676, upload-time = "2025-10-06T05:36:47.8Z" },
+ { url = "https://files.pythonhosted.org/packages/d2/5c/3bbfaa920dfab09e76946a5d2833a7cbdf7b9b4a91c714666ac4855b88b4/frozenlist-1.8.0-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:e25ac20a2ef37e91c1b39938b591457666a0fa835c7783c3a8f33ea42870db94", size = 89235, upload-time = "2025-10-06T05:36:48.78Z" },
+ { url = "https://files.pythonhosted.org/packages/d2/d6/f03961ef72166cec1687e84e8925838442b615bd0b8854b54923ce5b7b8a/frozenlist-1.8.0-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:07cdca25a91a4386d2e76ad992916a85038a9b97561bf7a3fd12d5d9ce31870c", size = 50742, upload-time = "2025-10-06T05:36:49.837Z" },
+ { url = "https://files.pythonhosted.org/packages/1e/bb/a6d12b7ba4c3337667d0e421f7181c82dda448ce4e7ad7ecd249a16fa806/frozenlist-1.8.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:4e0c11f2cc6717e0a741f84a527c52616140741cd812a50422f83dc31749fb52", size = 51725, upload-time = "2025-10-06T05:36:50.851Z" },
+ { url = "https://files.pythonhosted.org/packages/bc/71/d1fed0ffe2c2ccd70b43714c6cab0f4188f09f8a67a7914a6b46ee30f274/frozenlist-1.8.0-cp313-cp313t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:b3210649ee28062ea6099cfda39e147fa1bc039583c8ee4481cb7811e2448c51", size = 284533, upload-time = "2025-10-06T05:36:51.898Z" },
+ { url = "https://files.pythonhosted.org/packages/c9/1f/fb1685a7b009d89f9bf78a42d94461bc06581f6e718c39344754a5d9bada/frozenlist-1.8.0-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:581ef5194c48035a7de2aefc72ac6539823bb71508189e5de01d60c9dcd5fa65", size = 292506, upload-time = "2025-10-06T05:36:53.101Z" },
+ { url = "https://files.pythonhosted.org/packages/e6/3b/b991fe1612703f7e0d05c0cf734c1b77aaf7c7d321df4572e8d36e7048c8/frozenlist-1.8.0-cp313-cp313t-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:3ef2d026f16a2b1866e1d86fc4e1291e1ed8a387b2c333809419a2f8b3a77b82", size = 274161, upload-time = "2025-10-06T05:36:54.309Z" },
+ { url = "https://files.pythonhosted.org/packages/ca/ec/c5c618767bcdf66e88945ec0157d7f6c4a1322f1473392319b7a2501ded7/frozenlist-1.8.0-cp313-cp313t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:5500ef82073f599ac84d888e3a8c1f77ac831183244bfd7f11eaa0289fb30714", size = 294676, upload-time = "2025-10-06T05:36:55.566Z" },
+ { url = "https://files.pythonhosted.org/packages/7c/ce/3934758637d8f8a88d11f0585d6495ef54b2044ed6ec84492a91fa3b27aa/frozenlist-1.8.0-cp313-cp313t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:50066c3997d0091c411a66e710f4e11752251e6d2d73d70d8d5d4c76442a199d", size = 300638, upload-time = "2025-10-06T05:36:56.758Z" },
+ { url = "https://files.pythonhosted.org/packages/fc/4f/a7e4d0d467298f42de4b41cbc7ddaf19d3cfeabaf9ff97c20c6c7ee409f9/frozenlist-1.8.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:5c1c8e78426e59b3f8005e9b19f6ff46e5845895adbde20ece9218319eca6506", size = 283067, upload-time = "2025-10-06T05:36:57.965Z" },
+ { url = "https://files.pythonhosted.org/packages/dc/48/c7b163063d55a83772b268e6d1affb960771b0e203b632cfe09522d67ea5/frozenlist-1.8.0-cp313-cp313t-musllinux_1_2_armv7l.whl", hash = "sha256:eefdba20de0d938cec6a89bd4d70f346a03108a19b9df4248d3cf0d88f1b0f51", size = 292101, upload-time = "2025-10-06T05:36:59.237Z" },
+ { url = "https://files.pythonhosted.org/packages/9f/d0/2366d3c4ecdc2fd391e0afa6e11500bfba0ea772764d631bbf82f0136c9d/frozenlist-1.8.0-cp313-cp313t-musllinux_1_2_ppc64le.whl", hash = "sha256:cf253e0e1c3ceb4aaff6df637ce033ff6535fb8c70a764a8f46aafd3d6ab798e", size = 289901, upload-time = "2025-10-06T05:37:00.811Z" },
+ { url = "https://files.pythonhosted.org/packages/b8/94/daff920e82c1b70e3618a2ac39fbc01ae3e2ff6124e80739ce5d71c9b920/frozenlist-1.8.0-cp313-cp313t-musllinux_1_2_s390x.whl", hash = "sha256:032efa2674356903cd0261c4317a561a6850f3ac864a63fc1583147fb05a79b0", size = 289395, upload-time = "2025-10-06T05:37:02.115Z" },
+ { url = "https://files.pythonhosted.org/packages/e3/20/bba307ab4235a09fdcd3cc5508dbabd17c4634a1af4b96e0f69bfe551ebd/frozenlist-1.8.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:6da155091429aeba16851ecb10a9104a108bcd32f6c1642867eadaee401c1c41", size = 283659, upload-time = "2025-10-06T05:37:03.711Z" },
+ { url = "https://files.pythonhosted.org/packages/fd/00/04ca1c3a7a124b6de4f8a9a17cc2fcad138b4608e7a3fc5877804b8715d7/frozenlist-1.8.0-cp313-cp313t-win32.whl", hash = "sha256:0f96534f8bfebc1a394209427d0f8a63d343c9779cda6fc25e8e121b5fd8555b", size = 43492, upload-time = "2025-10-06T05:37:04.915Z" },
+ { url = "https://files.pythonhosted.org/packages/59/5e/c69f733a86a94ab10f68e496dc6b7e8bc078ebb415281d5698313e3af3a1/frozenlist-1.8.0-cp313-cp313t-win_amd64.whl", hash = "sha256:5d63a068f978fc69421fb0e6eb91a9603187527c86b7cd3f534a5b77a592b888", size = 48034, upload-time = "2025-10-06T05:37:06.343Z" },
+ { url = "https://files.pythonhosted.org/packages/16/6c/be9d79775d8abe79b05fa6d23da99ad6e7763a1d080fbae7290b286093fd/frozenlist-1.8.0-cp313-cp313t-win_arm64.whl", hash = "sha256:bf0a7e10b077bf5fb9380ad3ae8ce20ef919a6ad93b4552896419ac7e1d8e042", size = 41749, upload-time = "2025-10-06T05:37:07.431Z" },
+ { url = "https://files.pythonhosted.org/packages/9a/9a/e35b4a917281c0b8419d4207f4334c8e8c5dbf4f3f5f9ada73958d937dcc/frozenlist-1.8.0-py3-none-any.whl", hash = "sha256:0c18a16eab41e82c295618a77502e17b195883241c563b00f0aa5106fc4eaa0d", size = 13409, upload-time = "2025-10-06T05:38:16.721Z" },
+]
+
+[[package]]
+name = "fsspec"
+version = "2026.2.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/51/7c/f60c259dcbf4f0c47cc4ddb8f7720d2dcdc8888c8e5ad84c73ea4531cc5b/fsspec-2026.2.0.tar.gz", hash = "sha256:6544e34b16869f5aacd5b90bdf1a71acb37792ea3ddf6125ee69a22a53fb8bff", size = 313441, upload-time = "2026-02-05T21:50:53.743Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/e6/ab/fb21f4c939bb440104cc2b396d3be1d9b7a9fd3c6c2a53d98c45b3d7c954/fsspec-2026.2.0-py3-none-any.whl", hash = "sha256:98de475b5cb3bd66bedd5c4679e87b4fdfe1a3bf4d707b151b3c07e58c9a2437", size = 202505, upload-time = "2026-02-05T21:50:51.819Z" },
+]
+
+[package.optional-dependencies]
+http = [
+ { name = "aiohttp" },
+]
+
+[[package]]
+name = "funasr"
+version = "1.3.1"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "editdistance" },
+ { name = "hydra-core" },
+ { name = "jaconv" },
+ { name = "jamo" },
+ { name = "jieba" },
+ { name = "kaldiio" },
+ { name = "librosa" },
+ { name = "modelscope" },
+ { name = "oss2" },
+ { name = "pytorch-wpe" },
+ { name = "pyyaml" },
+ { name = "requests" },
+ { name = "scipy", version = "1.15.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11' or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "scipy", version = "1.17.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11' or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "sentencepiece" },
+ { name = "soundfile" },
+ { name = "tensorboardx" },
+ { name = "torch-complex" },
+ { name = "tqdm" },
+ { name = "umap-learn" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/87/dc/d5586cd788bdf75286d73e646f5f354f8b3220b75a61c0325a177689065d/funasr-1.3.1.tar.gz", hash = "sha256:ed813c0ecade7d24393943a82a91f7cee822178ab4bfd303adb8ad318605e0a5", size = 664362, upload-time = "2026-01-26T13:07:43.579Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/57/89/61c09967f0f4f091402367215000c3c060bfeaadbbdc9aca42856d299c95/funasr-1.3.1-py3-none-any.whl", hash = "sha256:f63050d7d625f287ec741b84a0325365699c49550a4bfd3ace4acb43e41a87a8", size = 811975, upload-time = "2026-01-26T13:07:41.866Z" },
+]
+
+[[package]]
+name = "future"
+version = "1.0.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/a7/b2/4140c69c6a66432916b26158687e821ba631a4c9273c474343badf84d3ba/future-1.0.0.tar.gz", hash = "sha256:bd2968309307861edae1458a4f8a4f3598c03be43b97521076aebf5d94c07b05", size = 1228490, upload-time = "2024-02-21T11:52:38.461Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/da/71/ae30dadffc90b9006d77af76b393cb9dfbfc9629f339fc1574a1c52e6806/future-1.0.0-py3-none-any.whl", hash = "sha256:929292d34f5872e70396626ef385ec22355a1fae8ad29e1a734c3e43f9fbc216", size = 491326, upload-time = "2024-02-21T11:52:35.956Z" },
+]
+
+[[package]]
+name = "g2p-en"
+version = "2.1.0"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "distance" },
+ { name = "inflect" },
+ { name = "nltk" },
+ { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11' or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "numpy", version = "2.3.5", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11' or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/5f/22/2c7acbe6164ed6cfd4301e9ad2dbde69c68d22268a0f9b5b0ee6052ed3ab/g2p_en-2.1.0.tar.gz", hash = "sha256:32ecb119827a3b10ea8c1197276f4ea4f44070ae56cbbd01f0f261875f556a58", size = 3116166, upload-time = "2019-12-31T01:16:12.753Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/d7/d9/b77dc634a7a0c0c97716ba97dd0a28cbfa6267c96f359c4f27ed71cbd284/g2p_en-2.1.0-py3-none-any.whl", hash = "sha256:2a7aabf1fc7f270fcc3349881407988c9245173c2413debbe5432f4a4f31319f", size = 3117464, upload-time = "2019-12-31T01:16:03.286Z" },
+]
+
+[[package]]
+name = "g2pk2"
+version = "0.0.3"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "jamo" },
+ { name = "nltk" },
+]
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/53/52/6b77a9c3e4ea32dfb53238422dabf4fa977681d2bf4087bff53c084ab7c5/g2pk2-0.0.3-py3-none-any.whl", hash = "sha256:e708316125248c10432cbead85cf52dd9ed252c423cce531f9df617386978cf2", size = 25716, upload-time = "2023-08-18T17:05:33.705Z" },
+]
+
+[[package]]
+name = "gpt-sovits-meta"
+version = "5.0.0.dev0+v2pro"
+source = { editable = "." }
+dependencies = [
+ { name = "build" },
+ { name = "cmake" },
+ { name = "cython" },
+ { name = "ninja" },
+ { name = "pip" },
+ { name = "pre-commit" },
+ { name = "setuptools" },
+ { name = "wheel" },
+]
+
+[package.optional-dependencies]
+cpu = [
+ { name = "torch", version = "2.9.1", source = { registry = "https://download.pytorch.org/whl/cpu" }, marker = "(platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "torch", version = "2.9.1+cpu", source = { registry = "https://download.pytorch.org/whl/cpu" }, marker = "(platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'arm64' and sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'linux' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (sys_platform == 'linux' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'linux' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'linux' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'linux' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'linux' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "torchaudio", version = "2.9.1", source = { registry = "https://download.pytorch.org/whl/cpu" }, marker = "(platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "torchaudio", version = "2.9.1+cpu", source = { registry = "https://download.pytorch.org/whl/cpu" }, marker = "(platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "torchcodec", version = "0.10.0", source = { registry = "https://download.pytorch.org/whl/cpu" }, marker = "(platform_machine != 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu') or (sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "torchcodec", version = "0.10.0+cu128", source = { registry = "https://download.pytorch.org/whl/cu128" }, marker = "(platform_machine == 'aarch64' and sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu') or (platform_machine != 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine != 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine != 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine != 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'aarch64' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+]
+cu126 = [
+ { name = "torch", version = "2.10.0+cu126", source = { registry = "https://download.pytorch.org/whl/cu126" } },
+ { name = "torchaudio", version = "2.10.0", source = { registry = "https://download.pytorch.org/whl/cpu" }, marker = "(platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine == 'arm64' and sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform != 'darwin' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (sys_platform != 'darwin' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (sys_platform != 'darwin' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform != 'darwin' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform != 'darwin' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (sys_platform != 'darwin' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform != 'darwin' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform != 'darwin' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform != 'darwin' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform != 'darwin' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "torchaudio", version = "2.10.0+cpu", source = { registry = "https://download.pytorch.org/whl/cpu" }, marker = "(platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform != 'darwin' and extra == 'extra-15-gpt-sovits-meta-cu126') or (sys_platform != 'darwin' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (sys_platform != 'darwin' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform != 'darwin' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform != 'darwin' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform != 'darwin' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform != 'darwin' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "torchcodec", version = "0.10.0+cu126", source = { registry = "https://download.pytorch.org/whl/cu126" } },
+]
+cu128 = [
+ { name = "torch", version = "2.10.0+cu128", source = { registry = "https://download.pytorch.org/whl/cu128" } },
+ { name = "torchaudio", version = "2.10.0", source = { registry = "https://download.pytorch.org/whl/cpu" }, marker = "(platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'arm64' and sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform != 'darwin' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (sys_platform != 'darwin' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (sys_platform != 'darwin' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform != 'darwin' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform != 'darwin' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (sys_platform != 'darwin' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform != 'darwin' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform != 'darwin' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform != 'darwin' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform != 'darwin' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "torchaudio", version = "2.10.0+cpu", source = { registry = "https://download.pytorch.org/whl/cpu" }, marker = "(platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform != 'darwin' and extra == 'extra-15-gpt-sovits-meta-cu128') or (sys_platform != 'darwin' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (sys_platform != 'darwin' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform != 'darwin' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform != 'darwin' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform != 'darwin' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform != 'darwin' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "torchcodec", version = "0.10.0+cu128", source = { registry = "https://download.pytorch.org/whl/cu128" } },
+]
+flash-attn = [
+ { name = "flash-attn", marker = "sys_platform != 'darwin' or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "packaging" },
+ { name = "psutil" },
+]
+main = [
+ { name = "av" },
+ { name = "cn2an" },
+ { name = "ctranslate2" },
+ { name = "eunjeon", marker = "sys_platform == 'win32' or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "fastapi", extra = ["standard"] },
+ { name = "faster-whisper" },
+ { name = "ffmpeg-python" },
+ { name = "funasr" },
+ { name = "g2p-en" },
+ { name = "g2pk2" },
+ { name = "gradio" },
+ { name = "jieba-fast" },
+ { name = "kernels" },
+ { name = "ko-pron" },
+ { name = "librosa" },
+ { name = "matplotlib" },
+ { name = "modelscope" },
+ { name = "onnxruntime", version = "1.23.2", source = { registry = "https://pypi.org/simple" }, marker = "(python_full_version < '3.11' and platform_machine == 'aarch64') or (python_full_version < '3.11' and platform_machine == 'arm64') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "onnxruntime", version = "1.24.1", source = { registry = "https://pypi.org/simple" }, marker = "(python_full_version >= '3.11' and platform_machine == 'aarch64') or (python_full_version >= '3.11' and platform_machine == 'arm64') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "onnxruntime-gpu", version = "1.23.2", source = { registry = "https://pypi.org/simple" }, marker = "(python_full_version < '3.11' and platform_machine == 'AMD64') or (python_full_version < '3.11' and platform_machine == 'x86_64') or (platform_machine != 'AMD64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine != 'AMD64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine != 'AMD64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'AMD64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'AMD64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine != 'AMD64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'AMD64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'AMD64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'AMD64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'AMD64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "onnxruntime-gpu", version = "1.24.1", source = { registry = "https://pypi.org/simple" }, marker = "(python_full_version >= '3.11' and platform_machine == 'AMD64') or (python_full_version >= '3.11' and platform_machine == 'x86_64') or (platform_machine != 'AMD64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine != 'AMD64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine != 'AMD64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'AMD64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'AMD64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine != 'AMD64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'AMD64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'AMD64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'AMD64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'AMD64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "opencc" },
+ { name = "peft" },
+ { name = "py-cpuinfo" },
+ { name = "pyopenjtalk" },
+ { name = "pypinyin" },
+ { name = "python-mecab-ko-py313", marker = "sys_platform != 'win32' or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "pytorch-lightning" },
+ { name = "rich-argparse" },
+ { name = "split-lang" },
+ { name = "tensorboard" },
+ { name = "tojyutping" },
+ { name = "torchaudio", version = "2.9.1", source = { registry = "https://download.pytorch.org/whl/cpu" }, marker = "(platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and sys_platform != 'darwin' and sys_platform != 'win32' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and sys_platform != 'darwin' and sys_platform != 'win32' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and sys_platform != 'win32' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and sys_platform == 'win32' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and sys_platform == 'win32' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "torchaudio", version = "2.9.1+cpu", source = { registry = "https://download.pytorch.org/whl/cpu" }, marker = "(platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'aarch64' and sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and sys_platform == 'win32' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and sys_platform == 'win32' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "torchaudio", version = "2.10.0", source = { registry = "https://download.pytorch.org/whl/cpu" }, marker = "(platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine == 'aarch64' and sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'arm64' and sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine == 'arm64' and sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'aarch64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform != 'darwin' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (sys_platform != 'darwin' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (sys_platform != 'darwin' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform != 'darwin' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform != 'darwin' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (sys_platform != 'darwin' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform != 'darwin' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform != 'darwin' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform != 'darwin' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform != 'darwin' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "torchaudio", version = "2.10.0+cpu", source = { registry = "https://download.pytorch.org/whl/cpu" }, marker = "(platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform != 'darwin' and extra == 'extra-15-gpt-sovits-meta-cu126') or (sys_platform != 'darwin' and extra == 'extra-15-gpt-sovits-meta-cu128') or (sys_platform != 'darwin' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform != 'darwin' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform != 'darwin' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "transformers" },
+ { name = "wordsegment" },
+ { name = "x-transformers" },
+]
+mlx = [
+ { name = "mlx", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'win32' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'win32' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (sys_platform == 'win32' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (sys_platform == 'win32' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (sys_platform == 'win32' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'win32' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'win32' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "mlx", extra = ["cpu"], marker = "(sys_platform == 'win32' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "mlx", extra = ["cuda12"], marker = "(platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "mlx-whisper", marker = "platform_machine != 'aarch64' and sys_platform != 'linux'" },
+ { name = "torch", version = "2.9.1", source = { registry = "https://download.pytorch.org/whl/cpu" }, marker = "(platform_machine == 'arm64' and sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform != 'darwin' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "torch", version = "2.9.1+cpu", source = { registry = "https://download.pytorch.org/whl/cpu" }, marker = "(platform_machine != 'arm64' and sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform != 'darwin' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "torch", version = "2.9.1+cu129", source = { registry = "https://download.pytorch.org/whl/cu129" }, marker = "(sys_platform != 'darwin' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "torchaudio", version = "2.9.1", source = { registry = "https://download.pytorch.org/whl/cpu" }, marker = "(platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and sys_platform != 'darwin' and sys_platform != 'win32' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and sys_platform != 'win32' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and sys_platform != 'darwin' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine == 'aarch64' and sys_platform != 'darwin' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'aarch64' and sys_platform != 'darwin' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and sys_platform != 'darwin' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and sys_platform != 'darwin' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'aarch64' and sys_platform != 'darwin' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and sys_platform != 'darwin' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and sys_platform != 'darwin' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and sys_platform != 'darwin' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'win32' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (sys_platform == 'win32' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (sys_platform == 'win32' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'win32' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'win32' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (sys_platform == 'win32' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'win32' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'win32' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'win32' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'win32' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "torchaudio", version = "2.9.1+cpu", source = { registry = "https://download.pytorch.org/whl/cpu" }, marker = "(platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'arm64' and sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and sys_platform != 'darwin' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine == 'aarch64' and sys_platform != 'darwin' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'aarch64' and sys_platform != 'darwin' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and sys_platform != 'darwin' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and sys_platform != 'darwin' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'aarch64' and sys_platform != 'darwin' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and sys_platform != 'darwin' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and sys_platform != 'darwin' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and sys_platform != 'darwin' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and sys_platform != 'darwin' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'win32' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'win32' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (sys_platform == 'win32' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (sys_platform == 'win32' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (sys_platform == 'win32' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'win32' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'win32' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "torchcodec", version = "0.10.0", source = { registry = "https://download.pytorch.org/whl/cpu" }, marker = "(sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "torchcodec", version = "0.10.0+cu129", source = { registry = "https://download.pytorch.org/whl/cu129" }, marker = "(sys_platform != 'darwin' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+]
+rocm64 = [
+ { name = "pytorch-triton-rocm" },
+ { name = "torch", version = "2.9.1+rocm6.4", source = { registry = "https://download.pytorch.org/whl/rocm6.4" } },
+ { name = "torchaudio", version = "2.9.1", source = { registry = "https://download.pytorch.org/whl/cpu" }, marker = "(platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "torchaudio", version = "2.9.1+cpu", source = { registry = "https://download.pytorch.org/whl/cpu" }, marker = "(platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "torchcodec", version = "0.10.0+cu128", source = { registry = "https://download.pytorch.org/whl/cu128" } },
+]
+
+[package.metadata]
+requires-dist = [
+ { name = "av", marker = "extra == 'main'", specifier = ">=11" },
+ { name = "build" },
+ { name = "cmake" },
+ { name = "cn2an", marker = "extra == 'main'" },
+ { name = "ctranslate2", marker = "extra == 'main'", specifier = ">=4.0,<5" },
+ { name = "cython" },
+ { name = "eunjeon", marker = "sys_platform == 'win32' and extra == 'main'" },
+ { name = "fastapi", extras = ["standard"], marker = "extra == 'main'" },
+ { name = "faster-whisper", marker = "extra == 'main'" },
+ { name = "ffmpeg-python", marker = "extra == 'main'" },
+ { name = "flash-attn", marker = "sys_platform != 'darwin' and extra == 'flash-attn'", index = "https://xxxxrt666.github.io/PIP-Index" },
+ { name = "funasr", marker = "extra == 'main'" },
+ { name = "g2p-en", marker = "extra == 'main'" },
+ { name = "g2pk2", marker = "extra == 'main'" },
+ { name = "gradio", marker = "extra == 'main'", specifier = "<5.50" },
+ { name = "jieba-fast", marker = "extra == 'main'" },
+ { name = "kernels", marker = "extra == 'main'" },
+ { name = "ko-pron", marker = "extra == 'main'" },
+ { name = "librosa", marker = "extra == 'main'", specifier = "~=0.10" },
+ { name = "matplotlib", marker = "extra == 'main'", specifier = ">=3.10" },
+ { name = "mlx", marker = "platform_machine == 'arm64' and sys_platform == 'darwin' and extra == 'mlx'" },
+ { name = "mlx", extras = ["cpu"], marker = "sys_platform == 'win32' and extra == 'mlx'" },
+ { name = "mlx", extras = ["cuda12"], marker = "platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'mlx'" },
+ { name = "mlx-whisper", marker = "platform_machine != 'aarch64' and sys_platform != 'linux' and extra == 'mlx'" },
+ { name = "modelscope", marker = "extra == 'main'" },
+ { name = "ninja" },
+ { name = "onnxruntime", marker = "(python_full_version >= '3.11' and platform_machine == 'aarch64' and extra == 'main') or (python_full_version >= '3.11' and platform_machine == 'arm64' and extra == 'main')" },
+ { name = "onnxruntime", marker = "(python_full_version < '3.11' and platform_machine == 'aarch64' and extra == 'main') or (python_full_version < '3.11' and platform_machine == 'arm64' and extra == 'main')", specifier = "<1.24" },
+ { name = "onnxruntime-gpu", marker = "(python_full_version >= '3.11' and platform_machine == 'AMD64' and extra == 'main') or (python_full_version >= '3.11' and platform_machine == 'x86_64' and extra == 'main')" },
+ { name = "onnxruntime-gpu", marker = "(python_full_version < '3.11' and platform_machine == 'AMD64' and extra == 'main') or (python_full_version < '3.11' and platform_machine == 'x86_64' and extra == 'main')", specifier = "<1.24" },
+ { name = "opencc", marker = "extra == 'main'" },
+ { name = "packaging", marker = "extra == 'flash-attn'" },
+ { name = "peft", marker = "extra == 'main'" },
+ { name = "pip" },
+ { name = "pre-commit" },
+ { name = "psutil", marker = "extra == 'flash-attn'" },
+ { name = "py-cpuinfo", marker = "extra == 'main'" },
+ { name = "pyopenjtalk", marker = "extra == 'main'", specifier = ">=0.4.1" },
+ { name = "pypinyin", marker = "extra == 'main'" },
+ { name = "python-mecab-ko-py313", marker = "sys_platform != 'win32' and extra == 'main'" },
+ { name = "pytorch-lightning", marker = "extra == 'main'" },
+ { name = "pytorch-triton-rocm", marker = "extra == 'rocm64'", index = "https://download.pytorch.org/whl/rocm6.4" },
+ { name = "rich-argparse", marker = "extra == 'main'" },
+ { name = "setuptools" },
+ { name = "split-lang", marker = "extra == 'main'" },
+ { name = "tensorboard", marker = "extra == 'main'" },
+ { name = "tojyutping", marker = "extra == 'main'" },
+ { name = "torch", marker = "sys_platform == 'darwin' and extra == 'mlx'", specifier = ">2.6", index = "https://download.pytorch.org/whl/cpu", conflict = { package = "gpt-sovits-meta", extra = "mlx" } },
+ { name = "torch", marker = "sys_platform != 'darwin' and extra == 'mlx'", specifier = ">2.6", index = "https://download.pytorch.org/whl/cu129", conflict = { package = "gpt-sovits-meta", extra = "mlx" } },
+ { name = "torch", marker = "extra == 'cpu'", specifier = ">2.6", index = "https://download.pytorch.org/whl/cpu", conflict = { package = "gpt-sovits-meta", extra = "cpu" } },
+ { name = "torch", marker = "extra == 'cu126'", specifier = ">2.6", index = "https://download.pytorch.org/whl/cu126", conflict = { package = "gpt-sovits-meta", extra = "cu126" } },
+ { name = "torch", marker = "extra == 'cu128'", specifier = ">2.6", index = "https://download.pytorch.org/whl/cu128", conflict = { package = "gpt-sovits-meta", extra = "cu128" } },
+ { name = "torch", marker = "extra == 'rocm64'", specifier = ">2.6", index = "https://download.pytorch.org/whl/rocm6.4", conflict = { package = "gpt-sovits-meta", extra = "rocm64" } },
+ { name = "torchaudio", marker = "extra == 'cpu'", index = "https://download.pytorch.org/whl/cpu" },
+ { name = "torchaudio", marker = "extra == 'cu126'", index = "https://download.pytorch.org/whl/cpu" },
+ { name = "torchaudio", marker = "extra == 'cu128'", index = "https://download.pytorch.org/whl/cpu" },
+ { name = "torchaudio", marker = "extra == 'main'", index = "https://download.pytorch.org/whl/cpu" },
+ { name = "torchaudio", marker = "extra == 'mlx'", index = "https://download.pytorch.org/whl/cpu" },
+ { name = "torchaudio", marker = "extra == 'rocm64'", index = "https://download.pytorch.org/whl/cpu" },
+ { name = "torchcodec", marker = "sys_platform == 'darwin' and extra == 'mlx'", index = "https://download.pytorch.org/whl/cpu", conflict = { package = "gpt-sovits-meta", extra = "mlx" } },
+ { name = "torchcodec", marker = "sys_platform != 'darwin' and extra == 'mlx'", index = "https://download.pytorch.org/whl/cu129", conflict = { package = "gpt-sovits-meta", extra = "mlx" } },
+ { name = "torchcodec", marker = "platform_machine == 'aarch64' and sys_platform == 'linux' and extra == 'cpu'", index = "https://download.pytorch.org/whl/cu128", conflict = { package = "gpt-sovits-meta", extra = "cpu" } },
+ { name = "torchcodec", marker = "(platform_machine != 'aarch64' and extra == 'cpu') or (sys_platform != 'linux' and extra == 'cpu')", index = "https://download.pytorch.org/whl/cpu", conflict = { package = "gpt-sovits-meta", extra = "cpu" } },
+ { name = "torchcodec", marker = "extra == 'cu126'", index = "https://download.pytorch.org/whl/cu126", conflict = { package = "gpt-sovits-meta", extra = "cu126" } },
+ { name = "torchcodec", marker = "extra == 'cu128'", index = "https://download.pytorch.org/whl/cu128", conflict = { package = "gpt-sovits-meta", extra = "cu128" } },
+ { name = "torchcodec", marker = "extra == 'rocm64'", index = "https://download.pytorch.org/whl/cu128", conflict = { package = "gpt-sovits-meta", extra = "rocm64" } },
+ { name = "transformers", marker = "extra == 'main'" },
+ { name = "wheel" },
+ { name = "wordsegment", marker = "extra == 'main'" },
+ { name = "x-transformers", marker = "extra == 'main'" },
+]
+provides-extras = ["cpu", "cu126", "cu128", "flash-attn", "main", "mlx", "rocm64"]
+
+[[package]]
+name = "gradio"
+version = "5.49.1"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "aiofiles" },
+ { name = "anyio" },
+ { name = "audioop-lts", marker = "python_full_version >= '3.13' or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "brotli" },
+ { name = "fastapi" },
+ { name = "ffmpy" },
+ { name = "gradio-client" },
+ { name = "groovy" },
+ { name = "httpx" },
+ { name = "huggingface-hub" },
+ { name = "jinja2" },
+ { name = "markupsafe" },
+ { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11' or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "numpy", version = "2.3.5", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11' or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "orjson" },
+ { name = "packaging" },
+ { name = "pandas" },
+ { name = "pillow" },
+ { name = "pydantic" },
+ { name = "pydub" },
+ { name = "python-multipart" },
+ { name = "pyyaml" },
+ { name = "ruff" },
+ { name = "safehttpx" },
+ { name = "semantic-version" },
+ { name = "starlette" },
+ { name = "tomlkit" },
+ { name = "typer" },
+ { name = "typing-extensions" },
+ { name = "uvicorn" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/83/67/17b3969a686f204dfb8f06bd34d1423bcba1df8a2f3674f115ca427188b7/gradio-5.49.1.tar.gz", hash = "sha256:c06faa324ae06c3892c8b4b4e73c706c4520d380f6b9e52a3c02dc53a7627ba9", size = 73784504, upload-time = "2025-10-08T20:18:40.4Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/8d/95/1c25fbcabfa201ab79b016c8716a4ac0f846121d4bbfd2136ffb6d87f31e/gradio-5.49.1-py3-none-any.whl", hash = "sha256:1b19369387801a26a6ba7fd2f74d46c5b0e2ac9ddef14f24ddc0d11fb19421b7", size = 63523840, upload-time = "2025-10-08T20:18:34.585Z" },
+]
+
+[[package]]
+name = "gradio-client"
+version = "1.13.3"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "fsspec" },
+ { name = "httpx" },
+ { name = "huggingface-hub" },
+ { name = "packaging" },
+ { name = "typing-extensions" },
+ { name = "websockets" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/3e/a9/a3beb0ece8c05c33e6376b790fa42e0dd157abca8220cf639b249a597467/gradio_client-1.13.3.tar.gz", hash = "sha256:869b3e67e0f7a0f40df8c48c94de99183265cf4b7b1d9bd4623e336d219ffbe7", size = 323253, upload-time = "2025-09-26T19:51:21.7Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/6e/0b/337b74504681b5dde39f20d803bb09757f9973ecdc65fd4e819d4b11faf7/gradio_client-1.13.3-py3-none-any.whl", hash = "sha256:3f63e4d33a2899c1a12b10fe3cf77b82a6919ff1a1fb6391f6aa225811aa390c", size = 325350, upload-time = "2025-09-26T19:51:20.288Z" },
+]
+
+[[package]]
+name = "groovy"
+version = "0.1.2"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/52/36/bbdede67400277bef33d3ec0e6a31750da972c469f75966b4930c753218f/groovy-0.1.2.tar.gz", hash = "sha256:25c1dc09b3f9d7e292458aa762c6beb96ea037071bf5e917fc81fb78d2231083", size = 17325, upload-time = "2025-02-28T20:24:56.068Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/28/27/3d6dcadc8a3214d8522c1e7f6a19554e33659be44546d44a2f7572ac7d2a/groovy-0.1.2-py3-none-any.whl", hash = "sha256:7f7975bab18c729a257a8b1ae9dcd70b7cafb1720481beae47719af57c35fa64", size = 14090, upload-time = "2025-02-28T20:24:55.152Z" },
+]
+
+[[package]]
+name = "grpcio"
+version = "1.78.0"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "typing-extensions" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/06/8a/3d098f35c143a89520e568e6539cc098fcd294495910e359889ce8741c84/grpcio-1.78.0.tar.gz", hash = "sha256:7382b95189546f375c174f53a5fa873cef91c4b8005faa05cc5b3beea9c4f1c5", size = 12852416, upload-time = "2026-02-06T09:57:18.093Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/5a/a8/690a085b4d1fe066130de97a87de32c45062cf2ecd218df9675add895550/grpcio-1.78.0-cp310-cp310-linux_armv7l.whl", hash = "sha256:7cc47943d524ee0096f973e1081cb8f4f17a4615f2116882a5f1416e4cfe92b5", size = 5946986, upload-time = "2026-02-06T09:54:34.043Z" },
+ { url = "https://files.pythonhosted.org/packages/c7/1b/e5213c5c0ced9d2d92778d30529ad5bb2dcfb6c48c4e2d01b1f302d33d64/grpcio-1.78.0-cp310-cp310-macosx_11_0_universal2.whl", hash = "sha256:c3f293fdc675ccba4db5a561048cca627b5e7bd1c8a6973ffedabe7d116e22e2", size = 11816533, upload-time = "2026-02-06T09:54:37.04Z" },
+ { url = "https://files.pythonhosted.org/packages/18/37/1ba32dccf0a324cc5ace744c44331e300b000a924bf14840f948c559ede7/grpcio-1.78.0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:10a9a644b5dd5aec3b82b5b0b90d41c0fa94c85ef42cb42cf78a23291ddb5e7d", size = 6519964, upload-time = "2026-02-06T09:54:40.268Z" },
+ { url = "https://files.pythonhosted.org/packages/ed/f5/c0e178721b818072f2e8b6fde13faaba942406c634009caf065121ce246b/grpcio-1.78.0-cp310-cp310-manylinux2014_i686.manylinux_2_17_i686.whl", hash = "sha256:4c5533d03a6cbd7f56acfc9cfb44ea64f63d29091e40e44010d34178d392d7eb", size = 7198058, upload-time = "2026-02-06T09:54:42.389Z" },
+ { url = "https://files.pythonhosted.org/packages/5b/b2/40d43c91ae9cd667edc960135f9f08e58faa1576dc95af29f66ec912985f/grpcio-1.78.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:ff870aebe9a93a85283837801d35cd5f8814fe2ad01e606861a7fb47c762a2b7", size = 6727212, upload-time = "2026-02-06T09:54:44.91Z" },
+ { url = "https://files.pythonhosted.org/packages/ed/88/9da42eed498f0efcfcd9156e48ae63c0cde3bea398a16c99fb5198c885b6/grpcio-1.78.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:391e93548644e6b2726f1bb84ed60048d4bcc424ce5e4af0843d28ca0b754fec", size = 7300845, upload-time = "2026-02-06T09:54:47.562Z" },
+ { url = "https://files.pythonhosted.org/packages/23/3f/1c66b7b1b19a8828890e37868411a6e6925df5a9030bfa87ab318f34095d/grpcio-1.78.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:df2c8f3141f7cbd112a6ebbd760290b5849cda01884554f7c67acc14e7b1758a", size = 8284605, upload-time = "2026-02-06T09:54:50.475Z" },
+ { url = "https://files.pythonhosted.org/packages/94/c4/ca1bd87394f7b033e88525384b4d1e269e8424ab441ea2fba1a0c5b50986/grpcio-1.78.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:bd8cb8026e5f5b50498a3c4f196f57f9db344dad829ffae16b82e4fdbaea2813", size = 7726672, upload-time = "2026-02-06T09:54:53.11Z" },
+ { url = "https://files.pythonhosted.org/packages/41/09/f16e487d4cc65ccaf670f6ebdd1a17566b965c74fc3d93999d3b2821e052/grpcio-1.78.0-cp310-cp310-win32.whl", hash = "sha256:f8dff3d9777e5d2703a962ee5c286c239bf0ba173877cc68dc02c17d042e29de", size = 4076715, upload-time = "2026-02-06T09:54:55.549Z" },
+ { url = "https://files.pythonhosted.org/packages/2a/32/4ce60d94e242725fd3bcc5673c04502c82a8e87b21ea411a63992dc39f8f/grpcio-1.78.0-cp310-cp310-win_amd64.whl", hash = "sha256:94f95cf5d532d0e717eed4fc1810e8e6eded04621342ec54c89a7c2f14b581bf", size = 4799157, upload-time = "2026-02-06T09:54:59.838Z" },
+ { url = "https://files.pythonhosted.org/packages/86/c7/d0b780a29b0837bf4ca9580904dfb275c1fc321ded7897d620af7047ec57/grpcio-1.78.0-cp311-cp311-linux_armv7l.whl", hash = "sha256:2777b783f6c13b92bd7b716667452c329eefd646bfb3f2e9dabea2e05dbd34f6", size = 5951525, upload-time = "2026-02-06T09:55:01.989Z" },
+ { url = "https://files.pythonhosted.org/packages/c5/b1/96920bf2ee61df85a9503cb6f733fe711c0ff321a5a697d791b075673281/grpcio-1.78.0-cp311-cp311-macosx_11_0_universal2.whl", hash = "sha256:9dca934f24c732750389ce49d638069c3892ad065df86cb465b3fa3012b70c9e", size = 11830418, upload-time = "2026-02-06T09:55:04.462Z" },
+ { url = "https://files.pythonhosted.org/packages/83/0c/7c1528f098aeb75a97de2bae18c530f56959fb7ad6c882db45d9884d6edc/grpcio-1.78.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:459ab414b35f4496138d0ecd735fed26f1318af5e52cb1efbc82a09f0d5aa911", size = 6524477, upload-time = "2026-02-06T09:55:07.111Z" },
+ { url = "https://files.pythonhosted.org/packages/8d/52/e7c1f3688f949058e19a011c4e0dec973da3d0ae5e033909677f967ae1f4/grpcio-1.78.0-cp311-cp311-manylinux2014_i686.manylinux_2_17_i686.whl", hash = "sha256:082653eecbdf290e6e3e2c276ab2c54b9e7c299e07f4221872380312d8cf395e", size = 7198266, upload-time = "2026-02-06T09:55:10.016Z" },
+ { url = "https://files.pythonhosted.org/packages/e5/61/8ac32517c1e856677282c34f2e7812d6c328fa02b8f4067ab80e77fdc9c9/grpcio-1.78.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:85f93781028ec63f383f6bc90db785a016319c561cc11151fbb7b34e0d012303", size = 6730552, upload-time = "2026-02-06T09:55:12.207Z" },
+ { url = "https://files.pythonhosted.org/packages/bd/98/b8ee0158199250220734f620b12e4a345955ac7329cfd908d0bf0fda77f0/grpcio-1.78.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:f12857d24d98441af6a1d5c87442d624411db486f7ba12550b07788f74b67b04", size = 7304296, upload-time = "2026-02-06T09:55:15.044Z" },
+ { url = "https://files.pythonhosted.org/packages/bd/0f/7b72762e0d8840b58032a56fdbd02b78fc645b9fa993d71abf04edbc54f4/grpcio-1.78.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:5397fff416b79e4b284959642a4e95ac4b0f1ece82c9993658e0e477d40551ec", size = 8288298, upload-time = "2026-02-06T09:55:17.276Z" },
+ { url = "https://files.pythonhosted.org/packages/24/ae/ae4ce56bc5bb5caa3a486d60f5f6083ac3469228faa734362487176c15c5/grpcio-1.78.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:fbe6e89c7ffb48518384068321621b2a69cab509f58e40e4399fdd378fa6d074", size = 7730953, upload-time = "2026-02-06T09:55:19.545Z" },
+ { url = "https://files.pythonhosted.org/packages/b5/6e/8052e3a28eb6a820c372b2eb4b5e32d195c661e137d3eca94d534a4cfd8a/grpcio-1.78.0-cp311-cp311-win32.whl", hash = "sha256:6092beabe1966a3229f599d7088b38dfc8ffa1608b5b5cdda31e591e6500f856", size = 4076503, upload-time = "2026-02-06T09:55:21.521Z" },
+ { url = "https://files.pythonhosted.org/packages/08/62/f22c98c5265dfad327251fa2f840b591b1df5f5e15d88b19c18c86965b27/grpcio-1.78.0-cp311-cp311-win_amd64.whl", hash = "sha256:1afa62af6e23f88629f2b29ec9e52ec7c65a7176c1e0a83292b93c76ca882558", size = 4799767, upload-time = "2026-02-06T09:55:24.107Z" },
+ { url = "https://files.pythonhosted.org/packages/4e/f4/7384ed0178203d6074446b3c4f46c90a22ddf7ae0b3aee521627f54cfc2a/grpcio-1.78.0-cp312-cp312-linux_armv7l.whl", hash = "sha256:f9ab915a267fc47c7e88c387a3a28325b58c898e23d4995f765728f4e3dedb97", size = 5913985, upload-time = "2026-02-06T09:55:26.832Z" },
+ { url = "https://files.pythonhosted.org/packages/81/ed/be1caa25f06594463f685b3790b320f18aea49b33166f4141bfdc2bfb236/grpcio-1.78.0-cp312-cp312-macosx_11_0_universal2.whl", hash = "sha256:3f8904a8165ab21e07e58bf3e30a73f4dffc7a1e0dbc32d51c61b5360d26f43e", size = 11811853, upload-time = "2026-02-06T09:55:29.224Z" },
+ { url = "https://files.pythonhosted.org/packages/24/a7/f06d151afc4e64b7e3cc3e872d331d011c279aaab02831e40a81c691fb65/grpcio-1.78.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:859b13906ce098c0b493af92142ad051bf64c7870fa58a123911c88606714996", size = 6475766, upload-time = "2026-02-06T09:55:31.825Z" },
+ { url = "https://files.pythonhosted.org/packages/8a/a8/4482922da832ec0082d0f2cc3a10976d84a7424707f25780b82814aafc0a/grpcio-1.78.0-cp312-cp312-manylinux2014_i686.manylinux_2_17_i686.whl", hash = "sha256:b2342d87af32790f934a79c3112641e7b27d63c261b8b4395350dad43eff1dc7", size = 7170027, upload-time = "2026-02-06T09:55:34.7Z" },
+ { url = "https://files.pythonhosted.org/packages/54/bf/f4a3b9693e35d25b24b0b39fa46d7d8a3c439e0a3036c3451764678fec20/grpcio-1.78.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:12a771591ae40bc65ba67048fa52ef4f0e6db8279e595fd349f9dfddeef571f9", size = 6690766, upload-time = "2026-02-06T09:55:36.902Z" },
+ { url = "https://files.pythonhosted.org/packages/c7/b9/521875265cc99fe5ad4c5a17010018085cae2810a928bf15ebe7d8bcd9cc/grpcio-1.78.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:185dea0d5260cbb2d224c507bf2a5444d5abbb1fa3594c1ed7e4c709d5eb8383", size = 7266161, upload-time = "2026-02-06T09:55:39.824Z" },
+ { url = "https://files.pythonhosted.org/packages/05/86/296a82844fd40a4ad4a95f100b55044b4f817dece732bf686aea1a284147/grpcio-1.78.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:51b13f9aed9d59ee389ad666b8c2214cc87b5de258fa712f9ab05f922e3896c6", size = 8253303, upload-time = "2026-02-06T09:55:42.353Z" },
+ { url = "https://files.pythonhosted.org/packages/f3/e4/ea3c0caf5468537f27ad5aab92b681ed7cc0ef5f8c9196d3fd42c8c2286b/grpcio-1.78.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:fd5f135b1bd58ab088930b3c613455796dfa0393626a6972663ccdda5b4ac6ce", size = 7698222, upload-time = "2026-02-06T09:55:44.629Z" },
+ { url = "https://files.pythonhosted.org/packages/d7/47/7f05f81e4bb6b831e93271fb12fd52ba7b319b5402cbc101d588f435df00/grpcio-1.78.0-cp312-cp312-win32.whl", hash = "sha256:94309f498bcc07e5a7d16089ab984d42ad96af1d94b5a4eb966a266d9fcabf68", size = 4066123, upload-time = "2026-02-06T09:55:47.644Z" },
+ { url = "https://files.pythonhosted.org/packages/ad/e7/d6914822c88aa2974dbbd10903d801a28a19ce9cd8bad7e694cbbcf61528/grpcio-1.78.0-cp312-cp312-win_amd64.whl", hash = "sha256:9566fe4ababbb2610c39190791e5b829869351d14369603702e890ef3ad2d06e", size = 4797657, upload-time = "2026-02-06T09:55:49.86Z" },
+ { url = "https://files.pythonhosted.org/packages/05/a9/8f75894993895f361ed8636cd9237f4ab39ef87fd30db17467235ed1c045/grpcio-1.78.0-cp313-cp313-linux_armv7l.whl", hash = "sha256:ce3a90455492bf8bfa38e56fbbe1dbd4f872a3d8eeaf7337dc3b1c8aa28c271b", size = 5920143, upload-time = "2026-02-06T09:55:52.035Z" },
+ { url = "https://files.pythonhosted.org/packages/55/06/0b78408e938ac424100100fd081189451b472236e8a3a1f6500390dc4954/grpcio-1.78.0-cp313-cp313-macosx_11_0_universal2.whl", hash = "sha256:2bf5e2e163b356978b23652c4818ce4759d40f4712ee9ec5a83c4be6f8c23a3a", size = 11803926, upload-time = "2026-02-06T09:55:55.494Z" },
+ { url = "https://files.pythonhosted.org/packages/88/93/b59fe7832ff6ae3c78b813ea43dac60e295fa03606d14d89d2e0ec29f4f3/grpcio-1.78.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:8f2ac84905d12918e4e55a16da17939eb63e433dc11b677267c35568aa63fc84", size = 6478628, upload-time = "2026-02-06T09:55:58.533Z" },
+ { url = "https://files.pythonhosted.org/packages/ed/df/e67e3734527f9926b7d9c0dde6cd998d1d26850c3ed8eeec81297967ac67/grpcio-1.78.0-cp313-cp313-manylinux2014_i686.manylinux_2_17_i686.whl", hash = "sha256:b58f37edab4a3881bc6c9bca52670610e0c9ca14e2ea3cf9debf185b870457fb", size = 7173574, upload-time = "2026-02-06T09:56:01.786Z" },
+ { url = "https://files.pythonhosted.org/packages/a6/62/cc03fffb07bfba982a9ec097b164e8835546980aec25ecfa5f9c1a47e022/grpcio-1.78.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:735e38e176a88ce41840c21bb49098ab66177c64c82426e24e0082500cc68af5", size = 6692639, upload-time = "2026-02-06T09:56:04.529Z" },
+ { url = "https://files.pythonhosted.org/packages/bf/9a/289c32e301b85bdb67d7ec68b752155e674ee3ba2173a1858f118e399ef3/grpcio-1.78.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:2045397e63a7a0ee7957c25f7dbb36ddc110e0cfb418403d110c0a7a68a844e9", size = 7268838, upload-time = "2026-02-06T09:56:08.397Z" },
+ { url = "https://files.pythonhosted.org/packages/0e/79/1be93f32add280461fa4773880196572563e9c8510861ac2da0ea0f892b6/grpcio-1.78.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:a9f136fbafe7ccf4ac7e8e0c28b31066e810be52d6e344ef954a3a70234e1702", size = 8251878, upload-time = "2026-02-06T09:56:10.914Z" },
+ { url = "https://files.pythonhosted.org/packages/65/65/793f8e95296ab92e4164593674ae6291b204bb5f67f9d4a711489cd30ffa/grpcio-1.78.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:748b6138585379c737adc08aeffd21222abbda1a86a0dca2a39682feb9196c20", size = 7695412, upload-time = "2026-02-06T09:56:13.593Z" },
+ { url = "https://files.pythonhosted.org/packages/1c/9f/1e233fe697ecc82845942c2822ed06bb522e70d6771c28d5528e4c50f6a4/grpcio-1.78.0-cp313-cp313-win32.whl", hash = "sha256:271c73e6e5676afe4fc52907686670c7cea22ab2310b76a59b678403ed40d670", size = 4064899, upload-time = "2026-02-06T09:56:15.601Z" },
+ { url = "https://files.pythonhosted.org/packages/4d/27/d86b89e36de8a951501fb06a0f38df19853210f341d0b28f83f4aa0ffa08/grpcio-1.78.0-cp313-cp313-win_amd64.whl", hash = "sha256:f2d4e43ee362adfc05994ed479334d5a451ab7bc3f3fee1b796b8ca66895acb4", size = 4797393, upload-time = "2026-02-06T09:56:17.882Z" },
+]
+
+[[package]]
+name = "h11"
+version = "0.16.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/01/ee/02a2c011bdab74c6fb3c75474d40b3052059d95df7e73351460c8588d963/h11-0.16.0.tar.gz", hash = "sha256:4e35b956cf45792e4caa5885e69fba00bdbc6ffafbfa020300e549b208ee5ff1", size = 101250, upload-time = "2025-04-24T03:35:25.427Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/04/4b/29cac41a4d98d144bf5f6d33995617b185d14b22401f75ca86f384e87ff1/h11-0.16.0-py3-none-any.whl", hash = "sha256:63cf8bbe7522de3bf65932fda1d9c2772064ffb3dae62d55932da54b31cb6c86", size = 37515, upload-time = "2025-04-24T03:35:24.344Z" },
+]
+
+[[package]]
+name = "hf-xet"
+version = "1.2.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/5e/6e/0f11bacf08a67f7fb5ee09740f2ca54163863b07b70d579356e9222ce5d8/hf_xet-1.2.0.tar.gz", hash = "sha256:a8c27070ca547293b6890c4bf389f713f80e8c478631432962bb7f4bc0bd7d7f", size = 506020, upload-time = "2025-10-24T19:04:32.129Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/9e/a5/85ef910a0aa034a2abcfadc360ab5ac6f6bc4e9112349bd40ca97551cff0/hf_xet-1.2.0-cp313-cp313t-macosx_10_12_x86_64.whl", hash = "sha256:ceeefcd1b7aed4956ae8499e2199607765fbd1c60510752003b6cc0b8413b649", size = 2861870, upload-time = "2025-10-24T19:04:11.422Z" },
+ { url = "https://files.pythonhosted.org/packages/ea/40/e2e0a7eb9a51fe8828ba2d47fe22a7e74914ea8a0db68a18c3aa7449c767/hf_xet-1.2.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:b70218dd548e9840224df5638fdc94bd033552963cfa97f9170829381179c813", size = 2717584, upload-time = "2025-10-24T19:04:09.586Z" },
+ { url = "https://files.pythonhosted.org/packages/a5/7d/daf7f8bc4594fdd59a8a596f9e3886133fdc68e675292218a5e4c1b7e834/hf_xet-1.2.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7d40b18769bb9a8bc82a9ede575ce1a44c75eb80e7375a01d76259089529b5dc", size = 3315004, upload-time = "2025-10-24T19:04:00.314Z" },
+ { url = "https://files.pythonhosted.org/packages/b1/ba/45ea2f605fbf6d81c8b21e4d970b168b18a53515923010c312c06cd83164/hf_xet-1.2.0-cp313-cp313t-manylinux_2_28_aarch64.whl", hash = "sha256:cd3a6027d59cfb60177c12d6424e31f4b5ff13d8e3a1247b3a584bf8977e6df5", size = 3222636, upload-time = "2025-10-24T19:03:58.111Z" },
+ { url = "https://files.pythonhosted.org/packages/4a/1d/04513e3cab8f29ab8c109d309ddd21a2705afab9d52f2ba1151e0c14f086/hf_xet-1.2.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:6de1fc44f58f6dd937956c8d304d8c2dea264c80680bcfa61ca4a15e7b76780f", size = 3408448, upload-time = "2025-10-24T19:04:20.951Z" },
+ { url = "https://files.pythonhosted.org/packages/f0/7c/60a2756d7feec7387db3a1176c632357632fbe7849fce576c5559d4520c7/hf_xet-1.2.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:f182f264ed2acd566c514e45da9f2119110e48a87a327ca271027904c70c5832", size = 3503401, upload-time = "2025-10-24T19:04:22.549Z" },
+ { url = "https://files.pythonhosted.org/packages/4e/64/48fffbd67fb418ab07451e4ce641a70de1c40c10a13e25325e24858ebe5a/hf_xet-1.2.0-cp313-cp313t-win_amd64.whl", hash = "sha256:293a7a3787e5c95d7be1857358a9130694a9c6021de3f27fa233f37267174382", size = 2900866, upload-time = "2025-10-24T19:04:33.461Z" },
+ { url = "https://files.pythonhosted.org/packages/96/2d/22338486473df5923a9ab7107d375dbef9173c338ebef5098ef593d2b560/hf_xet-1.2.0-cp37-abi3-macosx_10_12_x86_64.whl", hash = "sha256:46740d4ac024a7ca9b22bebf77460ff43332868b661186a8e46c227fdae01848", size = 2866099, upload-time = "2025-10-24T19:04:15.366Z" },
+ { url = "https://files.pythonhosted.org/packages/7f/8c/c5becfa53234299bc2210ba314eaaae36c2875e0045809b82e40a9544f0c/hf_xet-1.2.0-cp37-abi3-macosx_11_0_arm64.whl", hash = "sha256:27df617a076420d8845bea087f59303da8be17ed7ec0cd7ee3b9b9f579dff0e4", size = 2722178, upload-time = "2025-10-24T19:04:13.695Z" },
+ { url = "https://files.pythonhosted.org/packages/9a/92/cf3ab0b652b082e66876d08da57fcc6fa2f0e6c70dfbbafbd470bb73eb47/hf_xet-1.2.0-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3651fd5bfe0281951b988c0facbe726aa5e347b103a675f49a3fa8144c7968fd", size = 3320214, upload-time = "2025-10-24T19:04:03.596Z" },
+ { url = "https://files.pythonhosted.org/packages/46/92/3f7ec4a1b6a65bf45b059b6d4a5d38988f63e193056de2f420137e3c3244/hf_xet-1.2.0-cp37-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:d06fa97c8562fb3ee7a378dd9b51e343bc5bc8190254202c9771029152f5e08c", size = 3229054, upload-time = "2025-10-24T19:04:01.949Z" },
+ { url = "https://files.pythonhosted.org/packages/0b/dd/7ac658d54b9fb7999a0ccb07ad863b413cbaf5cf172f48ebcd9497ec7263/hf_xet-1.2.0-cp37-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:4c1428c9ae73ec0939410ec73023c4f842927f39db09b063b9482dac5a3bb737", size = 3413812, upload-time = "2025-10-24T19:04:24.585Z" },
+ { url = "https://files.pythonhosted.org/packages/92/68/89ac4e5b12a9ff6286a12174c8538a5930e2ed662091dd2572bbe0a18c8a/hf_xet-1.2.0-cp37-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:a55558084c16b09b5ed32ab9ed38421e2d87cf3f1f89815764d1177081b99865", size = 3508920, upload-time = "2025-10-24T19:04:26.927Z" },
+ { url = "https://files.pythonhosted.org/packages/cb/44/870d44b30e1dcfb6a65932e3e1506c103a8a5aea9103c337e7a53180322c/hf_xet-1.2.0-cp37-abi3-win_amd64.whl", hash = "sha256:e6584a52253f72c9f52f9e549d5895ca7a471608495c4ecaa6cc73dba2b24d69", size = 2905735, upload-time = "2025-10-24T19:04:35.928Z" },
+]
+
+[[package]]
+name = "httpcore"
+version = "1.0.9"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "certifi" },
+ { name = "h11" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/06/94/82699a10bca87a5556c9c59b5963f2d039dbd239f25bc2a63907a05a14cb/httpcore-1.0.9.tar.gz", hash = "sha256:6e34463af53fd2ab5d807f399a9b45ea31c3dfa2276f15a2c3f00afff6e176e8", size = 85484, upload-time = "2025-04-24T22:06:22.219Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/7e/f5/f66802a942d491edb555dd61e3a9961140fd64c90bce1eafd741609d334d/httpcore-1.0.9-py3-none-any.whl", hash = "sha256:2d400746a40668fc9dec9810239072b40b4484b640a8c38fd654a024c7a1bf55", size = 78784, upload-time = "2025-04-24T22:06:20.566Z" },
+]
+
+[[package]]
+name = "httptools"
+version = "0.7.1"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/b5/46/120a669232c7bdedb9d52d4aeae7e6c7dfe151e99dc70802e2fc7a5e1993/httptools-0.7.1.tar.gz", hash = "sha256:abd72556974f8e7c74a259655924a717a2365b236c882c3f6f8a45fe94703ac9", size = 258961, upload-time = "2025-10-10T03:55:08.559Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/c7/e5/c07e0bcf4ec8db8164e9f6738c048b2e66aabf30e7506f440c4cc6953f60/httptools-0.7.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:11d01b0ff1fe02c4c32d60af61a4d613b74fad069e47e06e9067758c01e9ac78", size = 204531, upload-time = "2025-10-10T03:54:20.887Z" },
+ { url = "https://files.pythonhosted.org/packages/7e/4f/35e3a63f863a659f92ffd92bef131f3e81cf849af26e6435b49bd9f6f751/httptools-0.7.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:84d86c1e5afdc479a6fdabf570be0d3eb791df0ae727e8dbc0259ed1249998d4", size = 109408, upload-time = "2025-10-10T03:54:22.455Z" },
+ { url = "https://files.pythonhosted.org/packages/f5/71/b0a9193641d9e2471ac541d3b1b869538a5fb6419d52fd2669fa9c79e4b8/httptools-0.7.1-cp310-cp310-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:c8c751014e13d88d2be5f5f14fc8b89612fcfa92a9cc480f2bc1598357a23a05", size = 440889, upload-time = "2025-10-10T03:54:23.753Z" },
+ { url = "https://files.pythonhosted.org/packages/eb/d9/2e34811397b76718750fea44658cb0205b84566e895192115252e008b152/httptools-0.7.1-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:654968cb6b6c77e37b832a9be3d3ecabb243bbe7a0b8f65fbc5b6b04c8fcabed", size = 440460, upload-time = "2025-10-10T03:54:25.313Z" },
+ { url = "https://files.pythonhosted.org/packages/01/3f/a04626ebeacc489866bb4d82362c0657b2262bef381d68310134be7f40bb/httptools-0.7.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:b580968316348b474b020edf3988eecd5d6eec4634ee6561e72ae3a2a0e00a8a", size = 425267, upload-time = "2025-10-10T03:54:26.81Z" },
+ { url = "https://files.pythonhosted.org/packages/a5/99/adcd4f66614db627b587627c8ad6f4c55f18881549bab10ecf180562e7b9/httptools-0.7.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:d496e2f5245319da9d764296e86c5bb6fcf0cf7a8806d3d000717a889c8c0b7b", size = 424429, upload-time = "2025-10-10T03:54:28.174Z" },
+ { url = "https://files.pythonhosted.org/packages/d5/72/ec8fc904a8fd30ba022dfa85f3bbc64c3c7cd75b669e24242c0658e22f3c/httptools-0.7.1-cp310-cp310-win_amd64.whl", hash = "sha256:cbf8317bfccf0fed3b5680c559d3459cccf1abe9039bfa159e62e391c7270568", size = 86173, upload-time = "2025-10-10T03:54:29.5Z" },
+ { url = "https://files.pythonhosted.org/packages/9c/08/17e07e8d89ab8f343c134616d72eebfe03798835058e2ab579dcc8353c06/httptools-0.7.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:474d3b7ab469fefcca3697a10d11a32ee2b9573250206ba1e50d5980910da657", size = 206521, upload-time = "2025-10-10T03:54:31.002Z" },
+ { url = "https://files.pythonhosted.org/packages/aa/06/c9c1b41ff52f16aee526fd10fbda99fa4787938aa776858ddc4a1ea825ec/httptools-0.7.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:a3c3b7366bb6c7b96bd72d0dbe7f7d5eead261361f013be5f6d9590465ea1c70", size = 110375, upload-time = "2025-10-10T03:54:31.941Z" },
+ { url = "https://files.pythonhosted.org/packages/cc/cc/10935db22fda0ee34c76f047590ca0a8bd9de531406a3ccb10a90e12ea21/httptools-0.7.1-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:379b479408b8747f47f3b253326183d7c009a3936518cdb70db58cffd369d9df", size = 456621, upload-time = "2025-10-10T03:54:33.176Z" },
+ { url = "https://files.pythonhosted.org/packages/0e/84/875382b10d271b0c11aa5d414b44f92f8dd53e9b658aec338a79164fa548/httptools-0.7.1-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:cad6b591a682dcc6cf1397c3900527f9affef1e55a06c4547264796bbd17cf5e", size = 454954, upload-time = "2025-10-10T03:54:34.226Z" },
+ { url = "https://files.pythonhosted.org/packages/30/e1/44f89b280f7e46c0b1b2ccee5737d46b3bb13136383958f20b580a821ca0/httptools-0.7.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:eb844698d11433d2139bbeeb56499102143beb582bd6c194e3ba69c22f25c274", size = 440175, upload-time = "2025-10-10T03:54:35.942Z" },
+ { url = "https://files.pythonhosted.org/packages/6f/7e/b9287763159e700e335028bc1824359dc736fa9b829dacedace91a39b37e/httptools-0.7.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:f65744d7a8bdb4bda5e1fa23e4ba16832860606fcc09d674d56e425e991539ec", size = 440310, upload-time = "2025-10-10T03:54:37.1Z" },
+ { url = "https://files.pythonhosted.org/packages/b3/07/5b614f592868e07f5c94b1f301b5e14a21df4e8076215a3bccb830a687d8/httptools-0.7.1-cp311-cp311-win_amd64.whl", hash = "sha256:135fbe974b3718eada677229312e97f3b31f8a9c8ffa3ae6f565bf808d5b6bcb", size = 86875, upload-time = "2025-10-10T03:54:38.421Z" },
+ { url = "https://files.pythonhosted.org/packages/53/7f/403e5d787dc4942316e515e949b0c8a013d84078a915910e9f391ba9b3ed/httptools-0.7.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:38e0c83a2ea9746ebbd643bdfb521b9aa4a91703e2cd705c20443405d2fd16a5", size = 206280, upload-time = "2025-10-10T03:54:39.274Z" },
+ { url = "https://files.pythonhosted.org/packages/2a/0d/7f3fd28e2ce311ccc998c388dd1c53b18120fda3b70ebb022b135dc9839b/httptools-0.7.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:f25bbaf1235e27704f1a7b86cd3304eabc04f569c828101d94a0e605ef7205a5", size = 110004, upload-time = "2025-10-10T03:54:40.403Z" },
+ { url = "https://files.pythonhosted.org/packages/84/a6/b3965e1e146ef5762870bbe76117876ceba51a201e18cc31f5703e454596/httptools-0.7.1-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:2c15f37ef679ab9ecc06bfc4e6e8628c32a8e4b305459de7cf6785acd57e4d03", size = 517655, upload-time = "2025-10-10T03:54:41.347Z" },
+ { url = "https://files.pythonhosted.org/packages/11/7d/71fee6f1844e6fa378f2eddde6c3e41ce3a1fb4b2d81118dd544e3441ec0/httptools-0.7.1-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:7fe6e96090df46b36ccfaf746f03034e5ab723162bc51b0a4cf58305324036f2", size = 511440, upload-time = "2025-10-10T03:54:42.452Z" },
+ { url = "https://files.pythonhosted.org/packages/22/a5/079d216712a4f3ffa24af4a0381b108aa9c45b7a5cc6eb141f81726b1823/httptools-0.7.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:f72fdbae2dbc6e68b8239defb48e6a5937b12218e6ffc2c7846cc37befa84362", size = 495186, upload-time = "2025-10-10T03:54:43.937Z" },
+ { url = "https://files.pythonhosted.org/packages/e9/9e/025ad7b65278745dee3bd0ebf9314934c4592560878308a6121f7f812084/httptools-0.7.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:e99c7b90a29fd82fea9ef57943d501a16f3404d7b9ee81799d41639bdaae412c", size = 499192, upload-time = "2025-10-10T03:54:45.003Z" },
+ { url = "https://files.pythonhosted.org/packages/6d/de/40a8f202b987d43afc4d54689600ff03ce65680ede2f31df348d7f368b8f/httptools-0.7.1-cp312-cp312-win_amd64.whl", hash = "sha256:3e14f530fefa7499334a79b0cf7e7cd2992870eb893526fb097d51b4f2d0f321", size = 86694, upload-time = "2025-10-10T03:54:45.923Z" },
+ { url = "https://files.pythonhosted.org/packages/09/8f/c77b1fcbfd262d422f12da02feb0d218fa228d52485b77b953832105bb90/httptools-0.7.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:6babce6cfa2a99545c60bfef8bee0cc0545413cb0018f617c8059a30ad985de3", size = 202889, upload-time = "2025-10-10T03:54:47.089Z" },
+ { url = "https://files.pythonhosted.org/packages/0a/1a/22887f53602feaa066354867bc49a68fc295c2293433177ee90870a7d517/httptools-0.7.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:601b7628de7504077dd3dcb3791c6b8694bbd967148a6d1f01806509254fb1ca", size = 108180, upload-time = "2025-10-10T03:54:48.052Z" },
+ { url = "https://files.pythonhosted.org/packages/32/6a/6aaa91937f0010d288d3d124ca2946d48d60c3a5ee7ca62afe870e3ea011/httptools-0.7.1-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:04c6c0e6c5fb0739c5b8a9eb046d298650a0ff38cf42537fc372b28dc7e4472c", size = 478596, upload-time = "2025-10-10T03:54:48.919Z" },
+ { url = "https://files.pythonhosted.org/packages/6d/70/023d7ce117993107be88d2cbca566a7c1323ccbaf0af7eabf2064fe356f6/httptools-0.7.1-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:69d4f9705c405ae3ee83d6a12283dc9feba8cc6aaec671b412917e644ab4fa66", size = 473268, upload-time = "2025-10-10T03:54:49.993Z" },
+ { url = "https://files.pythonhosted.org/packages/32/4d/9dd616c38da088e3f436e9a616e1d0cc66544b8cdac405cc4e81c8679fc7/httptools-0.7.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:44c8f4347d4b31269c8a9205d8a5ee2df5322b09bbbd30f8f862185bb6b05346", size = 455517, upload-time = "2025-10-10T03:54:51.066Z" },
+ { url = "https://files.pythonhosted.org/packages/1d/3a/a6c595c310b7df958e739aae88724e24f9246a514d909547778d776799be/httptools-0.7.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:465275d76db4d554918aba40bf1cbebe324670f3dfc979eaffaa5d108e2ed650", size = 458337, upload-time = "2025-10-10T03:54:52.196Z" },
+ { url = "https://files.pythonhosted.org/packages/fd/82/88e8d6d2c51edc1cc391b6e044c6c435b6aebe97b1abc33db1b0b24cd582/httptools-0.7.1-cp313-cp313-win_amd64.whl", hash = "sha256:322d00c2068d125bd570f7bf78b2d367dad02b919d8581d7476d8b75b294e3e6", size = 85743, upload-time = "2025-10-10T03:54:53.448Z" },
+]
+
+[[package]]
+name = "httpx"
+version = "0.28.1"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "anyio" },
+ { name = "certifi" },
+ { name = "httpcore" },
+ { name = "idna" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/b1/df/48c586a5fe32a0f01324ee087459e112ebb7224f646c0b5023f5e79e9956/httpx-0.28.1.tar.gz", hash = "sha256:75e98c5f16b0f35b567856f597f06ff2270a374470a5c2392242528e3e3e42fc", size = 141406, upload-time = "2024-12-06T15:37:23.222Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/2a/39/e50c7c3a983047577ee07d2a9e53faf5a69493943ec3f6a384bdc792deb2/httpx-0.28.1-py3-none-any.whl", hash = "sha256:d909fcccc110f8c7faf814ca82a9a4d816bc5a6dbfea25d6591d6985b8ba59ad", size = 73517, upload-time = "2024-12-06T15:37:21.509Z" },
+]
+
+[[package]]
+name = "huggingface-hub"
+version = "1.4.1"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "filelock" },
+ { name = "fsspec" },
+ { name = "hf-xet", marker = "platform_machine == 'AMD64' or platform_machine == 'aarch64' or platform_machine == 'amd64' or platform_machine == 'arm64' or platform_machine == 'x86_64' or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "httpx" },
+ { name = "packaging" },
+ { name = "pyyaml" },
+ { name = "shellingham" },
+ { name = "tqdm" },
+ { name = "typer-slim" },
+ { name = "typing-extensions" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/c4/fc/eb9bc06130e8bbda6a616e1b80a7aa127681c448d6b49806f61db2670b61/huggingface_hub-1.4.1.tar.gz", hash = "sha256:b41131ec35e631e7383ab26d6146b8d8972abc8b6309b963b306fbcca87f5ed5", size = 642156, upload-time = "2026-02-06T09:20:03.013Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/d5/ae/2f6d96b4e6c5478d87d606a1934b5d436c4a2bce6bb7c6fdece891c128e3/huggingface_hub-1.4.1-py3-none-any.whl", hash = "sha256:9931d075fb7a79af5abc487106414ec5fba2c0ae86104c0c62fd6cae38873d18", size = 553326, upload-time = "2026-02-06T09:20:00.728Z" },
+]
+
+[[package]]
+name = "humanfriendly"
+version = "10.0"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "pyreadline3", marker = "(python_full_version < '3.11' and platform_machine == 'AMD64' and sys_platform == 'win32') or (python_full_version < '3.11' and platform_machine == 'aarch64' and sys_platform == 'win32') or (python_full_version < '3.11' and platform_machine == 'arm64' and sys_platform == 'win32') or (python_full_version < '3.11' and platform_machine == 'x86_64' and sys_platform == 'win32') or (python_full_version >= '3.11' and platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (python_full_version >= '3.11' and platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (python_full_version >= '3.11' and platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (python_full_version >= '3.11' and platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version >= '3.11' and platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (python_full_version >= '3.11' and platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (python_full_version >= '3.11' and platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version >= '3.11' and platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (python_full_version >= '3.11' and platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version >= '3.11' and platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version >= '3.11' and platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (python_full_version >= '3.11' and platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (python_full_version >= '3.11' and platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (python_full_version >= '3.11' and platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version >= '3.11' and platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (python_full_version >= '3.11' and platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (python_full_version >= '3.11' and platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version >= '3.11' and platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (python_full_version >= '3.11' and platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version >= '3.11' and platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version >= '3.11' and platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (python_full_version >= '3.11' and platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (python_full_version >= '3.11' and platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (python_full_version >= '3.11' and platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version >= '3.11' and platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (python_full_version >= '3.11' and platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (python_full_version >= '3.11' and platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version >= '3.11' and platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (python_full_version >= '3.11' and platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version >= '3.11' and platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version >= '3.11' and platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (python_full_version >= '3.11' and platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (python_full_version >= '3.11' and platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (python_full_version >= '3.11' and platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version >= '3.11' and platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (python_full_version >= '3.11' and platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (python_full_version >= '3.11' and platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version >= '3.11' and platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (python_full_version >= '3.11' and platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version >= '3.11' and platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform != 'win32' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (sys_platform != 'win32' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (sys_platform != 'win32' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform != 'win32' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform != 'win32' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (sys_platform != 'win32' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform != 'win32' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform != 'win32' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform != 'win32' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform != 'win32' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/cc/3f/2c29224acb2e2df4d2046e4c73ee2662023c58ff5b113c4c1adac0886c43/humanfriendly-10.0.tar.gz", hash = "sha256:6b0b831ce8f15f7300721aa49829fc4e83921a9a301cc7f606be6686a2288ddc", size = 360702, upload-time = "2021-09-17T21:40:43.31Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/f0/0f/310fb31e39e2d734ccaa2c0fb981ee41f7bd5056ce9bc29b2248bd569169/humanfriendly-10.0-py2.py3-none-any.whl", hash = "sha256:1697e1a8a8f550fd43c2865cd84542fc175a61dcb779b6fee18cf6b6ccba1477", size = 86794, upload-time = "2021-09-17T21:40:39.897Z" },
+]
+
+[[package]]
+name = "hydra-core"
+version = "1.3.2"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "antlr4-python3-runtime" },
+ { name = "omegaconf" },
+ { name = "packaging" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/6d/8e/07e42bc434a847154083b315779b0a81d567154504624e181caf2c71cd98/hydra-core-1.3.2.tar.gz", hash = "sha256:8a878ed67216997c3e9d88a8e72e7b4767e81af37afb4ea3334b269a4390a824", size = 3263494, upload-time = "2023-02-23T18:33:43.03Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/c6/50/e0edd38dcd63fb26a8547f13d28f7a008bc4a3fd4eb4ff030673f22ad41a/hydra_core-1.3.2-py3-none-any.whl", hash = "sha256:fa0238a9e31df3373b35b0bfb672c34cc92718d21f81311d8996a16de1141d8b", size = 154547, upload-time = "2023-02-23T18:33:40.801Z" },
+]
+
+[[package]]
+name = "identify"
+version = "2.6.16"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/5b/8d/e8b97e6bd3fb6fb271346f7981362f1e04d6a7463abd0de79e1fda17c067/identify-2.6.16.tar.gz", hash = "sha256:846857203b5511bbe94d5a352a48ef2359532bc8f6727b5544077a0dcfb24980", size = 99360, upload-time = "2026-01-12T18:58:58.201Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/b8/58/40fbbcefeda82364720eba5cf2270f98496bdfa19ea75b4cccae79c698e6/identify-2.6.16-py2.py3-none-any.whl", hash = "sha256:391ee4d77741d994189522896270b787aed8670389bfd60f326d677d64a6dfb0", size = 99202, upload-time = "2026-01-12T18:58:56.627Z" },
+]
+
+[[package]]
+name = "idna"
+version = "3.11"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/6f/6d/0703ccc57f3a7233505399edb88de3cbd678da106337b9fcde432b65ed60/idna-3.11.tar.gz", hash = "sha256:795dafcc9c04ed0c1fb032c2aa73654d8e8c5023a7df64a53f39190ada629902", size = 194582, upload-time = "2025-10-12T14:55:20.501Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/0e/61/66938bbb5fc52dbdf84594873d5b51fb1f7c7794e9c0f5bd885f30bc507b/idna-3.11-py3-none-any.whl", hash = "sha256:771a87f49d9defaf64091e6e6fe9c18d4833f140bd19464795bc32d966ca37ea", size = 71008, upload-time = "2025-10-12T14:55:18.883Z" },
+]
+
+[[package]]
+name = "importlib-metadata"
+version = "8.7.1"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "zipp", marker = "(python_full_version < '3.11' and platform_machine == 'AMD64') or (python_full_version < '3.11' and platform_machine == 'aarch64') or (python_full_version < '3.11' and platform_machine == 'arm64') or (python_full_version < '3.11' and platform_machine == 'x86_64') or (platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64') or (platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/f3/49/3b30cad09e7771a4982d9975a8cbf64f00d4a1ececb53297f1d9a7be1b10/importlib_metadata-8.7.1.tar.gz", hash = "sha256:49fef1ae6440c182052f407c8d34a68f72efc36db9ca90dc0113398f2fdde8bb", size = 57107, upload-time = "2025-12-21T10:00:19.278Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/fa/5e/f8e9a1d23b9c20a551a8a02ea3637b4642e22c2626e3a13a9a29cdea99eb/importlib_metadata-8.7.1-py3-none-any.whl", hash = "sha256:5a1f80bf1daa489495071efbb095d75a634cf28a8bc299581244063b53176151", size = 27865, upload-time = "2025-12-21T10:00:18.329Z" },
+]
+
+[[package]]
+name = "importlib-resources"
+version = "6.5.2"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/cf/8c/f834fbf984f691b4f7ff60f50b514cc3de5cc08abfc3295564dd89c5e2e7/importlib_resources-6.5.2.tar.gz", hash = "sha256:185f87adef5bcc288449d98fb4fba07cea78bc036455dd44c5fc4a2fe78fed2c", size = 44693, upload-time = "2025-01-03T18:51:56.698Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/a4/ed/1f1afb2e9e7f38a545d628f864d562a5ae64fe6f7a10e28ffb9b185b4e89/importlib_resources-6.5.2-py3-none-any.whl", hash = "sha256:789cfdc3ed28c78b67a06acb8126751ced69a3d5f79c095a98298cd8a760ccec", size = 37461, upload-time = "2025-01-03T18:51:54.306Z" },
+]
+
+[[package]]
+name = "inflect"
+version = "7.5.0"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "more-itertools" },
+ { name = "typeguard" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/78/c6/943357d44a21fd995723d07ccaddd78023eace03c1846049a2645d4324a3/inflect-7.5.0.tar.gz", hash = "sha256:faf19801c3742ed5a05a8ce388e0d8fe1a07f8d095c82201eb904f5d27ad571f", size = 73751, upload-time = "2024-12-28T17:11:18.897Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/8a/eb/427ed2b20a38a4ee29f24dbe4ae2dafab198674fe9a85e3d6adf9e5f5f41/inflect-7.5.0-py3-none-any.whl", hash = "sha256:2aea70e5e70c35d8350b8097396ec155ffd68def678c7ff97f51aa69c1d92344", size = 35197, upload-time = "2024-12-28T17:11:15.931Z" },
+]
+
+[[package]]
+name = "jaconv"
+version = "0.5.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/91/0e/9fffaacda59bdfa479372c71d18d72968d2af5a36a5a2086b02a60124b98/jaconv-0.5.0.tar.gz", hash = "sha256:53f6f968276846716f0f37100a6d5c7308cfa1e0c714eb41287d5bb09345c40f", size = 21816, upload-time = "2026-02-08T11:15:57.07Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/3b/da/9657d637bcacdbaf6a914ce504000da5639f9d945f8d3552a940f021d6c0/jaconv-0.5.0-py3-none-any.whl", hash = "sha256:2914114fe761ca49fc7089e25e6ad4a400c26f262ffce84e13b176916b71610a", size = 16831, upload-time = "2026-02-08T11:15:55.322Z" },
+]
+
+[[package]]
+name = "jamo"
+version = "0.4.1"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/b1/a2/bda770579809726e929ca6356743f9f50f64a2cbaee578fa9d4824afb00e/jamo-0.4.1.tar.gz", hash = "sha256:ea65cf9d35338d0e0af48d75ff426d8a369b0ebde6f07051c3ac37256f56d025", size = 7386, upload-time = "2017-11-06T19:28:51.729Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/ac/cc/49812faae67f9a24be6ddaf58a2cf7e8c3cbfcf5b762d9414f7103d2ea2c/jamo-0.4.1-py3-none-any.whl", hash = "sha256:d4b94fd23324c606ed2fbc4037c603e2c3a7ae9390c05d3473aea1ccb6b1c3fb", size = 9543, upload-time = "2017-11-06T19:28:49.624Z" },
+]
+
+[[package]]
+name = "jieba"
+version = "0.42.1"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/c6/cb/18eeb235f833b726522d7ebed54f2278ce28ba9438e3135ab0278d9792a2/jieba-0.42.1.tar.gz", hash = "sha256:055ca12f62674fafed09427f176506079bc135638a14e23e25be909131928db2", size = 19214172, upload-time = "2020-01-20T14:27:23.5Z" }
+
+[[package]]
+name = "jieba-fast"
+version = "0.53"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/87/6f/9c22f7b0ecc043f8e7d324e30767fdc9ce8d3cf5fd66e60823dd2b84432e/jieba_fast-0.53.tar.gz", hash = "sha256:e92089d52faa91d51b6a7c1e6e4c4c85064a0e36f6a29257af2254b9e558ddd0", size = 7511421, upload-time = "2018-12-20T17:04:39.871Z" }
+
+[[package]]
+name = "jinja2"
+version = "3.1.6"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "markupsafe" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/df/bf/f7da0350254c0ed7c72f3e33cef02e048281fec7ecec5f032d4aac52226b/jinja2-3.1.6.tar.gz", hash = "sha256:0137fb05990d35f1275a587e9aee6d56da821fc83491a0fb838183be43f66d6d", size = 245115, upload-time = "2025-03-05T20:05:02.478Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/62/a1/3d680cbfd5f4b8f15abc1d571870c5fc3e594bb582bc3b64ea099db13e56/jinja2-3.1.6-py3-none-any.whl", hash = "sha256:85ece4451f492d0c13c5dd7c13a64681a86afae63a5f347908daf103ce6d2f67", size = 134899, upload-time = "2025-03-05T20:05:00.369Z" },
+]
+
+[[package]]
+name = "jmespath"
+version = "0.10.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/3c/56/3f325b1eef9791759784aa5046a8f6a1aff8f7c898a2e34506771d3b99d8/jmespath-0.10.0.tar.gz", hash = "sha256:b85d0567b8666149a93172712e68920734333c0ce7e89b78b3e987f71e5ed4f9", size = 21607, upload-time = "2020-05-12T22:03:47.267Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/07/cb/5f001272b6faeb23c1c9e0acc04d48eaaf5c862c17709d20e3469c6e0139/jmespath-0.10.0-py2.py3-none-any.whl", hash = "sha256:cdf6525904cc597730141d61b36f2e4b8ecc257c420fa2f4549bac2c2d0cb72f", size = 24489, upload-time = "2020-05-12T22:03:45.643Z" },
+]
+
+[[package]]
+name = "joblib"
+version = "1.5.3"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/41/f2/d34e8b3a08a9cc79a50b2208a93dce981fe615b64d5a4d4abee421d898df/joblib-1.5.3.tar.gz", hash = "sha256:8561a3269e6801106863fd0d6d84bb737be9e7631e33aaed3fb9ce5953688da3", size = 331603, upload-time = "2025-12-15T08:41:46.427Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/7b/91/984aca2ec129e2757d1e4e3c81c3fcda9d0f85b74670a094cc443d9ee949/joblib-1.5.3-py3-none-any.whl", hash = "sha256:5fc3c5039fc5ca8c0276333a188bbd59d6b7ab37fe6632daa76bc7f9ec18e713", size = 309071, upload-time = "2025-12-15T08:41:44.973Z" },
+]
+
+[[package]]
+name = "kaldiio"
+version = "2.18.1"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11' or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "numpy", version = "2.3.5", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11' or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/8d/85/92435e8e62eb3d43eded9f24643fc2a6dbce031cebceed11528147c7873f/kaldiio-2.18.1.tar.gz", hash = "sha256:0283d197fac6ac683f7a9e6af8d18aad9dbd2c4a997f22e45294f2ac1ee3c432", size = 35570, upload-time = "2025-03-06T15:57:52.375Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/ae/e3/6c3b42233225f398f7a72988b524f654ae818cca0d441db847a2761203e9/kaldiio-2.18.1-py3-none-any.whl", hash = "sha256:397a4cd18977acaae7acabfba6807ee0a6978c620064381a266eac15b3c1a0a0", size = 29330, upload-time = "2025-03-06T15:57:50.82Z" },
+]
+
+[[package]]
+name = "kernels"
+version = "0.12.1"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "huggingface-hub" },
+ { name = "packaging" },
+ { name = "pyyaml" },
+ { name = "tomli", marker = "python_full_version < '3.11' or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/5d/c5/d9bd5f3332b288bf3e771a42b7c3c9d2af8daa58c682a84c4e0c83058d62/kernels-0.12.1.tar.gz", hash = "sha256:41e31ef167add0062cdc302a943ce287194c13b5af12b82a5fa76e7353ca0042", size = 56712, upload-time = "2026-01-26T16:15:48.319Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/4b/ab/6d1453b2a1b0a473e107745ef4d4f79241f6ef0ed8a371d62e93b4100bee/kernels-0.12.1-py3-none-any.whl", hash = "sha256:4569fe00bc6a2b0f2cccff81841d7917af143c786ade152c3b2a78f61097c757", size = 55110, upload-time = "2026-01-26T16:15:46.951Z" },
+]
+
+[[package]]
+name = "kiwisolver"
+version = "1.4.9"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/5c/3c/85844f1b0feb11ee581ac23fe5fce65cd049a200c1446708cc1b7f922875/kiwisolver-1.4.9.tar.gz", hash = "sha256:c3b22c26c6fd6811b0ae8363b95ca8ce4ea3c202d3d0975b2914310ceb1bcc4d", size = 97564, upload-time = "2025-08-10T21:27:49.279Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/c6/5d/8ce64e36d4e3aac5ca96996457dcf33e34e6051492399a3f1fec5657f30b/kiwisolver-1.4.9-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:b4b4d74bda2b8ebf4da5bd42af11d02d04428b2c32846e4c2c93219df8a7987b", size = 124159, upload-time = "2025-08-10T21:25:35.472Z" },
+ { url = "https://files.pythonhosted.org/packages/96/1e/22f63ec454874378175a5f435d6ea1363dd33fb2af832c6643e4ccea0dc8/kiwisolver-1.4.9-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:fb3b8132019ea572f4611d770991000d7f58127560c4889729248eb5852a102f", size = 66578, upload-time = "2025-08-10T21:25:36.73Z" },
+ { url = "https://files.pythonhosted.org/packages/41/4c/1925dcfff47a02d465121967b95151c82d11027d5ec5242771e580e731bd/kiwisolver-1.4.9-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:84fd60810829c27ae375114cd379da1fa65e6918e1da405f356a775d49a62bcf", size = 65312, upload-time = "2025-08-10T21:25:37.658Z" },
+ { url = "https://files.pythonhosted.org/packages/d4/42/0f333164e6307a0687d1eb9ad256215aae2f4bd5d28f4653d6cd319a3ba3/kiwisolver-1.4.9-cp310-cp310-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:b78efa4c6e804ecdf727e580dbb9cba85624d2e1c6b5cb059c66290063bd99a9", size = 1628458, upload-time = "2025-08-10T21:25:39.067Z" },
+ { url = "https://files.pythonhosted.org/packages/86/b6/2dccb977d651943995a90bfe3495c2ab2ba5cd77093d9f2318a20c9a6f59/kiwisolver-1.4.9-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:d4efec7bcf21671db6a3294ff301d2fc861c31faa3c8740d1a94689234d1b415", size = 1225640, upload-time = "2025-08-10T21:25:40.489Z" },
+ { url = "https://files.pythonhosted.org/packages/50/2b/362ebd3eec46c850ccf2bfe3e30f2fc4c008750011f38a850f088c56a1c6/kiwisolver-1.4.9-cp310-cp310-manylinux_2_24_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:90f47e70293fc3688b71271100a1a5453aa9944a81d27ff779c108372cf5567b", size = 1244074, upload-time = "2025-08-10T21:25:42.221Z" },
+ { url = "https://files.pythonhosted.org/packages/6f/bb/f09a1e66dab8984773d13184a10a29fe67125337649d26bdef547024ed6b/kiwisolver-1.4.9-cp310-cp310-manylinux_2_24_s390x.manylinux_2_28_s390x.whl", hash = "sha256:8fdca1def57a2e88ef339de1737a1449d6dbf5fab184c54a1fca01d541317154", size = 1293036, upload-time = "2025-08-10T21:25:43.801Z" },
+ { url = "https://files.pythonhosted.org/packages/ea/01/11ecf892f201cafda0f68fa59212edaea93e96c37884b747c181303fccd1/kiwisolver-1.4.9-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:9cf554f21be770f5111a1690d42313e140355e687e05cf82cb23d0a721a64a48", size = 2175310, upload-time = "2025-08-10T21:25:45.045Z" },
+ { url = "https://files.pythonhosted.org/packages/7f/5f/bfe11d5b934f500cc004314819ea92427e6e5462706a498c1d4fc052e08f/kiwisolver-1.4.9-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:fc1795ac5cd0510207482c3d1d3ed781143383b8cfd36f5c645f3897ce066220", size = 2270943, upload-time = "2025-08-10T21:25:46.393Z" },
+ { url = "https://files.pythonhosted.org/packages/3d/de/259f786bf71f1e03e73d87e2db1a9a3bcab64d7b4fd780167123161630ad/kiwisolver-1.4.9-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:ccd09f20ccdbbd341b21a67ab50a119b64a403b09288c27481575105283c1586", size = 2440488, upload-time = "2025-08-10T21:25:48.074Z" },
+ { url = "https://files.pythonhosted.org/packages/1b/76/c989c278faf037c4d3421ec07a5c452cd3e09545d6dae7f87c15f54e4edf/kiwisolver-1.4.9-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:540c7c72324d864406a009d72f5d6856f49693db95d1fbb46cf86febef873634", size = 2246787, upload-time = "2025-08-10T21:25:49.442Z" },
+ { url = "https://files.pythonhosted.org/packages/a2/55/c2898d84ca440852e560ca9f2a0d28e6e931ac0849b896d77231929900e7/kiwisolver-1.4.9-cp310-cp310-win_amd64.whl", hash = "sha256:ede8c6d533bc6601a47ad4046080d36b8fc99f81e6f1c17b0ac3c2dc91ac7611", size = 73730, upload-time = "2025-08-10T21:25:51.102Z" },
+ { url = "https://files.pythonhosted.org/packages/e8/09/486d6ac523dd33b80b368247f238125d027964cfacb45c654841e88fb2ae/kiwisolver-1.4.9-cp310-cp310-win_arm64.whl", hash = "sha256:7b4da0d01ac866a57dd61ac258c5607b4cd677f63abaec7b148354d2b2cdd536", size = 65036, upload-time = "2025-08-10T21:25:52.063Z" },
+ { url = "https://files.pythonhosted.org/packages/6f/ab/c80b0d5a9d8a1a65f4f815f2afff9798b12c3b9f31f1d304dd233dd920e2/kiwisolver-1.4.9-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:eb14a5da6dc7642b0f3a18f13654847cd8b7a2550e2645a5bda677862b03ba16", size = 124167, upload-time = "2025-08-10T21:25:53.403Z" },
+ { url = "https://files.pythonhosted.org/packages/a0/c0/27fe1a68a39cf62472a300e2879ffc13c0538546c359b86f149cc19f6ac3/kiwisolver-1.4.9-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:39a219e1c81ae3b103643d2aedb90f1ef22650deb266ff12a19e7773f3e5f089", size = 66579, upload-time = "2025-08-10T21:25:54.79Z" },
+ { url = "https://files.pythonhosted.org/packages/31/a2/a12a503ac1fd4943c50f9822678e8015a790a13b5490354c68afb8489814/kiwisolver-1.4.9-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:2405a7d98604b87f3fc28b1716783534b1b4b8510d8142adca34ee0bc3c87543", size = 65309, upload-time = "2025-08-10T21:25:55.76Z" },
+ { url = "https://files.pythonhosted.org/packages/66/e1/e533435c0be77c3f64040d68d7a657771194a63c279f55573188161e81ca/kiwisolver-1.4.9-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:dc1ae486f9abcef254b5618dfb4113dd49f94c68e3e027d03cf0143f3f772b61", size = 1435596, upload-time = "2025-08-10T21:25:56.861Z" },
+ { url = "https://files.pythonhosted.org/packages/67/1e/51b73c7347f9aabdc7215aa79e8b15299097dc2f8e67dee2b095faca9cb0/kiwisolver-1.4.9-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:8a1f570ce4d62d718dce3f179ee78dac3b545ac16c0c04bb363b7607a949c0d1", size = 1246548, upload-time = "2025-08-10T21:25:58.246Z" },
+ { url = "https://files.pythonhosted.org/packages/21/aa/72a1c5d1e430294f2d32adb9542719cfb441b5da368d09d268c7757af46c/kiwisolver-1.4.9-cp311-cp311-manylinux_2_24_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:cb27e7b78d716c591e88e0a09a2139c6577865d7f2e152488c2cc6257f460872", size = 1263618, upload-time = "2025-08-10T21:25:59.857Z" },
+ { url = "https://files.pythonhosted.org/packages/a3/af/db1509a9e79dbf4c260ce0cfa3903ea8945f6240e9e59d1e4deb731b1a40/kiwisolver-1.4.9-cp311-cp311-manylinux_2_24_s390x.manylinux_2_28_s390x.whl", hash = "sha256:15163165efc2f627eb9687ea5f3a28137217d217ac4024893d753f46bce9de26", size = 1317437, upload-time = "2025-08-10T21:26:01.105Z" },
+ { url = "https://files.pythonhosted.org/packages/e0/f2/3ea5ee5d52abacdd12013a94130436e19969fa183faa1e7c7fbc89e9a42f/kiwisolver-1.4.9-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:bdee92c56a71d2b24c33a7d4c2856bd6419d017e08caa7802d2963870e315028", size = 2195742, upload-time = "2025-08-10T21:26:02.675Z" },
+ { url = "https://files.pythonhosted.org/packages/6f/9b/1efdd3013c2d9a2566aa6a337e9923a00590c516add9a1e89a768a3eb2fc/kiwisolver-1.4.9-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:412f287c55a6f54b0650bd9b6dce5aceddb95864a1a90c87af16979d37c89771", size = 2290810, upload-time = "2025-08-10T21:26:04.009Z" },
+ { url = "https://files.pythonhosted.org/packages/fb/e5/cfdc36109ae4e67361f9bc5b41323648cb24a01b9ade18784657e022e65f/kiwisolver-1.4.9-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:2c93f00dcba2eea70af2be5f11a830a742fe6b579a1d4e00f47760ef13be247a", size = 2461579, upload-time = "2025-08-10T21:26:05.317Z" },
+ { url = "https://files.pythonhosted.org/packages/62/86/b589e5e86c7610842213994cdea5add00960076bef4ae290c5fa68589cac/kiwisolver-1.4.9-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:f117e1a089d9411663a3207ba874f31be9ac8eaa5b533787024dc07aeb74f464", size = 2268071, upload-time = "2025-08-10T21:26:06.686Z" },
+ { url = "https://files.pythonhosted.org/packages/3b/c6/f8df8509fd1eee6c622febe54384a96cfaf4d43bf2ccec7a0cc17e4715c9/kiwisolver-1.4.9-cp311-cp311-win_amd64.whl", hash = "sha256:be6a04e6c79819c9a8c2373317d19a96048e5a3f90bec587787e86a1153883c2", size = 73840, upload-time = "2025-08-10T21:26:07.94Z" },
+ { url = "https://files.pythonhosted.org/packages/e2/2d/16e0581daafd147bc11ac53f032a2b45eabac897f42a338d0a13c1e5c436/kiwisolver-1.4.9-cp311-cp311-win_arm64.whl", hash = "sha256:0ae37737256ba2de764ddc12aed4956460277f00c4996d51a197e72f62f5eec7", size = 65159, upload-time = "2025-08-10T21:26:09.048Z" },
+ { url = "https://files.pythonhosted.org/packages/86/c9/13573a747838aeb1c76e3267620daa054f4152444d1f3d1a2324b78255b5/kiwisolver-1.4.9-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:ac5a486ac389dddcc5bef4f365b6ae3ffff2c433324fb38dd35e3fab7c957999", size = 123686, upload-time = "2025-08-10T21:26:10.034Z" },
+ { url = "https://files.pythonhosted.org/packages/51/ea/2ecf727927f103ffd1739271ca19c424d0e65ea473fbaeea1c014aea93f6/kiwisolver-1.4.9-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:f2ba92255faa7309d06fe44c3a4a97efe1c8d640c2a79a5ef728b685762a6fd2", size = 66460, upload-time = "2025-08-10T21:26:11.083Z" },
+ { url = "https://files.pythonhosted.org/packages/5b/5a/51f5464373ce2aeb5194508298a508b6f21d3867f499556263c64c621914/kiwisolver-1.4.9-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:4a2899935e724dd1074cb568ce7ac0dce28b2cd6ab539c8e001a8578eb106d14", size = 64952, upload-time = "2025-08-10T21:26:12.058Z" },
+ { url = "https://files.pythonhosted.org/packages/70/90/6d240beb0f24b74371762873e9b7f499f1e02166a2d9c5801f4dbf8fa12e/kiwisolver-1.4.9-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:f6008a4919fdbc0b0097089f67a1eb55d950ed7e90ce2cc3e640abadd2757a04", size = 1474756, upload-time = "2025-08-10T21:26:13.096Z" },
+ { url = "https://files.pythonhosted.org/packages/12/42/f36816eaf465220f683fb711efdd1bbf7a7005a2473d0e4ed421389bd26c/kiwisolver-1.4.9-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:67bb8b474b4181770f926f7b7d2f8c0248cbcb78b660fdd41a47054b28d2a752", size = 1276404, upload-time = "2025-08-10T21:26:14.457Z" },
+ { url = "https://files.pythonhosted.org/packages/2e/64/bc2de94800adc830c476dce44e9b40fd0809cddeef1fde9fcf0f73da301f/kiwisolver-1.4.9-cp312-cp312-manylinux_2_24_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:2327a4a30d3ee07d2fbe2e7933e8a37c591663b96ce42a00bc67461a87d7df77", size = 1294410, upload-time = "2025-08-10T21:26:15.73Z" },
+ { url = "https://files.pythonhosted.org/packages/5f/42/2dc82330a70aa8e55b6d395b11018045e58d0bb00834502bf11509f79091/kiwisolver-1.4.9-cp312-cp312-manylinux_2_24_s390x.manylinux_2_28_s390x.whl", hash = "sha256:7a08b491ec91b1d5053ac177afe5290adacf1f0f6307d771ccac5de30592d198", size = 1343631, upload-time = "2025-08-10T21:26:17.045Z" },
+ { url = "https://files.pythonhosted.org/packages/22/fd/f4c67a6ed1aab149ec5a8a401c323cee7a1cbe364381bb6c9c0d564e0e20/kiwisolver-1.4.9-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:d8fc5c867c22b828001b6a38d2eaeb88160bf5783c6cb4a5e440efc981ce286d", size = 2224963, upload-time = "2025-08-10T21:26:18.737Z" },
+ { url = "https://files.pythonhosted.org/packages/45/aa/76720bd4cb3713314677d9ec94dcc21ced3f1baf4830adde5bb9b2430a5f/kiwisolver-1.4.9-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:3b3115b2581ea35bb6d1f24a4c90af37e5d9b49dcff267eeed14c3893c5b86ab", size = 2321295, upload-time = "2025-08-10T21:26:20.11Z" },
+ { url = "https://files.pythonhosted.org/packages/80/19/d3ec0d9ab711242f56ae0dc2fc5d70e298bb4a1f9dfab44c027668c673a1/kiwisolver-1.4.9-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:858e4c22fb075920b96a291928cb7dea5644e94c0ee4fcd5af7e865655e4ccf2", size = 2487987, upload-time = "2025-08-10T21:26:21.49Z" },
+ { url = "https://files.pythonhosted.org/packages/39/e9/61e4813b2c97e86b6fdbd4dd824bf72d28bcd8d4849b8084a357bc0dd64d/kiwisolver-1.4.9-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:ed0fecd28cc62c54b262e3736f8bb2512d8dcfdc2bcf08be5f47f96bf405b145", size = 2291817, upload-time = "2025-08-10T21:26:22.812Z" },
+ { url = "https://files.pythonhosted.org/packages/a0/41/85d82b0291db7504da3c2defe35c9a8a5c9803a730f297bd823d11d5fb77/kiwisolver-1.4.9-cp312-cp312-win_amd64.whl", hash = "sha256:f68208a520c3d86ea51acf688a3e3002615a7f0238002cccc17affecc86a8a54", size = 73895, upload-time = "2025-08-10T21:26:24.37Z" },
+ { url = "https://files.pythonhosted.org/packages/e2/92/5f3068cf15ee5cb624a0c7596e67e2a0bb2adee33f71c379054a491d07da/kiwisolver-1.4.9-cp312-cp312-win_arm64.whl", hash = "sha256:2c1a4f57df73965f3f14df20b80ee29e6a7930a57d2d9e8491a25f676e197c60", size = 64992, upload-time = "2025-08-10T21:26:25.732Z" },
+ { url = "https://files.pythonhosted.org/packages/31/c1/c2686cda909742ab66c7388e9a1a8521a59eb89f8bcfbee28fc980d07e24/kiwisolver-1.4.9-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:a5d0432ccf1c7ab14f9949eec60c5d1f924f17c037e9f8b33352fa05799359b8", size = 123681, upload-time = "2025-08-10T21:26:26.725Z" },
+ { url = "https://files.pythonhosted.org/packages/ca/f0/f44f50c9f5b1a1860261092e3bc91ecdc9acda848a8b8c6abfda4a24dd5c/kiwisolver-1.4.9-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:efb3a45b35622bb6c16dbfab491a8f5a391fe0e9d45ef32f4df85658232ca0e2", size = 66464, upload-time = "2025-08-10T21:26:27.733Z" },
+ { url = "https://files.pythonhosted.org/packages/2d/7a/9d90a151f558e29c3936b8a47ac770235f436f2120aca41a6d5f3d62ae8d/kiwisolver-1.4.9-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:1a12cf6398e8a0a001a059747a1cbf24705e18fe413bc22de7b3d15c67cffe3f", size = 64961, upload-time = "2025-08-10T21:26:28.729Z" },
+ { url = "https://files.pythonhosted.org/packages/e9/e9/f218a2cb3a9ffbe324ca29a9e399fa2d2866d7f348ec3a88df87fc248fc5/kiwisolver-1.4.9-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:b67e6efbf68e077dd71d1a6b37e43e1a99d0bff1a3d51867d45ee8908b931098", size = 1474607, upload-time = "2025-08-10T21:26:29.798Z" },
+ { url = "https://files.pythonhosted.org/packages/d9/28/aac26d4c882f14de59041636292bc838db8961373825df23b8eeb807e198/kiwisolver-1.4.9-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:5656aa670507437af0207645273ccdfee4f14bacd7f7c67a4306d0dcaeaf6eed", size = 1276546, upload-time = "2025-08-10T21:26:31.401Z" },
+ { url = "https://files.pythonhosted.org/packages/8b/ad/8bfc1c93d4cc565e5069162f610ba2f48ff39b7de4b5b8d93f69f30c4bed/kiwisolver-1.4.9-cp313-cp313-manylinux_2_24_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:bfc08add558155345129c7803b3671cf195e6a56e7a12f3dde7c57d9b417f525", size = 1294482, upload-time = "2025-08-10T21:26:32.721Z" },
+ { url = "https://files.pythonhosted.org/packages/da/f1/6aca55ff798901d8ce403206d00e033191f63d82dd708a186e0ed2067e9c/kiwisolver-1.4.9-cp313-cp313-manylinux_2_24_s390x.manylinux_2_28_s390x.whl", hash = "sha256:40092754720b174e6ccf9e845d0d8c7d8e12c3d71e7fc35f55f3813e96376f78", size = 1343720, upload-time = "2025-08-10T21:26:34.032Z" },
+ { url = "https://files.pythonhosted.org/packages/d1/91/eed031876c595c81d90d0f6fc681ece250e14bf6998c3d7c419466b523b7/kiwisolver-1.4.9-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:497d05f29a1300d14e02e6441cf0f5ee81c1ff5a304b0d9fb77423974684e08b", size = 2224907, upload-time = "2025-08-10T21:26:35.824Z" },
+ { url = "https://files.pythonhosted.org/packages/e9/ec/4d1925f2e49617b9cca9c34bfa11adefad49d00db038e692a559454dfb2e/kiwisolver-1.4.9-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:bdd1a81a1860476eb41ac4bc1e07b3f07259e6d55bbf739b79c8aaedcf512799", size = 2321334, upload-time = "2025-08-10T21:26:37.534Z" },
+ { url = "https://files.pythonhosted.org/packages/43/cb/450cd4499356f68802750c6ddc18647b8ea01ffa28f50d20598e0befe6e9/kiwisolver-1.4.9-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:e6b93f13371d341afee3be9f7c5964e3fe61d5fa30f6a30eb49856935dfe4fc3", size = 2488313, upload-time = "2025-08-10T21:26:39.191Z" },
+ { url = "https://files.pythonhosted.org/packages/71/67/fc76242bd99f885651128a5d4fa6083e5524694b7c88b489b1b55fdc491d/kiwisolver-1.4.9-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:d75aa530ccfaa593da12834b86a0724f58bff12706659baa9227c2ccaa06264c", size = 2291970, upload-time = "2025-08-10T21:26:40.828Z" },
+ { url = "https://files.pythonhosted.org/packages/75/bd/f1a5d894000941739f2ae1b65a32892349423ad49c2e6d0771d0bad3fae4/kiwisolver-1.4.9-cp313-cp313-win_amd64.whl", hash = "sha256:dd0a578400839256df88c16abddf9ba14813ec5f21362e1fe65022e00c883d4d", size = 73894, upload-time = "2025-08-10T21:26:42.33Z" },
+ { url = "https://files.pythonhosted.org/packages/95/38/dce480814d25b99a391abbddadc78f7c117c6da34be68ca8b02d5848b424/kiwisolver-1.4.9-cp313-cp313-win_arm64.whl", hash = "sha256:d4188e73af84ca82468f09cadc5ac4db578109e52acb4518d8154698d3a87ca2", size = 64995, upload-time = "2025-08-10T21:26:43.889Z" },
+ { url = "https://files.pythonhosted.org/packages/e2/37/7d218ce5d92dadc5ebdd9070d903e0c7cf7edfe03f179433ac4d13ce659c/kiwisolver-1.4.9-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:5a0f2724dfd4e3b3ac5a82436a8e6fd16baa7d507117e4279b660fe8ca38a3a1", size = 126510, upload-time = "2025-08-10T21:26:44.915Z" },
+ { url = "https://files.pythonhosted.org/packages/23/b0/e85a2b48233daef4b648fb657ebbb6f8367696a2d9548a00b4ee0eb67803/kiwisolver-1.4.9-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:1b11d6a633e4ed84fc0ddafd4ebfd8ea49b3f25082c04ad12b8315c11d504dc1", size = 67903, upload-time = "2025-08-10T21:26:45.934Z" },
+ { url = "https://files.pythonhosted.org/packages/44/98/f2425bc0113ad7de24da6bb4dae1343476e95e1d738be7c04d31a5d037fd/kiwisolver-1.4.9-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:61874cdb0a36016354853593cffc38e56fc9ca5aa97d2c05d3dcf6922cd55a11", size = 66402, upload-time = "2025-08-10T21:26:47.101Z" },
+ { url = "https://files.pythonhosted.org/packages/98/d8/594657886df9f34c4177cc353cc28ca7e6e5eb562d37ccc233bff43bbe2a/kiwisolver-1.4.9-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:60c439763a969a6af93b4881db0eed8fadf93ee98e18cbc35bc8da868d0c4f0c", size = 1582135, upload-time = "2025-08-10T21:26:48.665Z" },
+ { url = "https://files.pythonhosted.org/packages/5c/c6/38a115b7170f8b306fc929e166340c24958347308ea3012c2b44e7e295db/kiwisolver-1.4.9-cp313-cp313t-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:92a2f997387a1b79a75e7803aa7ded2cfbe2823852ccf1ba3bcf613b62ae3197", size = 1389409, upload-time = "2025-08-10T21:26:50.335Z" },
+ { url = "https://files.pythonhosted.org/packages/bf/3b/e04883dace81f24a568bcee6eb3001da4ba05114afa622ec9b6fafdc1f5e/kiwisolver-1.4.9-cp313-cp313t-manylinux_2_24_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:a31d512c812daea6d8b3be3b2bfcbeb091dbb09177706569bcfc6240dcf8b41c", size = 1401763, upload-time = "2025-08-10T21:26:51.867Z" },
+ { url = "https://files.pythonhosted.org/packages/9f/80/20ace48e33408947af49d7d15c341eaee69e4e0304aab4b7660e234d6288/kiwisolver-1.4.9-cp313-cp313t-manylinux_2_24_s390x.manylinux_2_28_s390x.whl", hash = "sha256:52a15b0f35dad39862d376df10c5230155243a2c1a436e39eb55623ccbd68185", size = 1453643, upload-time = "2025-08-10T21:26:53.592Z" },
+ { url = "https://files.pythonhosted.org/packages/64/31/6ce4380a4cd1f515bdda976a1e90e547ccd47b67a1546d63884463c92ca9/kiwisolver-1.4.9-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:a30fd6fdef1430fd9e1ba7b3398b5ee4e2887783917a687d86ba69985fb08748", size = 2330818, upload-time = "2025-08-10T21:26:55.051Z" },
+ { url = "https://files.pythonhosted.org/packages/fa/e9/3f3fcba3bcc7432c795b82646306e822f3fd74df0ee81f0fa067a1f95668/kiwisolver-1.4.9-cp313-cp313t-musllinux_1_2_ppc64le.whl", hash = "sha256:cc9617b46837c6468197b5945e196ee9ca43057bb7d9d1ae688101e4e1dddf64", size = 2419963, upload-time = "2025-08-10T21:26:56.421Z" },
+ { url = "https://files.pythonhosted.org/packages/99/43/7320c50e4133575c66e9f7dadead35ab22d7c012a3b09bb35647792b2a6d/kiwisolver-1.4.9-cp313-cp313t-musllinux_1_2_s390x.whl", hash = "sha256:0ab74e19f6a2b027ea4f845a78827969af45ce790e6cb3e1ebab71bdf9f215ff", size = 2594639, upload-time = "2025-08-10T21:26:57.882Z" },
+ { url = "https://files.pythonhosted.org/packages/65/d6/17ae4a270d4a987ef8a385b906d2bdfc9fce502d6dc0d3aea865b47f548c/kiwisolver-1.4.9-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:dba5ee5d3981160c28d5490f0d1b7ed730c22470ff7f6cc26cfcfaacb9896a07", size = 2391741, upload-time = "2025-08-10T21:26:59.237Z" },
+ { url = "https://files.pythonhosted.org/packages/2a/8f/8f6f491d595a9e5912971f3f863d81baddccc8a4d0c3749d6a0dd9ffc9df/kiwisolver-1.4.9-cp313-cp313t-win_arm64.whl", hash = "sha256:0749fd8f4218ad2e851e11cc4dc05c7cbc0cbc4267bdfdb31782e65aace4ee9c", size = 68646, upload-time = "2025-08-10T21:27:00.52Z" },
+ { url = "https://files.pythonhosted.org/packages/a2/63/fde392691690f55b38d5dd7b3710f5353bf7a8e52de93a22968801ab8978/kiwisolver-1.4.9-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:4d1d9e582ad4d63062d34077a9a1e9f3c34088a2ec5135b1f7190c07cf366527", size = 60183, upload-time = "2025-08-10T21:27:37.669Z" },
+ { url = "https://files.pythonhosted.org/packages/27/b1/6aad34edfdb7cced27f371866f211332bba215bfd918ad3322a58f480d8b/kiwisolver-1.4.9-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:deed0c7258ceb4c44ad5ec7d9918f9f14fd05b2be86378d86cf50e63d1e7b771", size = 58675, upload-time = "2025-08-10T21:27:39.031Z" },
+ { url = "https://files.pythonhosted.org/packages/9d/1a/23d855a702bb35a76faed5ae2ba3de57d323f48b1f6b17ee2176c4849463/kiwisolver-1.4.9-pp310-pypy310_pp73-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:0a590506f303f512dff6b7f75fd2fd18e16943efee932008fe7140e5fa91d80e", size = 80277, upload-time = "2025-08-10T21:27:40.129Z" },
+ { url = "https://files.pythonhosted.org/packages/5a/5b/5239e3c2b8fb5afa1e8508f721bb77325f740ab6994d963e61b2b7abcc1e/kiwisolver-1.4.9-pp310-pypy310_pp73-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:e09c2279a4d01f099f52d5c4b3d9e208e91edcbd1a175c9662a8b16e000fece9", size = 77994, upload-time = "2025-08-10T21:27:41.181Z" },
+ { url = "https://files.pythonhosted.org/packages/f9/1c/5d4d468fb16f8410e596ed0eac02d2c68752aa7dc92997fe9d60a7147665/kiwisolver-1.4.9-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:c9e7cdf45d594ee04d5be1b24dd9d49f3d1590959b2271fb30b5ca2b262c00fb", size = 73744, upload-time = "2025-08-10T21:27:42.254Z" },
+ { url = "https://files.pythonhosted.org/packages/a3/0f/36d89194b5a32c054ce93e586d4049b6c2c22887b0eb229c61c68afd3078/kiwisolver-1.4.9-pp311-pypy311_pp73-macosx_10_15_x86_64.whl", hash = "sha256:720e05574713db64c356e86732c0f3c5252818d05f9df320f0ad8380641acea5", size = 60104, upload-time = "2025-08-10T21:27:43.287Z" },
+ { url = "https://files.pythonhosted.org/packages/52/ba/4ed75f59e4658fd21fe7dde1fee0ac397c678ec3befba3fe6482d987af87/kiwisolver-1.4.9-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:17680d737d5335b552994a2008fab4c851bcd7de33094a82067ef3a576ff02fa", size = 58592, upload-time = "2025-08-10T21:27:44.314Z" },
+ { url = "https://files.pythonhosted.org/packages/33/01/a8ea7c5ea32a9b45ceeaee051a04c8ed4320f5add3c51bfa20879b765b70/kiwisolver-1.4.9-pp311-pypy311_pp73-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:85b5352f94e490c028926ea567fc569c52ec79ce131dadb968d3853e809518c2", size = 80281, upload-time = "2025-08-10T21:27:45.369Z" },
+ { url = "https://files.pythonhosted.org/packages/da/e3/dbd2ecdce306f1d07a1aaf324817ee993aab7aee9db47ceac757deabafbe/kiwisolver-1.4.9-pp311-pypy311_pp73-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:464415881e4801295659462c49461a24fb107c140de781d55518c4b80cb6790f", size = 78009, upload-time = "2025-08-10T21:27:46.376Z" },
+ { url = "https://files.pythonhosted.org/packages/da/e9/0d4add7873a73e462aeb45c036a2dead2562b825aa46ba326727b3f31016/kiwisolver-1.4.9-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:fb940820c63a9590d31d88b815e7a3aa5915cad3ce735ab45f0c730b39547de1", size = 73929, upload-time = "2025-08-10T21:27:48.236Z" },
+]
+
+[[package]]
+name = "ko-pron"
+version = "1.3"
+source = { registry = "https://pypi.org/simple" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/d8/36/872adff056b7214a62f1df5649eda8d9c29704c359149706058afbaa47fe/ko_pron-1.3-py3-none-any.whl", hash = "sha256:72c9ebbdb6c0c5f6981c143cee978158662d12c6302545686a1c4e0fcaad2017", size = 12531, upload-time = "2018-10-17T10:05:58.864Z" },
+]
+
+[[package]]
+name = "lazy-loader"
+version = "0.4"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "packaging" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/6f/6b/c875b30a1ba490860c93da4cabf479e03f584eba06fe5963f6f6644653d8/lazy_loader-0.4.tar.gz", hash = "sha256:47c75182589b91a4e1a85a136c074285a5ad4d9f39c63e0d7fb76391c4574cd1", size = 15431, upload-time = "2024-04-05T13:03:12.261Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/83/60/d497a310bde3f01cb805196ac61b7ad6dc5dcf8dce66634dc34364b20b4f/lazy_loader-0.4-py3-none-any.whl", hash = "sha256:342aa8e14d543a154047afb4ba8ef17f5563baad3fc610d7b15b213b0f119efc", size = 12097, upload-time = "2024-04-05T13:03:10.514Z" },
+]
+
+[[package]]
+name = "librosa"
+version = "0.11.0"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "audioread" },
+ { name = "decorator" },
+ { name = "joblib" },
+ { name = "lazy-loader" },
+ { name = "msgpack" },
+ { name = "numba" },
+ { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11' or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "numpy", version = "2.3.5", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11' or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "pooch" },
+ { name = "scikit-learn", version = "1.7.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11' or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "scikit-learn", version = "1.8.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11' or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "scipy", version = "1.15.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11' or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "scipy", version = "1.17.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11' or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "soundfile" },
+ { name = "soxr" },
+ { name = "standard-aifc", marker = "python_full_version >= '3.13' or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "standard-sunau", marker = "python_full_version >= '3.13' or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "typing-extensions" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/64/36/360b5aafa0238e29758729e9486c6ed92a6f37fa403b7875e06c115cdf4a/librosa-0.11.0.tar.gz", hash = "sha256:f5ed951ca189b375bbe2e33b2abd7e040ceeee302b9bbaeeffdfddb8d0ace908", size = 327001, upload-time = "2025-03-11T15:09:54.884Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/b5/ba/c63c5786dfee4c3417094c4b00966e61e4a63efecee22cb7b4c0387dda83/librosa-0.11.0-py3-none-any.whl", hash = "sha256:0b6415c4fd68bff4c29288abe67c6d80b587e0e1e2cfb0aad23e4559504a7fa1", size = 260749, upload-time = "2025-03-11T15:09:52.982Z" },
+]
+
+[[package]]
+name = "lightning-utilities"
+version = "0.15.2"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "packaging" },
+ { name = "setuptools" },
+ { name = "typing-extensions" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/b8/39/6fc58ca81492db047149b4b8fd385aa1bfb8c28cd7cacb0c7eb0c44d842f/lightning_utilities-0.15.2.tar.gz", hash = "sha256:cdf12f530214a63dacefd713f180d1ecf5d165338101617b4742e8f22c032e24", size = 31090, upload-time = "2025-08-06T13:57:39.242Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/de/73/3d757cb3fc16f0f9794dd289bcd0c4a031d9cf54d8137d6b984b2d02edf3/lightning_utilities-0.15.2-py3-none-any.whl", hash = "sha256:ad3ab1703775044bbf880dbf7ddaaac899396c96315f3aa1779cec9d618a9841", size = 29431, upload-time = "2025-08-06T13:57:38.046Z" },
+]
+
+[[package]]
+name = "llvmlite"
+version = "0.46.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/74/cd/08ae687ba099c7e3d21fe2ea536500563ef1943c5105bf6ab4ee3829f68e/llvmlite-0.46.0.tar.gz", hash = "sha256:227c9fd6d09dce2783c18b754b7cd9d9b3b3515210c46acc2d3c5badd9870ceb", size = 193456, upload-time = "2025-12-08T18:15:36.295Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/3d/a4/3959e1c61c5ca9db7921e5fd115b344c29b9d57a5dadd87bef97963ca1a5/llvmlite-0.46.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:4323177e936d61ae0f73e653e2e614284d97d14d5dd12579adc92b6c2b0597b0", size = 37232766, upload-time = "2025-12-08T18:14:34.765Z" },
+ { url = "https://files.pythonhosted.org/packages/c2/a5/a4d916f1015106e1da876028606a8e87fd5d5c840f98c87bc2d5153b6a2f/llvmlite-0.46.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:0a2d461cb89537b7c20feb04c46c32e12d5ad4f0896c9dfc0f60336219ff248e", size = 56275176, upload-time = "2025-12-08T18:14:37.944Z" },
+ { url = "https://files.pythonhosted.org/packages/79/7f/a7f2028805dac8c1a6fae7bda4e739b7ebbcd45b29e15bf6d21556fcd3d5/llvmlite-0.46.0-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:b1f6595a35b7b39c3518b85a28bf18f45e075264e4b2dce3f0c2a4f232b4a910", size = 55128629, upload-time = "2025-12-08T18:14:41.674Z" },
+ { url = "https://files.pythonhosted.org/packages/b2/bc/4689e1ba0c073c196b594471eb21be0aa51d9e64b911728aa13cd85ef0ae/llvmlite-0.46.0-cp310-cp310-win_amd64.whl", hash = "sha256:e7a34d4aa6f9a97ee006b504be6d2b8cb7f755b80ab2f344dda1ef992f828559", size = 38138651, upload-time = "2025-12-08T18:14:45.845Z" },
+ { url = "https://files.pythonhosted.org/packages/7a/a1/2ad4b2367915faeebe8447f0a057861f646dbf5fbbb3561db42c65659cf3/llvmlite-0.46.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:82f3d39b16f19aa1a56d5fe625883a6ab600d5cc9ea8906cca70ce94cabba067", size = 37232766, upload-time = "2025-12-08T18:14:48.836Z" },
+ { url = "https://files.pythonhosted.org/packages/12/b5/99cf8772fdd846c07da4fd70f07812a3c8fd17ea2409522c946bb0f2b277/llvmlite-0.46.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:a3df43900119803bbc52720e758c76f316a9a0f34612a886862dfe0a5591a17e", size = 56275175, upload-time = "2025-12-08T18:14:51.604Z" },
+ { url = "https://files.pythonhosted.org/packages/38/f2/ed806f9c003563732da156139c45d970ee435bd0bfa5ed8de87ba972b452/llvmlite-0.46.0-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:de183fefc8022d21b0aa37fc3e90410bc3524aed8617f0ff76732fc6c3af5361", size = 55128630, upload-time = "2025-12-08T18:14:55.107Z" },
+ { url = "https://files.pythonhosted.org/packages/19/0c/8f5a37a65fc9b7b17408508145edd5f86263ad69c19d3574e818f533a0eb/llvmlite-0.46.0-cp311-cp311-win_amd64.whl", hash = "sha256:e8b10bc585c58bdffec9e0c309bb7d51be1f2f15e169a4b4d42f2389e431eb93", size = 38138652, upload-time = "2025-12-08T18:14:58.171Z" },
+ { url = "https://files.pythonhosted.org/packages/2b/f8/4db016a5e547d4e054ff2f3b99203d63a497465f81ab78ec8eb2ff7b2304/llvmlite-0.46.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:6b9588ad4c63b4f0175a3984b85494f0c927c6b001e3a246a3a7fb3920d9a137", size = 37232767, upload-time = "2025-12-08T18:15:00.737Z" },
+ { url = "https://files.pythonhosted.org/packages/aa/85/4890a7c14b4fa54400945cb52ac3cd88545bbdb973c440f98ca41591cdc5/llvmlite-0.46.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:3535bd2bb6a2d7ae4012681ac228e5132cdb75fefb1bcb24e33f2f3e0c865ed4", size = 56275176, upload-time = "2025-12-08T18:15:03.936Z" },
+ { url = "https://files.pythonhosted.org/packages/6a/07/3d31d39c1a1a08cd5337e78299fca77e6aebc07c059fbd0033e3edfab45c/llvmlite-0.46.0-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:4cbfd366e60ff87ea6cc62f50bc4cd800ebb13ed4c149466f50cf2163a473d1e", size = 55128630, upload-time = "2025-12-08T18:15:07.196Z" },
+ { url = "https://files.pythonhosted.org/packages/2a/6b/d139535d7590a1bba1ceb68751bef22fadaa5b815bbdf0e858e3875726b2/llvmlite-0.46.0-cp312-cp312-win_amd64.whl", hash = "sha256:398b39db462c39563a97b912d4f2866cd37cba60537975a09679b28fbbc0fb38", size = 38138940, upload-time = "2025-12-08T18:15:10.162Z" },
+ { url = "https://files.pythonhosted.org/packages/e6/ff/3eba7eb0aed4b6fca37125387cd417e8c458e750621fce56d2c541f67fa8/llvmlite-0.46.0-cp313-cp313-macosx_12_0_arm64.whl", hash = "sha256:30b60892d034bc560e0ec6654737aaa74e5ca327bd8114d82136aa071d611172", size = 37232767, upload-time = "2025-12-08T18:15:13.22Z" },
+ { url = "https://files.pythonhosted.org/packages/0e/54/737755c0a91558364b9200702c3c9c15d70ed63f9b98a2c32f1c2aa1f3ba/llvmlite-0.46.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:6cc19b051753368a9c9f31dc041299059ee91aceec81bd57b0e385e5d5bf1a54", size = 56275176, upload-time = "2025-12-08T18:15:16.339Z" },
+ { url = "https://files.pythonhosted.org/packages/e6/91/14f32e1d70905c1c0aa4e6609ab5d705c3183116ca02ac6df2091868413a/llvmlite-0.46.0-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:bca185892908f9ede48c0acd547fe4dc1bafefb8a4967d47db6cf664f9332d12", size = 55128629, upload-time = "2025-12-08T18:15:19.493Z" },
+ { url = "https://files.pythonhosted.org/packages/4a/a7/d526ae86708cea531935ae777b6dbcabe7db52718e6401e0fb9c5edea80e/llvmlite-0.46.0-cp313-cp313-win_amd64.whl", hash = "sha256:67438fd30e12349ebb054d86a5a1a57fd5e87d264d2451bcfafbbbaa25b82a35", size = 38138941, upload-time = "2025-12-08T18:15:22.536Z" },
+]
+
+[[package]]
+name = "loguru"
+version = "0.7.3"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "colorama", marker = "sys_platform == 'win32' or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "win32-setctime", marker = "sys_platform == 'win32' or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/3a/05/a1dae3dffd1116099471c643b8924f5aa6524411dc6c63fdae648c4f1aca/loguru-0.7.3.tar.gz", hash = "sha256:19480589e77d47b8d85b2c827ad95d49bf31b0dcde16593892eb51dd18706eb6", size = 63559, upload-time = "2024-12-06T11:20:56.608Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/0c/29/0348de65b8cc732daa3e33e67806420b2ae89bdce2b04af740289c5c6c8c/loguru-0.7.3-py3-none-any.whl", hash = "sha256:31a33c10c8e1e10422bfd431aeb5d351c7cf7fa671e3c4df004162264b28220c", size = 61595, upload-time = "2024-12-06T11:20:54.538Z" },
+]
+
+[[package]]
+name = "markdown"
+version = "3.10.2"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/2b/f4/69fa6ed85ae003c2378ffa8f6d2e3234662abd02c10d216c0ba96081a238/markdown-3.10.2.tar.gz", hash = "sha256:994d51325d25ad8aa7ce4ebaec003febcce822c3f8c911e3b17c52f7f589f950", size = 368805, upload-time = "2026-02-09T14:57:26.942Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/de/1f/77fa3081e4f66ca3576c896ae5d31c3002ac6607f9747d2e3aa49227e464/markdown-3.10.2-py3-none-any.whl", hash = "sha256:e91464b71ae3ee7afd3017d9f358ef0baf158fd9a298db92f1d4761133824c36", size = 108180, upload-time = "2026-02-09T14:57:25.787Z" },
+]
+
+[[package]]
+name = "markdown-it-py"
+version = "4.0.0"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "mdurl" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/5b/f5/4ec618ed16cc4f8fb3b701563655a69816155e79e24a17b651541804721d/markdown_it_py-4.0.0.tar.gz", hash = "sha256:cb0a2b4aa34f932c007117b194e945bd74e0ec24133ceb5bac59009cda1cb9f3", size = 73070, upload-time = "2025-08-11T12:57:52.854Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/94/54/e7d793b573f298e1c9013b8c4dade17d481164aa517d1d7148619c2cedbf/markdown_it_py-4.0.0-py3-none-any.whl", hash = "sha256:87327c59b172c5011896038353a81343b6754500a08cd7a4973bb48c6d578147", size = 87321, upload-time = "2025-08-11T12:57:51.923Z" },
+]
+
+[[package]]
+name = "markupsafe"
+version = "3.0.3"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/7e/99/7690b6d4034fffd95959cbe0c02de8deb3098cc577c67bb6a24fe5d7caa7/markupsafe-3.0.3.tar.gz", hash = "sha256:722695808f4b6457b320fdc131280796bdceb04ab50fe1795cd540799ebe1698", size = 80313, upload-time = "2025-09-27T18:37:40.426Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/e8/4b/3541d44f3937ba468b75da9eebcae497dcf67adb65caa16760b0a6807ebb/markupsafe-3.0.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:2f981d352f04553a7171b8e44369f2af4055f888dfb147d55e42d29e29e74559", size = 11631, upload-time = "2025-09-27T18:36:05.558Z" },
+ { url = "https://files.pythonhosted.org/packages/98/1b/fbd8eed11021cabd9226c37342fa6ca4e8a98d8188a8d9b66740494960e4/markupsafe-3.0.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:e1c1493fb6e50ab01d20a22826e57520f1284df32f2d8601fdd90b6304601419", size = 12057, upload-time = "2025-09-27T18:36:07.165Z" },
+ { url = "https://files.pythonhosted.org/packages/40/01/e560d658dc0bb8ab762670ece35281dec7b6c1b33f5fbc09ebb57a185519/markupsafe-3.0.3-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:1ba88449deb3de88bd40044603fafffb7bc2b055d626a330323a9ed736661695", size = 22050, upload-time = "2025-09-27T18:36:08.005Z" },
+ { url = "https://files.pythonhosted.org/packages/af/cd/ce6e848bbf2c32314c9b237839119c5a564a59725b53157c856e90937b7a/markupsafe-3.0.3-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:f42d0984e947b8adf7dd6dde396e720934d12c506ce84eea8476409563607591", size = 20681, upload-time = "2025-09-27T18:36:08.881Z" },
+ { url = "https://files.pythonhosted.org/packages/c9/2a/b5c12c809f1c3045c4d580b035a743d12fcde53cf685dbc44660826308da/markupsafe-3.0.3-cp310-cp310-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:c0c0b3ade1c0b13b936d7970b1d37a57acde9199dc2aecc4c336773e1d86049c", size = 20705, upload-time = "2025-09-27T18:36:10.131Z" },
+ { url = "https://files.pythonhosted.org/packages/cf/e3/9427a68c82728d0a88c50f890d0fc072a1484de2f3ac1ad0bfc1a7214fd5/markupsafe-3.0.3-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:0303439a41979d9e74d18ff5e2dd8c43ed6c6001fd40e5bf2e43f7bd9bbc523f", size = 21524, upload-time = "2025-09-27T18:36:11.324Z" },
+ { url = "https://files.pythonhosted.org/packages/bc/36/23578f29e9e582a4d0278e009b38081dbe363c5e7165113fad546918a232/markupsafe-3.0.3-cp310-cp310-musllinux_1_2_riscv64.whl", hash = "sha256:d2ee202e79d8ed691ceebae8e0486bd9a2cd4794cec4824e1c99b6f5009502f6", size = 20282, upload-time = "2025-09-27T18:36:12.573Z" },
+ { url = "https://files.pythonhosted.org/packages/56/21/dca11354e756ebd03e036bd8ad58d6d7168c80ce1fe5e75218e4945cbab7/markupsafe-3.0.3-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:177b5253b2834fe3678cb4a5f0059808258584c559193998be2601324fdeafb1", size = 20745, upload-time = "2025-09-27T18:36:13.504Z" },
+ { url = "https://files.pythonhosted.org/packages/87/99/faba9369a7ad6e4d10b6a5fbf71fa2a188fe4a593b15f0963b73859a1bbd/markupsafe-3.0.3-cp310-cp310-win32.whl", hash = "sha256:2a15a08b17dd94c53a1da0438822d70ebcd13f8c3a95abe3a9ef9f11a94830aa", size = 14571, upload-time = "2025-09-27T18:36:14.779Z" },
+ { url = "https://files.pythonhosted.org/packages/d6/25/55dc3ab959917602c96985cb1253efaa4ff42f71194bddeb61eb7278b8be/markupsafe-3.0.3-cp310-cp310-win_amd64.whl", hash = "sha256:c4ffb7ebf07cfe8931028e3e4c85f0357459a3f9f9490886198848f4fa002ec8", size = 15056, upload-time = "2025-09-27T18:36:16.125Z" },
+ { url = "https://files.pythonhosted.org/packages/d0/9e/0a02226640c255d1da0b8d12e24ac2aa6734da68bff14c05dd53b94a0fc3/markupsafe-3.0.3-cp310-cp310-win_arm64.whl", hash = "sha256:e2103a929dfa2fcaf9bb4e7c091983a49c9ac3b19c9061b6d5427dd7d14d81a1", size = 13932, upload-time = "2025-09-27T18:36:17.311Z" },
+ { url = "https://files.pythonhosted.org/packages/08/db/fefacb2136439fc8dd20e797950e749aa1f4997ed584c62cfb8ef7c2be0e/markupsafe-3.0.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:1cc7ea17a6824959616c525620e387f6dd30fec8cb44f649e31712db02123dad", size = 11631, upload-time = "2025-09-27T18:36:18.185Z" },
+ { url = "https://files.pythonhosted.org/packages/e1/2e/5898933336b61975ce9dc04decbc0a7f2fee78c30353c5efba7f2d6ff27a/markupsafe-3.0.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:4bd4cd07944443f5a265608cc6aab442e4f74dff8088b0dfc8238647b8f6ae9a", size = 12058, upload-time = "2025-09-27T18:36:19.444Z" },
+ { url = "https://files.pythonhosted.org/packages/1d/09/adf2df3699d87d1d8184038df46a9c80d78c0148492323f4693df54e17bb/markupsafe-3.0.3-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:6b5420a1d9450023228968e7e6a9ce57f65d148ab56d2313fcd589eee96a7a50", size = 24287, upload-time = "2025-09-27T18:36:20.768Z" },
+ { url = "https://files.pythonhosted.org/packages/30/ac/0273f6fcb5f42e314c6d8cd99effae6a5354604d461b8d392b5ec9530a54/markupsafe-3.0.3-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:0bf2a864d67e76e5c9a34dc26ec616a66b9888e25e7b9460e1c76d3293bd9dbf", size = 22940, upload-time = "2025-09-27T18:36:22.249Z" },
+ { url = "https://files.pythonhosted.org/packages/19/ae/31c1be199ef767124c042c6c3e904da327a2f7f0cd63a0337e1eca2967a8/markupsafe-3.0.3-cp311-cp311-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:bc51efed119bc9cfdf792cdeaa4d67e8f6fcccab66ed4bfdd6bde3e59bfcbb2f", size = 21887, upload-time = "2025-09-27T18:36:23.535Z" },
+ { url = "https://files.pythonhosted.org/packages/b2/76/7edcab99d5349a4532a459e1fe64f0b0467a3365056ae550d3bcf3f79e1e/markupsafe-3.0.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:068f375c472b3e7acbe2d5318dea141359e6900156b5b2ba06a30b169086b91a", size = 23692, upload-time = "2025-09-27T18:36:24.823Z" },
+ { url = "https://files.pythonhosted.org/packages/a4/28/6e74cdd26d7514849143d69f0bf2399f929c37dc2b31e6829fd2045b2765/markupsafe-3.0.3-cp311-cp311-musllinux_1_2_riscv64.whl", hash = "sha256:7be7b61bb172e1ed687f1754f8e7484f1c8019780f6f6b0786e76bb01c2ae115", size = 21471, upload-time = "2025-09-27T18:36:25.95Z" },
+ { url = "https://files.pythonhosted.org/packages/62/7e/a145f36a5c2945673e590850a6f8014318d5577ed7e5920a4b3448e0865d/markupsafe-3.0.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:f9e130248f4462aaa8e2552d547f36ddadbeaa573879158d721bbd33dfe4743a", size = 22923, upload-time = "2025-09-27T18:36:27.109Z" },
+ { url = "https://files.pythonhosted.org/packages/0f/62/d9c46a7f5c9adbeeeda52f5b8d802e1094e9717705a645efc71b0913a0a8/markupsafe-3.0.3-cp311-cp311-win32.whl", hash = "sha256:0db14f5dafddbb6d9208827849fad01f1a2609380add406671a26386cdf15a19", size = 14572, upload-time = "2025-09-27T18:36:28.045Z" },
+ { url = "https://files.pythonhosted.org/packages/83/8a/4414c03d3f891739326e1783338e48fb49781cc915b2e0ee052aa490d586/markupsafe-3.0.3-cp311-cp311-win_amd64.whl", hash = "sha256:de8a88e63464af587c950061a5e6a67d3632e36df62b986892331d4620a35c01", size = 15077, upload-time = "2025-09-27T18:36:29.025Z" },
+ { url = "https://files.pythonhosted.org/packages/35/73/893072b42e6862f319b5207adc9ae06070f095b358655f077f69a35601f0/markupsafe-3.0.3-cp311-cp311-win_arm64.whl", hash = "sha256:3b562dd9e9ea93f13d53989d23a7e775fdfd1066c33494ff43f5418bc8c58a5c", size = 13876, upload-time = "2025-09-27T18:36:29.954Z" },
+ { url = "https://files.pythonhosted.org/packages/5a/72/147da192e38635ada20e0a2e1a51cf8823d2119ce8883f7053879c2199b5/markupsafe-3.0.3-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:d53197da72cc091b024dd97249dfc7794d6a56530370992a5e1a08983ad9230e", size = 11615, upload-time = "2025-09-27T18:36:30.854Z" },
+ { url = "https://files.pythonhosted.org/packages/9a/81/7e4e08678a1f98521201c3079f77db69fb552acd56067661f8c2f534a718/markupsafe-3.0.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:1872df69a4de6aead3491198eaf13810b565bdbeec3ae2dc8780f14458ec73ce", size = 12020, upload-time = "2025-09-27T18:36:31.971Z" },
+ { url = "https://files.pythonhosted.org/packages/1e/2c/799f4742efc39633a1b54a92eec4082e4f815314869865d876824c257c1e/markupsafe-3.0.3-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:3a7e8ae81ae39e62a41ec302f972ba6ae23a5c5396c8e60113e9066ef893da0d", size = 24332, upload-time = "2025-09-27T18:36:32.813Z" },
+ { url = "https://files.pythonhosted.org/packages/3c/2e/8d0c2ab90a8c1d9a24f0399058ab8519a3279d1bd4289511d74e909f060e/markupsafe-3.0.3-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:d6dd0be5b5b189d31db7cda48b91d7e0a9795f31430b7f271219ab30f1d3ac9d", size = 22947, upload-time = "2025-09-27T18:36:33.86Z" },
+ { url = "https://files.pythonhosted.org/packages/2c/54/887f3092a85238093a0b2154bd629c89444f395618842e8b0c41783898ea/markupsafe-3.0.3-cp312-cp312-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:94c6f0bb423f739146aec64595853541634bde58b2135f27f61c1ffd1cd4d16a", size = 21962, upload-time = "2025-09-27T18:36:35.099Z" },
+ { url = "https://files.pythonhosted.org/packages/c9/2f/336b8c7b6f4a4d95e91119dc8521402461b74a485558d8f238a68312f11c/markupsafe-3.0.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:be8813b57049a7dc738189df53d69395eba14fb99345e0a5994914a3864c8a4b", size = 23760, upload-time = "2025-09-27T18:36:36.001Z" },
+ { url = "https://files.pythonhosted.org/packages/32/43/67935f2b7e4982ffb50a4d169b724d74b62a3964bc1a9a527f5ac4f1ee2b/markupsafe-3.0.3-cp312-cp312-musllinux_1_2_riscv64.whl", hash = "sha256:83891d0e9fb81a825d9a6d61e3f07550ca70a076484292a70fde82c4b807286f", size = 21529, upload-time = "2025-09-27T18:36:36.906Z" },
+ { url = "https://files.pythonhosted.org/packages/89/e0/4486f11e51bbba8b0c041098859e869e304d1c261e59244baa3d295d47b7/markupsafe-3.0.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:77f0643abe7495da77fb436f50f8dab76dbc6e5fd25d39589a0f1fe6548bfa2b", size = 23015, upload-time = "2025-09-27T18:36:37.868Z" },
+ { url = "https://files.pythonhosted.org/packages/2f/e1/78ee7a023dac597a5825441ebd17170785a9dab23de95d2c7508ade94e0e/markupsafe-3.0.3-cp312-cp312-win32.whl", hash = "sha256:d88b440e37a16e651bda4c7c2b930eb586fd15ca7406cb39e211fcff3bf3017d", size = 14540, upload-time = "2025-09-27T18:36:38.761Z" },
+ { url = "https://files.pythonhosted.org/packages/aa/5b/bec5aa9bbbb2c946ca2733ef9c4ca91c91b6a24580193e891b5f7dbe8e1e/markupsafe-3.0.3-cp312-cp312-win_amd64.whl", hash = "sha256:26a5784ded40c9e318cfc2bdb30fe164bdb8665ded9cd64d500a34fb42067b1c", size = 15105, upload-time = "2025-09-27T18:36:39.701Z" },
+ { url = "https://files.pythonhosted.org/packages/e5/f1/216fc1bbfd74011693a4fd837e7026152e89c4bcf3e77b6692fba9923123/markupsafe-3.0.3-cp312-cp312-win_arm64.whl", hash = "sha256:35add3b638a5d900e807944a078b51922212fb3dedb01633a8defc4b01a3c85f", size = 13906, upload-time = "2025-09-27T18:36:40.689Z" },
+ { url = "https://files.pythonhosted.org/packages/38/2f/907b9c7bbba283e68f20259574b13d005c121a0fa4c175f9bed27c4597ff/markupsafe-3.0.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:e1cf1972137e83c5d4c136c43ced9ac51d0e124706ee1c8aa8532c1287fa8795", size = 11622, upload-time = "2025-09-27T18:36:41.777Z" },
+ { url = "https://files.pythonhosted.org/packages/9c/d9/5f7756922cdd676869eca1c4e3c0cd0df60ed30199ffd775e319089cb3ed/markupsafe-3.0.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:116bb52f642a37c115f517494ea5feb03889e04df47eeff5b130b1808ce7c219", size = 12029, upload-time = "2025-09-27T18:36:43.257Z" },
+ { url = "https://files.pythonhosted.org/packages/00/07/575a68c754943058c78f30db02ee03a64b3c638586fba6a6dd56830b30a3/markupsafe-3.0.3-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:133a43e73a802c5562be9bbcd03d090aa5a1fe899db609c29e8c8d815c5f6de6", size = 24374, upload-time = "2025-09-27T18:36:44.508Z" },
+ { url = "https://files.pythonhosted.org/packages/a9/21/9b05698b46f218fc0e118e1f8168395c65c8a2c750ae2bab54fc4bd4e0e8/markupsafe-3.0.3-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:ccfcd093f13f0f0b7fdd0f198b90053bf7b2f02a3927a30e63f3ccc9df56b676", size = 22980, upload-time = "2025-09-27T18:36:45.385Z" },
+ { url = "https://files.pythonhosted.org/packages/7f/71/544260864f893f18b6827315b988c146b559391e6e7e8f7252839b1b846a/markupsafe-3.0.3-cp313-cp313-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:509fa21c6deb7a7a273d629cf5ec029bc209d1a51178615ddf718f5918992ab9", size = 21990, upload-time = "2025-09-27T18:36:46.916Z" },
+ { url = "https://files.pythonhosted.org/packages/c2/28/b50fc2f74d1ad761af2f5dcce7492648b983d00a65b8c0e0cb457c82ebbe/markupsafe-3.0.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:a4afe79fb3de0b7097d81da19090f4df4f8d3a2b3adaa8764138aac2e44f3af1", size = 23784, upload-time = "2025-09-27T18:36:47.884Z" },
+ { url = "https://files.pythonhosted.org/packages/ed/76/104b2aa106a208da8b17a2fb72e033a5a9d7073c68f7e508b94916ed47a9/markupsafe-3.0.3-cp313-cp313-musllinux_1_2_riscv64.whl", hash = "sha256:795e7751525cae078558e679d646ae45574b47ed6e7771863fcc079a6171a0fc", size = 21588, upload-time = "2025-09-27T18:36:48.82Z" },
+ { url = "https://files.pythonhosted.org/packages/b5/99/16a5eb2d140087ebd97180d95249b00a03aa87e29cc224056274f2e45fd6/markupsafe-3.0.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:8485f406a96febb5140bfeca44a73e3ce5116b2501ac54fe953e488fb1d03b12", size = 23041, upload-time = "2025-09-27T18:36:49.797Z" },
+ { url = "https://files.pythonhosted.org/packages/19/bc/e7140ed90c5d61d77cea142eed9f9c303f4c4806f60a1044c13e3f1471d0/markupsafe-3.0.3-cp313-cp313-win32.whl", hash = "sha256:bdd37121970bfd8be76c5fb069c7751683bdf373db1ed6c010162b2a130248ed", size = 14543, upload-time = "2025-09-27T18:36:51.584Z" },
+ { url = "https://files.pythonhosted.org/packages/05/73/c4abe620b841b6b791f2edc248f556900667a5a1cf023a6646967ae98335/markupsafe-3.0.3-cp313-cp313-win_amd64.whl", hash = "sha256:9a1abfdc021a164803f4d485104931fb8f8c1efd55bc6b748d2f5774e78b62c5", size = 15113, upload-time = "2025-09-27T18:36:52.537Z" },
+ { url = "https://files.pythonhosted.org/packages/f0/3a/fa34a0f7cfef23cf9500d68cb7c32dd64ffd58a12b09225fb03dd37d5b80/markupsafe-3.0.3-cp313-cp313-win_arm64.whl", hash = "sha256:7e68f88e5b8799aa49c85cd116c932a1ac15caaa3f5db09087854d218359e485", size = 13911, upload-time = "2025-09-27T18:36:53.513Z" },
+ { url = "https://files.pythonhosted.org/packages/e4/d7/e05cd7efe43a88a17a37b3ae96e79a19e846f3f456fe79c57ca61356ef01/markupsafe-3.0.3-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:218551f6df4868a8d527e3062d0fb968682fe92054e89978594c28e642c43a73", size = 11658, upload-time = "2025-09-27T18:36:54.819Z" },
+ { url = "https://files.pythonhosted.org/packages/99/9e/e412117548182ce2148bdeacdda3bb494260c0b0184360fe0d56389b523b/markupsafe-3.0.3-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:3524b778fe5cfb3452a09d31e7b5adefeea8c5be1d43c4f810ba09f2ceb29d37", size = 12066, upload-time = "2025-09-27T18:36:55.714Z" },
+ { url = "https://files.pythonhosted.org/packages/bc/e6/fa0ffcda717ef64a5108eaa7b4f5ed28d56122c9a6d70ab8b72f9f715c80/markupsafe-3.0.3-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:4e885a3d1efa2eadc93c894a21770e4bc67899e3543680313b09f139e149ab19", size = 25639, upload-time = "2025-09-27T18:36:56.908Z" },
+ { url = "https://files.pythonhosted.org/packages/96/ec/2102e881fe9d25fc16cb4b25d5f5cde50970967ffa5dddafdb771237062d/markupsafe-3.0.3-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:8709b08f4a89aa7586de0aadc8da56180242ee0ada3999749b183aa23df95025", size = 23569, upload-time = "2025-09-27T18:36:57.913Z" },
+ { url = "https://files.pythonhosted.org/packages/4b/30/6f2fce1f1f205fc9323255b216ca8a235b15860c34b6798f810f05828e32/markupsafe-3.0.3-cp313-cp313t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:b8512a91625c9b3da6f127803b166b629725e68af71f8184ae7e7d54686a56d6", size = 23284, upload-time = "2025-09-27T18:36:58.833Z" },
+ { url = "https://files.pythonhosted.org/packages/58/47/4a0ccea4ab9f5dcb6f79c0236d954acb382202721e704223a8aafa38b5c8/markupsafe-3.0.3-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:9b79b7a16f7fedff2495d684f2b59b0457c3b493778c9eed31111be64d58279f", size = 24801, upload-time = "2025-09-27T18:36:59.739Z" },
+ { url = "https://files.pythonhosted.org/packages/6a/70/3780e9b72180b6fecb83a4814d84c3bf4b4ae4bf0b19c27196104149734c/markupsafe-3.0.3-cp313-cp313t-musllinux_1_2_riscv64.whl", hash = "sha256:12c63dfb4a98206f045aa9563db46507995f7ef6d83b2f68eda65c307c6829eb", size = 22769, upload-time = "2025-09-27T18:37:00.719Z" },
+ { url = "https://files.pythonhosted.org/packages/98/c5/c03c7f4125180fc215220c035beac6b9cb684bc7a067c84fc69414d315f5/markupsafe-3.0.3-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:8f71bc33915be5186016f675cd83a1e08523649b0e33efdb898db577ef5bb009", size = 23642, upload-time = "2025-09-27T18:37:01.673Z" },
+ { url = "https://files.pythonhosted.org/packages/80/d6/2d1b89f6ca4bff1036499b1e29a1d02d282259f3681540e16563f27ebc23/markupsafe-3.0.3-cp313-cp313t-win32.whl", hash = "sha256:69c0b73548bc525c8cb9a251cddf1931d1db4d2258e9599c28c07ef3580ef354", size = 14612, upload-time = "2025-09-27T18:37:02.639Z" },
+ { url = "https://files.pythonhosted.org/packages/2b/98/e48a4bfba0a0ffcf9925fe2d69240bfaa19c6f7507b8cd09c70684a53c1e/markupsafe-3.0.3-cp313-cp313t-win_amd64.whl", hash = "sha256:1b4b79e8ebf6b55351f0d91fe80f893b4743f104bff22e90697db1590e47a218", size = 15200, upload-time = "2025-09-27T18:37:03.582Z" },
+ { url = "https://files.pythonhosted.org/packages/0e/72/e3cc540f351f316e9ed0f092757459afbc595824ca724cbc5a5d4263713f/markupsafe-3.0.3-cp313-cp313t-win_arm64.whl", hash = "sha256:ad2cf8aa28b8c020ab2fc8287b0f823d0a7d8630784c31e9ee5edea20f406287", size = 13973, upload-time = "2025-09-27T18:37:04.929Z" },
+]
+
+[[package]]
+name = "matplotlib"
+version = "3.10.8"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "contourpy", version = "1.3.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11' or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "contourpy", version = "1.3.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11' or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "cycler" },
+ { name = "fonttools" },
+ { name = "kiwisolver" },
+ { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11' or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "numpy", version = "2.3.5", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11' or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "packaging" },
+ { name = "pillow" },
+ { name = "pyparsing" },
+ { name = "python-dateutil" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/8a/76/d3c6e3a13fe484ebe7718d14e269c9569c4eb0020a968a327acb3b9a8fe6/matplotlib-3.10.8.tar.gz", hash = "sha256:2299372c19d56bcd35cf05a2738308758d32b9eaed2371898d8f5bd33f084aa3", size = 34806269, upload-time = "2025-12-10T22:56:51.155Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/58/be/a30bd917018ad220c400169fba298f2bb7003c8ccbc0c3e24ae2aacad1e8/matplotlib-3.10.8-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:00270d217d6b20d14b584c521f810d60c5c78406dc289859776550df837dcda7", size = 8239828, upload-time = "2025-12-10T22:55:02.313Z" },
+ { url = "https://files.pythonhosted.org/packages/58/27/ca01e043c4841078e82cf6e80a6993dfecd315c3d79f5f3153afbb8e1ec6/matplotlib-3.10.8-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:37b3c1cc42aa184b3f738cfa18c1c1d72fd496d85467a6cf7b807936d39aa656", size = 8128050, upload-time = "2025-12-10T22:55:04.997Z" },
+ { url = "https://files.pythonhosted.org/packages/cb/aa/7ab67f2b729ae6a91bcf9dcac0affb95fb8c56f7fd2b2af894ae0b0cf6fa/matplotlib-3.10.8-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:ee40c27c795bda6a5292e9cff9890189d32f7e3a0bf04e0e3c9430c4a00c37df", size = 8700452, upload-time = "2025-12-10T22:55:07.47Z" },
+ { url = "https://files.pythonhosted.org/packages/73/ae/2d5817b0acee3c49b7e7ccfbf5b273f284957cc8e270adf36375db353190/matplotlib-3.10.8-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:a48f2b74020919552ea25d222d5cc6af9ca3f4eb43a93e14d068457f545c2a17", size = 9534928, upload-time = "2025-12-10T22:55:10.566Z" },
+ { url = "https://files.pythonhosted.org/packages/c9/5b/8e66653e9f7c39cb2e5cab25fce4810daffa2bff02cbf5f3077cea9e942c/matplotlib-3.10.8-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:f254d118d14a7f99d616271d6c3c27922c092dac11112670b157798b89bf4933", size = 9586377, upload-time = "2025-12-10T22:55:12.362Z" },
+ { url = "https://files.pythonhosted.org/packages/e2/e2/fd0bbadf837f81edb0d208ba8f8cb552874c3b16e27cb91a31977d90875d/matplotlib-3.10.8-cp310-cp310-win_amd64.whl", hash = "sha256:f9b587c9c7274c1613a30afabf65a272114cd6cdbe67b3406f818c79d7ab2e2a", size = 8128127, upload-time = "2025-12-10T22:55:14.436Z" },
+ { url = "https://files.pythonhosted.org/packages/f8/86/de7e3a1cdcfc941483af70609edc06b83e7c8a0e0dc9ac325200a3f4d220/matplotlib-3.10.8-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:6be43b667360fef5c754dda5d25a32e6307a03c204f3c0fc5468b78fa87b4160", size = 8251215, upload-time = "2025-12-10T22:55:16.175Z" },
+ { url = "https://files.pythonhosted.org/packages/fd/14/baad3222f424b19ce6ad243c71de1ad9ec6b2e4eb1e458a48fdc6d120401/matplotlib-3.10.8-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:a2b336e2d91a3d7006864e0990c83b216fcdca64b5a6484912902cef87313d78", size = 8139625, upload-time = "2025-12-10T22:55:17.712Z" },
+ { url = "https://files.pythonhosted.org/packages/8f/a0/7024215e95d456de5883e6732e708d8187d9753a21d32f8ddb3befc0c445/matplotlib-3.10.8-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:efb30e3baaea72ce5928e32bab719ab4770099079d66726a62b11b1ef7273be4", size = 8712614, upload-time = "2025-12-10T22:55:20.8Z" },
+ { url = "https://files.pythonhosted.org/packages/5a/f4/b8347351da9a5b3f41e26cf547252d861f685c6867d179a7c9d60ad50189/matplotlib-3.10.8-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:d56a1efd5bfd61486c8bc968fa18734464556f0fb8e51690f4ac25d85cbbbbc2", size = 9540997, upload-time = "2025-12-10T22:55:23.258Z" },
+ { url = "https://files.pythonhosted.org/packages/9e/c0/c7b914e297efe0bc36917bf216b2acb91044b91e930e878ae12981e461e5/matplotlib-3.10.8-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:238b7ce5717600615c895050239ec955d91f321c209dd110db988500558e70d6", size = 9596825, upload-time = "2025-12-10T22:55:25.217Z" },
+ { url = "https://files.pythonhosted.org/packages/6f/d3/a4bbc01c237ab710a1f22b4da72f4ff6d77eb4c7735ea9811a94ae239067/matplotlib-3.10.8-cp311-cp311-win_amd64.whl", hash = "sha256:18821ace09c763ec93aef5eeff087ee493a24051936d7b9ebcad9662f66501f9", size = 8135090, upload-time = "2025-12-10T22:55:27.162Z" },
+ { url = "https://files.pythonhosted.org/packages/89/dd/a0b6588f102beab33ca6f5218b31725216577b2a24172f327eaf6417d5c9/matplotlib-3.10.8-cp311-cp311-win_arm64.whl", hash = "sha256:bab485bcf8b1c7d2060b4fcb6fc368a9e6f4cd754c9c2fea281f4be21df394a2", size = 8012377, upload-time = "2025-12-10T22:55:29.185Z" },
+ { url = "https://files.pythonhosted.org/packages/9e/67/f997cdcbb514012eb0d10cd2b4b332667997fb5ebe26b8d41d04962fa0e6/matplotlib-3.10.8-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:64fcc24778ca0404ce0cb7b6b77ae1f4c7231cdd60e6778f999ee05cbd581b9a", size = 8260453, upload-time = "2025-12-10T22:55:30.709Z" },
+ { url = "https://files.pythonhosted.org/packages/7e/65/07d5f5c7f7c994f12c768708bd2e17a4f01a2b0f44a1c9eccad872433e2e/matplotlib-3.10.8-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:b9a5ca4ac220a0cdd1ba6bcba3608547117d30468fefce49bb26f55c1a3d5c58", size = 8148321, upload-time = "2025-12-10T22:55:33.265Z" },
+ { url = "https://files.pythonhosted.org/packages/3e/f3/c5195b1ae57ef85339fd7285dfb603b22c8b4e79114bae5f4f0fcf688677/matplotlib-3.10.8-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:3ab4aabc72de4ff77b3ec33a6d78a68227bf1123465887f9905ba79184a1cc04", size = 8716944, upload-time = "2025-12-10T22:55:34.922Z" },
+ { url = "https://files.pythonhosted.org/packages/00/f9/7638f5cc82ec8a7aa005de48622eecc3ed7c9854b96ba15bd76b7fd27574/matplotlib-3.10.8-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:24d50994d8c5816ddc35411e50a86ab05f575e2530c02752e02538122613371f", size = 9550099, upload-time = "2025-12-10T22:55:36.789Z" },
+ { url = "https://files.pythonhosted.org/packages/57/61/78cd5920d35b29fd2a0fe894de8adf672ff52939d2e9b43cb83cd5ce1bc7/matplotlib-3.10.8-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:99eefd13c0dc3b3c1b4d561c1169e65fe47aab7b8158754d7c084088e2329466", size = 9613040, upload-time = "2025-12-10T22:55:38.715Z" },
+ { url = "https://files.pythonhosted.org/packages/30/4e/c10f171b6e2f44d9e3a2b96efa38b1677439d79c99357600a62cc1e9594e/matplotlib-3.10.8-cp312-cp312-win_amd64.whl", hash = "sha256:dd80ecb295460a5d9d260df63c43f4afbdd832d725a531f008dad1664f458adf", size = 8142717, upload-time = "2025-12-10T22:55:41.103Z" },
+ { url = "https://files.pythonhosted.org/packages/f1/76/934db220026b5fef85f45d51a738b91dea7d70207581063cd9bd8fafcf74/matplotlib-3.10.8-cp312-cp312-win_arm64.whl", hash = "sha256:3c624e43ed56313651bc18a47f838b60d7b8032ed348911c54906b130b20071b", size = 8012751, upload-time = "2025-12-10T22:55:42.684Z" },
+ { url = "https://files.pythonhosted.org/packages/3d/b9/15fd5541ef4f5b9a17eefd379356cf12175fe577424e7b1d80676516031a/matplotlib-3.10.8-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:3f2e409836d7f5ac2f1c013110a4d50b9f7edc26328c108915f9075d7d7a91b6", size = 8261076, upload-time = "2025-12-10T22:55:44.648Z" },
+ { url = "https://files.pythonhosted.org/packages/8d/a0/2ba3473c1b66b9c74dc7107c67e9008cb1782edbe896d4c899d39ae9cf78/matplotlib-3.10.8-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:56271f3dac49a88d7fca5060f004d9d22b865f743a12a23b1e937a0be4818ee1", size = 8148794, upload-time = "2025-12-10T22:55:46.252Z" },
+ { url = "https://files.pythonhosted.org/packages/75/97/a471f1c3eb1fd6f6c24a31a5858f443891d5127e63a7788678d14e249aea/matplotlib-3.10.8-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:a0a7f52498f72f13d4a25ea70f35f4cb60642b466cbb0a9be951b5bc3f45a486", size = 8718474, upload-time = "2025-12-10T22:55:47.864Z" },
+ { url = "https://files.pythonhosted.org/packages/01/be/cd478f4b66f48256f42927d0acbcd63a26a893136456cd079c0cc24fbabf/matplotlib-3.10.8-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:646d95230efb9ca614a7a594d4fcacde0ac61d25e37dd51710b36477594963ce", size = 9549637, upload-time = "2025-12-10T22:55:50.048Z" },
+ { url = "https://files.pythonhosted.org/packages/5d/7c/8dc289776eae5109e268c4fb92baf870678dc048a25d4ac903683b86d5bf/matplotlib-3.10.8-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:f89c151aab2e2e23cb3fe0acad1e8b82841fd265379c4cecd0f3fcb34c15e0f6", size = 9613678, upload-time = "2025-12-10T22:55:52.21Z" },
+ { url = "https://files.pythonhosted.org/packages/64/40/37612487cc8a437d4dd261b32ca21fe2d79510fe74af74e1f42becb1bdb8/matplotlib-3.10.8-cp313-cp313-win_amd64.whl", hash = "sha256:e8ea3e2d4066083e264e75c829078f9e149fa119d27e19acd503de65e0b13149", size = 8142686, upload-time = "2025-12-10T22:55:54.253Z" },
+ { url = "https://files.pythonhosted.org/packages/66/52/8d8a8730e968185514680c2a6625943f70269509c3dcfc0dcf7d75928cb8/matplotlib-3.10.8-cp313-cp313-win_arm64.whl", hash = "sha256:c108a1d6fa78a50646029cb6d49808ff0fc1330fda87fa6f6250c6b5369b6645", size = 8012917, upload-time = "2025-12-10T22:55:56.268Z" },
+ { url = "https://files.pythonhosted.org/packages/b5/27/51fe26e1062f298af5ef66343d8ef460e090a27fea73036c76c35821df04/matplotlib-3.10.8-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:ad3d9833a64cf48cc4300f2b406c3d0f4f4724a91c0bd5640678a6ba7c102077", size = 8305679, upload-time = "2025-12-10T22:55:57.856Z" },
+ { url = "https://files.pythonhosted.org/packages/2c/1e/4de865bc591ac8e3062e835f42dd7fe7a93168d519557837f0e37513f629/matplotlib-3.10.8-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:eb3823f11823deade26ce3b9f40dcb4a213da7a670013929f31d5f5ed1055b22", size = 8198336, upload-time = "2025-12-10T22:55:59.371Z" },
+ { url = "https://files.pythonhosted.org/packages/c6/cb/2f7b6e75fb4dce87ef91f60cac4f6e34f4c145ab036a22318ec837971300/matplotlib-3.10.8-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:d9050fee89a89ed57b4fb2c1bfac9a3d0c57a0d55aed95949eedbc42070fea39", size = 8731653, upload-time = "2025-12-10T22:56:01.032Z" },
+ { url = "https://files.pythonhosted.org/packages/46/b3/bd9c57d6ba670a37ab31fb87ec3e8691b947134b201f881665b28cc039ff/matplotlib-3.10.8-cp313-cp313t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:b44d07310e404ba95f8c25aa5536f154c0a8ec473303535949e52eb71d0a1565", size = 9561356, upload-time = "2025-12-10T22:56:02.95Z" },
+ { url = "https://files.pythonhosted.org/packages/c0/3d/8b94a481456dfc9dfe6e39e93b5ab376e50998cddfd23f4ae3b431708f16/matplotlib-3.10.8-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:0a33deb84c15ede243aead39f77e990469fff93ad1521163305095b77b72ce4a", size = 9614000, upload-time = "2025-12-10T22:56:05.411Z" },
+ { url = "https://files.pythonhosted.org/packages/bd/cd/bc06149fe5585ba800b189a6a654a75f1f127e8aab02fd2be10df7fa500c/matplotlib-3.10.8-cp313-cp313t-win_amd64.whl", hash = "sha256:3a48a78d2786784cc2413e57397981fb45c79e968d99656706018d6e62e57958", size = 8220043, upload-time = "2025-12-10T22:56:07.551Z" },
+ { url = "https://files.pythonhosted.org/packages/e3/de/b22cf255abec916562cc04eef457c13e58a1990048de0c0c3604d082355e/matplotlib-3.10.8-cp313-cp313t-win_arm64.whl", hash = "sha256:15d30132718972c2c074cd14638c7f4592bd98719e2308bccea40e0538bc0cb5", size = 8062075, upload-time = "2025-12-10T22:56:09.178Z" },
+ { url = "https://files.pythonhosted.org/packages/f5/43/31d59500bb950b0d188e149a2e552040528c13d6e3d6e84d0cccac593dcd/matplotlib-3.10.8-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:f97aeb209c3d2511443f8797e3e5a569aebb040d4f8bc79aa3ee78a8fb9e3dd8", size = 8237252, upload-time = "2025-12-10T22:56:39.529Z" },
+ { url = "https://files.pythonhosted.org/packages/0c/2c/615c09984f3c5f907f51c886538ad785cf72e0e11a3225de2c0f9442aecc/matplotlib-3.10.8-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:fb061f596dad3a0f52b60dc6a5dec4a0c300dec41e058a7efe09256188d170b7", size = 8124693, upload-time = "2025-12-10T22:56:41.758Z" },
+ { url = "https://files.pythonhosted.org/packages/91/e1/2757277a1c56041e1fc104b51a0f7b9a4afc8eb737865d63cababe30bc61/matplotlib-3.10.8-pp310-pypy310_pp73-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:12d90df9183093fcd479f4172ac26b322b1248b15729cb57f42f71f24c7e37a3", size = 8702205, upload-time = "2025-12-10T22:56:43.415Z" },
+ { url = "https://files.pythonhosted.org/packages/04/30/3afaa31c757f34b7725ab9d2ba8b48b5e89c2019c003e7d0ead143aabc5a/matplotlib-3.10.8-pp311-pypy311_pp73-macosx_10_15_x86_64.whl", hash = "sha256:6da7c2ce169267d0d066adcf63758f0604aa6c3eebf67458930f9d9b79ad1db1", size = 8249198, upload-time = "2025-12-10T22:56:45.584Z" },
+ { url = "https://files.pythonhosted.org/packages/48/2f/6334aec331f57485a642a7c8be03cb286f29111ae71c46c38b363230063c/matplotlib-3.10.8-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:9153c3292705be9f9c64498a8872118540c3f4123d1a1c840172edf262c8be4a", size = 8136817, upload-time = "2025-12-10T22:56:47.339Z" },
+ { url = "https://files.pythonhosted.org/packages/73/e4/6d6f14b2a759c622f191b2d67e9075a3f56aaccb3be4bb9bb6890030d0a0/matplotlib-3.10.8-pp311-pypy311_pp73-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:1ae029229a57cd1e8fe542485f27e7ca7b23aa9e8944ddb4985d0bc444f1eca2", size = 8713867, upload-time = "2025-12-10T22:56:48.954Z" },
+]
+
+[[package]]
+name = "mdurl"
+version = "0.1.2"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/d6/54/cfe61301667036ec958cb99bd3efefba235e65cdeb9c84d24a8293ba1d90/mdurl-0.1.2.tar.gz", hash = "sha256:bb413d29f5eea38f31dd4754dd7377d4465116fb207585f97bf925588687c1ba", size = 8729, upload-time = "2022-08-14T12:40:10.846Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/b3/38/89ba8ad64ae25be8de66a6d463314cf1eb366222074cfda9ee839c56a4b4/mdurl-0.1.2-py3-none-any.whl", hash = "sha256:84008a41e51615a49fc9966191ff91509e3c40b939176e643fd50a5c2196b8f8", size = 9979, upload-time = "2022-08-14T12:40:09.779Z" },
+]
+
+[[package]]
+name = "mlx"
+version = "0.30.6"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "mlx-metal", marker = "platform_machine != 'aarch64' and sys_platform == 'darwin'" },
+]
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/a0/2e/016527cf1012a68bb25f1ba3a73914f87807a7fee58d7a54fa69adcd2f55/mlx-0.30.6-cp310-cp310-macosx_14_0_arm64.whl", hash = "sha256:6c4df52aebfac40563259c04fca4a0c4d05b2061e09cdaad24e4233baa560b4f", size = 573214, upload-time = "2026-02-06T03:45:00.344Z" },
+ { url = "https://files.pythonhosted.org/packages/a4/8f/600c6bed6eb6574e4a9d15e7a20a2ec903c2c5b54e2fd782c592a00ff933/mlx-0.30.6-cp310-cp310-macosx_15_0_arm64.whl", hash = "sha256:0df8715b5cb84b6b6314aa868302873a0a94e63e6d195bc9858b8c58c79aa5a4", size = 573213, upload-time = "2026-02-06T03:45:02.208Z" },
+ { url = "https://files.pythonhosted.org/packages/11/f7/d15af26c639c3d6000b6478fc0d54a7a528d71e79255190a0abc42f31608/mlx-0.30.6-cp310-cp310-macosx_26_0_arm64.whl", hash = "sha256:7b4742ec2b748d2406c884e364fcd6f89d7f2b3f834f7b65c4c07acfa139cae8", size = 573254, upload-time = "2026-02-06T03:45:03.575Z" },
+ { url = "https://files.pythonhosted.org/packages/d4/c3/e4f1fda18068fe0d5213f67d94771f39e219a24072746a02ca70a3a6020f/mlx-0.30.6-cp310-cp310-manylinux_2_35_aarch64.whl", hash = "sha256:45c91ff34690b0d34063d1dc68a7a87f142ff9c5df6e5c611884a6bdcc9a53e1", size = 636558, upload-time = "2026-02-06T03:45:05.262Z" },
+ { url = "https://files.pythonhosted.org/packages/70/c7/201e9e3ab3304aca99f850a0c1bc5d52e52e48960b0d415a196cd288faef/mlx-0.30.6-cp310-cp310-manylinux_2_35_x86_64.whl", hash = "sha256:b9b746fa0a44dfe1576925eb343ee9afa7023d3d805f84a3d90d0066096f31b8", size = 669479, upload-time = "2026-02-06T03:45:07.122Z" },
+ { url = "https://files.pythonhosted.org/packages/93/81/21d745beeda53ee29e9c027d806f1e1cac983e8ddb3d6b18d44a1b30a11b/mlx-0.30.6-cp311-cp311-macosx_14_0_arm64.whl", hash = "sha256:e721d29c4250ada3cba7a5ad43d358b42401600e792c378ed6b52c9d692aaba8", size = 573359, upload-time = "2026-02-06T03:45:08.41Z" },
+ { url = "https://files.pythonhosted.org/packages/05/08/826286458df5ea91efc380d71fd8058ee7338207c6b547204f2758e168d8/mlx-0.30.6-cp311-cp311-macosx_15_0_arm64.whl", hash = "sha256:23f55c1c160a38ab350f4f7ce3ab10c490df39800ad35c4821c3ef5fa89ec24e", size = 573359, upload-time = "2026-02-06T03:45:09.688Z" },
+ { url = "https://files.pythonhosted.org/packages/56/aa/3fc9ac795934182e680a0cbeb99202838e4548139cfd580015dcfbfb7ee8/mlx-0.30.6-cp311-cp311-macosx_26_0_arm64.whl", hash = "sha256:37c37571f8c1567c2b7e4871237b92a2b321fb8157d6426373be946c03e49ebd", size = 573406, upload-time = "2026-02-06T03:45:11.383Z" },
+ { url = "https://files.pythonhosted.org/packages/af/d1/b8bcc332e3c268bf59632d7a8f1b5c8e6a4b154d651aa20b93e359e3c004/mlx-0.30.6-cp311-cp311-manylinux_2_35_aarch64.whl", hash = "sha256:253317a2bab3a1927d7cb89267690d82525acb5810f30d696ff9b705e7f8a78a", size = 636997, upload-time = "2026-02-06T03:45:12.619Z" },
+ { url = "https://files.pythonhosted.org/packages/89/fa/bdc4b8aa6d078e724decb754b0f04ac1a25e46c190e52639906401c3b8b8/mlx-0.30.6-cp311-cp311-manylinux_2_35_x86_64.whl", hash = "sha256:4e2058ac219d99d38baa90f810947c6bfa09a28511dfe660629012a7c470c35d", size = 669638, upload-time = "2026-02-06T03:45:14.103Z" },
+ { url = "https://files.pythonhosted.org/packages/85/fe/85acff870a9949494fd505b22c34d63eb127442f5f8751a159d3a78f7ef6/mlx-0.30.6-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:47d20016cb5733d06c1d017412a31983dbe3237cf70942760430188922ffc1ba", size = 573484, upload-time = "2026-02-06T03:45:15.88Z" },
+ { url = "https://files.pythonhosted.org/packages/e1/14/5546082ee37118b33afb6300d8e07d03efea2dbba838d514d9465f87489b/mlx-0.30.6-cp312-cp312-macosx_15_0_arm64.whl", hash = "sha256:6b8c133df2d6a2ed173d2b7bb50d7032a13be84e1792b7d79171ad8f50a8c0ea", size = 573486, upload-time = "2026-02-06T03:45:17.506Z" },
+ { url = "https://files.pythonhosted.org/packages/ef/b5/ae04666a7b8bda74e2c6903756710103e283ea6fa4edd2c92449ad4547d6/mlx-0.30.6-cp312-cp312-macosx_26_0_arm64.whl", hash = "sha256:31eabb5d1da4ac7b16f2042fdb046b993cdf0f32bc3312e0af469232bb67720b", size = 573509, upload-time = "2026-02-06T03:45:18.68Z" },
+ { url = "https://files.pythonhosted.org/packages/9f/8e/fdee70051e2c7f523f9b22575f05bdb1b47300aba1ecda15bda98a9b01c1/mlx-0.30.6-cp312-cp312-manylinux_2_35_aarch64.whl", hash = "sha256:070010932d424005e6c9c76b379ccdf4d96b385658fdb34dc780fa4eb24cb1a0", size = 622061, upload-time = "2026-02-06T03:45:19.984Z" },
+ { url = "https://files.pythonhosted.org/packages/65/dd/fe29f1e19e5268a8f892c83be35f14e63f1aea3baf7e7e44e246d4fea184/mlx-0.30.6-cp312-cp312-manylinux_2_35_x86_64.whl", hash = "sha256:9084c8f20544ec6a53aa3edcd2da85d205e07ff80bd47151633219bd5cfcd23c", size = 663715, upload-time = "2026-02-06T03:45:21.873Z" },
+ { url = "https://files.pythonhosted.org/packages/ae/5b/e460e144a34d5529e010056cccf50b538d56ed001473bc6b246018fd58cb/mlx-0.30.6-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:ed86f8bffc174c2f259ca589ea25464c96cf69d1bb457074a2bf2ef53737e54f", size = 573515, upload-time = "2026-02-06T03:45:23.405Z" },
+ { url = "https://files.pythonhosted.org/packages/60/25/69833fefb9a3fef30b56792b1bcd022496c4fea83e45411d289b77ef7546/mlx-0.30.6-cp313-cp313-macosx_15_0_arm64.whl", hash = "sha256:c52294958269e20f300639a17c1900ca8fc737d859ddda737f9811e94bd040e5", size = 573516, upload-time = "2026-02-06T03:45:24.618Z" },
+ { url = "https://files.pythonhosted.org/packages/9c/6a/7e7fbeebc5cb51b6a5eba96b263a6298707bcbdc059f4b0b73e088bc3dea/mlx-0.30.6-cp313-cp313-macosx_26_0_arm64.whl", hash = "sha256:b5b6636f7c49a4d86d8ec82643b972f45a144a7a9f3a967b27b2e6e22cf71e6a", size = 573592, upload-time = "2026-02-06T03:45:25.928Z" },
+ { url = "https://files.pythonhosted.org/packages/93/06/280f6f2ba80520a7109730425eda0d966658793aa0d02d8be8d351f75253/mlx-0.30.6-cp313-cp313-manylinux_2_35_aarch64.whl", hash = "sha256:67e6c9e30a9faeacc209917ef5523177cf9b086914b6b5d83ff886e4294b727d", size = 622011, upload-time = "2026-02-06T03:45:28.165Z" },
+ { url = "https://files.pythonhosted.org/packages/fe/35/f872afbee9c079cc69924d9e9c46f5663adb7da58cba3511db082dd307c1/mlx-0.30.6-cp313-cp313-manylinux_2_35_x86_64.whl", hash = "sha256:47db8b16fcb6f6c5a47c0bdb24ed377b41237017ac93aa6cb6aa206c9bdf82e4", size = 663650, upload-time = "2026-02-06T03:45:30.315Z" },
+]
+
+[package.optional-dependencies]
+cpu = [
+ { name = "mlx-cpu", marker = "platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and sys_platform == 'linux'" },
+]
+cuda12 = [
+ { name = "mlx-cuda-12", marker = "platform_machine == 'x86_64' and sys_platform == 'linux'" },
+]
+
+[[package]]
+name = "mlx-cpu"
+version = "0.30.6"
+source = { registry = "https://pypi.org/simple" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/c1/fd/b52c37d8514c321675bd9c8dacf1a26f493bb1004adbb3986feda76f2776/mlx_cpu-0.30.6-py3-none-manylinux_2_35_aarch64.whl", hash = "sha256:d4ca39400e06a762ab8c43c1da7e4ada87d9880b864d10eff8023dc910c76985", size = 8689310, upload-time = "2026-02-06T01:48:34.598Z" },
+ { url = "https://files.pythonhosted.org/packages/67/a1/f097b2042c3373abeb0365b52a5f5fc9176fe5c14682483b53012f714697/mlx_cpu-0.30.6-py3-none-manylinux_2_35_x86_64.whl", hash = "sha256:573baa804539b64fc3e1740d7055e80e7b47eaa4139bbace69d6f9896d2081e4", size = 10262929, upload-time = "2026-02-06T01:48:37.157Z" },
+]
+
+[[package]]
+name = "mlx-cuda-12"
+version = "0.30.6"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "nvidia-cublas-cu12", version = "12.9.1.4", source = { registry = "https://pypi.org/simple" }, marker = "platform_machine == 'x86_64' and sys_platform == 'linux'" },
+ { name = "nvidia-cuda-nvrtc-cu12", version = "12.9.86", source = { registry = "https://pypi.org/simple" }, marker = "platform_machine == 'x86_64' and sys_platform == 'linux'" },
+ { name = "nvidia-cudnn-cu12", marker = "platform_machine == 'x86_64' and sys_platform == 'linux'" },
+ { name = "nvidia-nccl-cu12", marker = "platform_machine == 'x86_64' and sys_platform == 'linux'" },
+]
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/00/d2/855d6d7a20ec12cf25559bdb53d9dd1dd3811548905e804a36f49892adfc/mlx_cuda_12-0.30.6-py3-none-manylinux_2_35_aarch64.whl", hash = "sha256:9a9a9666287f93a84a7b33e6200b6b441c84598c18b9f8f4ff1e1d482af83e39", size = 66945176, upload-time = "2026-02-06T02:49:11.211Z" },
+ { url = "https://files.pythonhosted.org/packages/d7/4b/ce4d25f882c32064ccea6bd876249a19a659b3592bca4afa5da245093b8e/mlx_cuda_12-0.30.6-py3-none-manylinux_2_35_x86_64.whl", hash = "sha256:3970b7b4e9ba423bba90c44ceafb43584485c654aff04aee85f4f13c1d56baa4", size = 69178081, upload-time = "2026-02-06T02:49:15.168Z" },
+]
+
+[[package]]
+name = "mlx-metal"
+version = "0.30.6"
+source = { registry = "https://pypi.org/simple" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/f3/85/44406b521f920248fad621334d4dc15e77660a494edf890e7cbee33bf38d/mlx_metal-0.30.6-py3-none-macosx_14_0_arm64.whl", hash = "sha256:ea6d0c973def9a5b4f652cc77036237db3f88c9d0af63701d76b5fddde99b820", size = 38437818, upload-time = "2026-02-06T03:44:56.19Z" },
+ { url = "https://files.pythonhosted.org/packages/d0/cb/10a516995f7d0c154b0d7e633c54b51e96977a86a355105b6474cfcbe0d0/mlx_metal-0.30.6-py3-none-macosx_15_0_arm64.whl", hash = "sha256:0f8cb94634d07e06a372d6ad9a090f38a18bab1ff19a140aede60eacf707bb94", size = 38433701, upload-time = "2026-02-06T03:44:59.678Z" },
+ { url = "https://files.pythonhosted.org/packages/4c/7d/70cb272f7373c334709f210ed8420511fc9d64d05a7a646c0b3b94c29c04/mlx_metal-0.30.6-py3-none-macosx_26_0_arm64.whl", hash = "sha256:d761ae26304f2c4b454eeea7f612a56919d9e5e57dbb1dc0788f8e34aa6f41c2", size = 47718448, upload-time = "2026-02-06T03:45:03.133Z" },
+]
+
+[[package]]
+name = "mlx-whisper"
+version = "0.4.3"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "huggingface-hub", marker = "(platform_machine != 'aarch64' and sys_platform == 'darwin') or (platform_machine != 'x86_64' and sys_platform == 'linux') or (sys_platform != 'darwin' and sys_platform != 'linux')" },
+ { name = "mlx", marker = "(platform_machine != 'aarch64' and sys_platform == 'darwin') or (platform_machine != 'x86_64' and sys_platform == 'linux') or (sys_platform != 'darwin' and sys_platform != 'linux')" },
+ { name = "more-itertools", marker = "(platform_machine != 'aarch64' and sys_platform == 'darwin') or (platform_machine != 'x86_64' and sys_platform == 'linux') or (sys_platform != 'darwin' and sys_platform != 'linux')" },
+ { name = "numba", marker = "(platform_machine != 'aarch64' and sys_platform == 'darwin') or (platform_machine != 'x86_64' and sys_platform == 'linux') or (sys_platform != 'darwin' and sys_platform != 'linux')" },
+ { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "(python_full_version < '3.11' and platform_machine != 'aarch64' and sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-mlx') or (python_full_version < '3.11' and platform_machine != 'x86_64' and sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-mlx') or (python_full_version < '3.11' and sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-mlx') or (python_full_version >= '3.11' and sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version >= '3.11' and sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "numpy", version = "2.3.5", source = { registry = "https://pypi.org/simple" }, marker = "(python_full_version >= '3.11' and platform_machine != 'aarch64' and sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-mlx') or (python_full_version >= '3.11' and platform_machine != 'x86_64' and sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-mlx') or (python_full_version >= '3.11' and sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-mlx') or (python_full_version < '3.11' and sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version < '3.11' and sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "scipy", version = "1.15.3", source = { registry = "https://pypi.org/simple" }, marker = "(python_full_version < '3.11' and platform_machine != 'aarch64' and sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-mlx') or (python_full_version < '3.11' and platform_machine != 'x86_64' and sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-mlx') or (python_full_version < '3.11' and sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-mlx') or (python_full_version >= '3.11' and sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version >= '3.11' and sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "scipy", version = "1.17.0", source = { registry = "https://pypi.org/simple" }, marker = "(python_full_version >= '3.11' and platform_machine != 'aarch64' and sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-mlx') or (python_full_version >= '3.11' and platform_machine != 'x86_64' and sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-mlx') or (python_full_version >= '3.11' and sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-mlx') or (python_full_version < '3.11' and sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version < '3.11' and sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'x86_64' and sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "tiktoken", marker = "(platform_machine != 'aarch64' and sys_platform == 'darwin') or (platform_machine != 'x86_64' and sys_platform == 'linux') or (sys_platform != 'darwin' and sys_platform != 'linux')" },
+ { name = "torch", version = "2.9.1", source = { registry = "https://download.pytorch.org/whl/cpu" }, marker = "(platform_machine == 'arm64' and sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform != 'darwin' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "torch", version = "2.9.1+cpu", source = { registry = "https://download.pytorch.org/whl/cpu" }, marker = "(platform_machine != 'aarch64' and platform_machine != 'arm64' and sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform != 'darwin' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (sys_platform != 'darwin' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (sys_platform != 'darwin' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform != 'darwin' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform != 'darwin' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (sys_platform != 'darwin' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform != 'darwin' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform != 'darwin' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform != 'darwin' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform != 'darwin' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "torch", version = "2.9.1+cu129", source = { registry = "https://download.pytorch.org/whl/cu129" }, marker = "(platform_machine != 'x86_64' and sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "tqdm", marker = "(platform_machine != 'aarch64' and sys_platform == 'darwin') or (platform_machine != 'x86_64' and sys_platform == 'linux') or (sys_platform != 'darwin' and sys_platform != 'linux')" },
+]
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/22/b7/a35232812a2ccfffcb7614ba96a91338551a660a0e9815cee668bf5743f0/mlx_whisper-0.4.3-py3-none-any.whl", hash = "sha256:6b82b6597a994643a3e5496c7bc229a672e5ca308458455bfe276e76ae024489", size = 890544, upload-time = "2025-08-29T14:56:13.815Z" },
+]
+
+[[package]]
+name = "modelscope"
+version = "1.34.0"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "filelock" },
+ { name = "requests" },
+ { name = "setuptools" },
+ { name = "tqdm" },
+ { name = "urllib3" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/f4/89/7a13bf70090e631f81a943797e875272d19d47e0a6984eda0a5a3f04e7e3/modelscope-1.34.0.tar.gz", hash = "sha256:c3041af301334aa9ca3f66f5b23e11ca33a2bdf28cc415dcceb75f68e4732aac", size = 4560273, upload-time = "2026-01-19T02:50:23.274Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/46/df/2c112a7c4160aa5e74dad87060019be5eca197d910af3f5b12e68ec090a9/modelscope-1.34.0-py3-none-any.whl", hash = "sha256:4629ace145972520b71b0ad02e4604282426c0cfae6a4b0922509898f3b269c8", size = 6050825, upload-time = "2026-01-19T02:50:20.018Z" },
+]
+
+[[package]]
+name = "more-itertools"
+version = "10.8.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/ea/5d/38b681d3fce7a266dd9ab73c66959406d565b3e85f21d5e66e1181d93721/more_itertools-10.8.0.tar.gz", hash = "sha256:f638ddf8a1a0d134181275fb5d58b086ead7c6a72429ad725c67503f13ba30bd", size = 137431, upload-time = "2025-09-02T15:23:11.018Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/a4/8e/469e5a4a2f5855992e425f3cb33804cc07bf18d48f2db061aec61ce50270/more_itertools-10.8.0-py3-none-any.whl", hash = "sha256:52d4362373dcf7c52546bc4af9a86ee7c4579df9a8dc268be0a2f949d376cc9b", size = 69667, upload-time = "2025-09-02T15:23:09.635Z" },
+]
+
+[[package]]
+name = "mpmath"
+version = "1.3.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/e0/47/dd32fa426cc72114383ac549964eecb20ecfd886d1e5ccf5340b55b02f57/mpmath-1.3.0.tar.gz", hash = "sha256:7a28eb2a9774d00c7bc92411c19a89209d5da7c4c9a9e227be8330a23a25b91f", size = 508106, upload-time = "2023-03-07T16:47:11.061Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/43/e3/7d92a15f894aa0c9c4b49b8ee9ac9850d6e63b03c9c32c0367a13ae62209/mpmath-1.3.0-py3-none-any.whl", hash = "sha256:a0b2b9fe80bbcd81a6647ff13108738cfb482d481d826cc0e02f5b35e5c88d2c", size = 536198, upload-time = "2023-03-07T16:47:09.197Z" },
+]
+
+[[package]]
+name = "msgpack"
+version = "1.1.2"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/4d/f2/bfb55a6236ed8725a96b0aa3acbd0ec17588e6a2c3b62a93eb513ed8783f/msgpack-1.1.2.tar.gz", hash = "sha256:3b60763c1373dd60f398488069bcdc703cd08a711477b5d480eecc9f9626f47e", size = 173581, upload-time = "2025-10-08T09:15:56.596Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/f5/a2/3b68a9e769db68668b25c6108444a35f9bd163bb848c0650d516761a59c0/msgpack-1.1.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:0051fffef5a37ca2cd16978ae4f0aef92f164df86823871b5162812bebecd8e2", size = 81318, upload-time = "2025-10-08T09:14:38.722Z" },
+ { url = "https://files.pythonhosted.org/packages/5b/e1/2b720cc341325c00be44e1ed59e7cfeae2678329fbf5aa68f5bda57fe728/msgpack-1.1.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:a605409040f2da88676e9c9e5853b3449ba8011973616189ea5ee55ddbc5bc87", size = 83786, upload-time = "2025-10-08T09:14:40.082Z" },
+ { url = "https://files.pythonhosted.org/packages/71/e5/c2241de64bfceac456b140737812a2ab310b10538a7b34a1d393b748e095/msgpack-1.1.2-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:8b696e83c9f1532b4af884045ba7f3aa741a63b2bc22617293a2c6a7c645f251", size = 398240, upload-time = "2025-10-08T09:14:41.151Z" },
+ { url = "https://files.pythonhosted.org/packages/b7/09/2a06956383c0fdebaef5aa9246e2356776f12ea6f2a44bd1368abf0e46c4/msgpack-1.1.2-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:365c0bbe981a27d8932da71af63ef86acc59ed5c01ad929e09a0b88c6294e28a", size = 406070, upload-time = "2025-10-08T09:14:42.821Z" },
+ { url = "https://files.pythonhosted.org/packages/0e/74/2957703f0e1ef20637d6aead4fbb314330c26f39aa046b348c7edcf6ca6b/msgpack-1.1.2-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:41d1a5d875680166d3ac5c38573896453bbbea7092936d2e107214daf43b1d4f", size = 393403, upload-time = "2025-10-08T09:14:44.38Z" },
+ { url = "https://files.pythonhosted.org/packages/a5/09/3bfc12aa90f77b37322fc33e7a8a7c29ba7c8edeadfa27664451801b9860/msgpack-1.1.2-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:354e81bcdebaab427c3df4281187edc765d5d76bfb3a7c125af9da7a27e8458f", size = 398947, upload-time = "2025-10-08T09:14:45.56Z" },
+ { url = "https://files.pythonhosted.org/packages/4b/4f/05fcebd3b4977cb3d840f7ef6b77c51f8582086de5e642f3fefee35c86fc/msgpack-1.1.2-cp310-cp310-win32.whl", hash = "sha256:e64c8d2f5e5d5fda7b842f55dec6133260ea8f53c4257d64494c534f306bf7a9", size = 64769, upload-time = "2025-10-08T09:14:47.334Z" },
+ { url = "https://files.pythonhosted.org/packages/d0/3e/b4547e3a34210956382eed1c85935fff7e0f9b98be3106b3745d7dec9c5e/msgpack-1.1.2-cp310-cp310-win_amd64.whl", hash = "sha256:db6192777d943bdaaafb6ba66d44bf65aa0e9c5616fa1d2da9bb08828c6b39aa", size = 71293, upload-time = "2025-10-08T09:14:48.665Z" },
+ { url = "https://files.pythonhosted.org/packages/2c/97/560d11202bcd537abca693fd85d81cebe2107ba17301de42b01ac1677b69/msgpack-1.1.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:2e86a607e558d22985d856948c12a3fa7b42efad264dca8a3ebbcfa2735d786c", size = 82271, upload-time = "2025-10-08T09:14:49.967Z" },
+ { url = "https://files.pythonhosted.org/packages/83/04/28a41024ccbd67467380b6fb440ae916c1e4f25e2cd4c63abe6835ac566e/msgpack-1.1.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:283ae72fc89da59aa004ba147e8fc2f766647b1251500182fac0350d8af299c0", size = 84914, upload-time = "2025-10-08T09:14:50.958Z" },
+ { url = "https://files.pythonhosted.org/packages/71/46/b817349db6886d79e57a966346cf0902a426375aadc1e8e7a86a75e22f19/msgpack-1.1.2-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:61c8aa3bd513d87c72ed0b37b53dd5c5a0f58f2ff9f26e1555d3bd7948fb7296", size = 416962, upload-time = "2025-10-08T09:14:51.997Z" },
+ { url = "https://files.pythonhosted.org/packages/da/e0/6cc2e852837cd6086fe7d8406af4294e66827a60a4cf60b86575a4a65ca8/msgpack-1.1.2-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:454e29e186285d2ebe65be34629fa0e8605202c60fbc7c4c650ccd41870896ef", size = 426183, upload-time = "2025-10-08T09:14:53.477Z" },
+ { url = "https://files.pythonhosted.org/packages/25/98/6a19f030b3d2ea906696cedd1eb251708e50a5891d0978b012cb6107234c/msgpack-1.1.2-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:7bc8813f88417599564fafa59fd6f95be417179f76b40325b500b3c98409757c", size = 411454, upload-time = "2025-10-08T09:14:54.648Z" },
+ { url = "https://files.pythonhosted.org/packages/b7/cd/9098fcb6adb32187a70b7ecaabf6339da50553351558f37600e53a4a2a23/msgpack-1.1.2-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:bafca952dc13907bdfdedfc6a5f579bf4f292bdd506fadb38389afa3ac5b208e", size = 422341, upload-time = "2025-10-08T09:14:56.328Z" },
+ { url = "https://files.pythonhosted.org/packages/e6/ae/270cecbcf36c1dc85ec086b33a51a4d7d08fc4f404bdbc15b582255d05ff/msgpack-1.1.2-cp311-cp311-win32.whl", hash = "sha256:602b6740e95ffc55bfb078172d279de3773d7b7db1f703b2f1323566b878b90e", size = 64747, upload-time = "2025-10-08T09:14:57.882Z" },
+ { url = "https://files.pythonhosted.org/packages/2a/79/309d0e637f6f37e83c711f547308b91af02b72d2326ddd860b966080ef29/msgpack-1.1.2-cp311-cp311-win_amd64.whl", hash = "sha256:d198d275222dc54244bf3327eb8cbe00307d220241d9cec4d306d49a44e85f68", size = 71633, upload-time = "2025-10-08T09:14:59.177Z" },
+ { url = "https://files.pythonhosted.org/packages/73/4d/7c4e2b3d9b1106cd0aa6cb56cc57c6267f59fa8bfab7d91df5adc802c847/msgpack-1.1.2-cp311-cp311-win_arm64.whl", hash = "sha256:86f8136dfa5c116365a8a651a7d7484b65b13339731dd6faebb9a0242151c406", size = 64755, upload-time = "2025-10-08T09:15:00.48Z" },
+ { url = "https://files.pythonhosted.org/packages/ad/bd/8b0d01c756203fbab65d265859749860682ccd2a59594609aeec3a144efa/msgpack-1.1.2-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:70a0dff9d1f8da25179ffcf880e10cf1aad55fdb63cd59c9a49a1b82290062aa", size = 81939, upload-time = "2025-10-08T09:15:01.472Z" },
+ { url = "https://files.pythonhosted.org/packages/34/68/ba4f155f793a74c1483d4bdef136e1023f7bcba557f0db4ef3db3c665cf1/msgpack-1.1.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:446abdd8b94b55c800ac34b102dffd2f6aa0ce643c55dfc017ad89347db3dbdb", size = 85064, upload-time = "2025-10-08T09:15:03.764Z" },
+ { url = "https://files.pythonhosted.org/packages/f2/60/a064b0345fc36c4c3d2c743c82d9100c40388d77f0b48b2f04d6041dbec1/msgpack-1.1.2-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:c63eea553c69ab05b6747901b97d620bb2a690633c77f23feb0c6a947a8a7b8f", size = 417131, upload-time = "2025-10-08T09:15:05.136Z" },
+ { url = "https://files.pythonhosted.org/packages/65/92/a5100f7185a800a5d29f8d14041f61475b9de465ffcc0f3b9fba606e4505/msgpack-1.1.2-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:372839311ccf6bdaf39b00b61288e0557916c3729529b301c52c2d88842add42", size = 427556, upload-time = "2025-10-08T09:15:06.837Z" },
+ { url = "https://files.pythonhosted.org/packages/f5/87/ffe21d1bf7d9991354ad93949286f643b2bb6ddbeab66373922b44c3b8cc/msgpack-1.1.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:2929af52106ca73fcb28576218476ffbb531a036c2adbcf54a3664de124303e9", size = 404920, upload-time = "2025-10-08T09:15:08.179Z" },
+ { url = "https://files.pythonhosted.org/packages/ff/41/8543ed2b8604f7c0d89ce066f42007faac1eaa7d79a81555f206a5cdb889/msgpack-1.1.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:be52a8fc79e45b0364210eef5234a7cf8d330836d0a64dfbb878efa903d84620", size = 415013, upload-time = "2025-10-08T09:15:09.83Z" },
+ { url = "https://files.pythonhosted.org/packages/41/0d/2ddfaa8b7e1cee6c490d46cb0a39742b19e2481600a7a0e96537e9c22f43/msgpack-1.1.2-cp312-cp312-win32.whl", hash = "sha256:1fff3d825d7859ac888b0fbda39a42d59193543920eda9d9bea44d958a878029", size = 65096, upload-time = "2025-10-08T09:15:11.11Z" },
+ { url = "https://files.pythonhosted.org/packages/8c/ec/d431eb7941fb55a31dd6ca3404d41fbb52d99172df2e7707754488390910/msgpack-1.1.2-cp312-cp312-win_amd64.whl", hash = "sha256:1de460f0403172cff81169a30b9a92b260cb809c4cb7e2fc79ae8d0510c78b6b", size = 72708, upload-time = "2025-10-08T09:15:12.554Z" },
+ { url = "https://files.pythonhosted.org/packages/c5/31/5b1a1f70eb0e87d1678e9624908f86317787b536060641d6798e3cf70ace/msgpack-1.1.2-cp312-cp312-win_arm64.whl", hash = "sha256:be5980f3ee0e6bd44f3a9e9dea01054f175b50c3e6cdb692bc9424c0bbb8bf69", size = 64119, upload-time = "2025-10-08T09:15:13.589Z" },
+ { url = "https://files.pythonhosted.org/packages/6b/31/b46518ecc604d7edf3a4f94cb3bf021fc62aa301f0cb849936968164ef23/msgpack-1.1.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:4efd7b5979ccb539c221a4c4e16aac1a533efc97f3b759bb5a5ac9f6d10383bf", size = 81212, upload-time = "2025-10-08T09:15:14.552Z" },
+ { url = "https://files.pythonhosted.org/packages/92/dc/c385f38f2c2433333345a82926c6bfa5ecfff3ef787201614317b58dd8be/msgpack-1.1.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:42eefe2c3e2af97ed470eec850facbe1b5ad1d6eacdbadc42ec98e7dcf68b4b7", size = 84315, upload-time = "2025-10-08T09:15:15.543Z" },
+ { url = "https://files.pythonhosted.org/packages/d3/68/93180dce57f684a61a88a45ed13047558ded2be46f03acb8dec6d7c513af/msgpack-1.1.2-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:1fdf7d83102bf09e7ce3357de96c59b627395352a4024f6e2458501f158bf999", size = 412721, upload-time = "2025-10-08T09:15:16.567Z" },
+ { url = "https://files.pythonhosted.org/packages/5d/ba/459f18c16f2b3fc1a1ca871f72f07d70c07bf768ad0a507a698b8052ac58/msgpack-1.1.2-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:fac4be746328f90caa3cd4bc67e6fe36ca2bf61d5c6eb6d895b6527e3f05071e", size = 424657, upload-time = "2025-10-08T09:15:17.825Z" },
+ { url = "https://files.pythonhosted.org/packages/38/f8/4398c46863b093252fe67368b44edc6c13b17f4e6b0e4929dbf0bdb13f23/msgpack-1.1.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:fffee09044073e69f2bad787071aeec727183e7580443dfeb8556cbf1978d162", size = 402668, upload-time = "2025-10-08T09:15:19.003Z" },
+ { url = "https://files.pythonhosted.org/packages/28/ce/698c1eff75626e4124b4d78e21cca0b4cc90043afb80a507626ea354ab52/msgpack-1.1.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:5928604de9b032bc17f5099496417f113c45bc6bc21b5c6920caf34b3c428794", size = 419040, upload-time = "2025-10-08T09:15:20.183Z" },
+ { url = "https://files.pythonhosted.org/packages/67/32/f3cd1667028424fa7001d82e10ee35386eea1408b93d399b09fb0aa7875f/msgpack-1.1.2-cp313-cp313-win32.whl", hash = "sha256:a7787d353595c7c7e145e2331abf8b7ff1e6673a6b974ded96e6d4ec09f00c8c", size = 65037, upload-time = "2025-10-08T09:15:21.416Z" },
+ { url = "https://files.pythonhosted.org/packages/74/07/1ed8277f8653c40ebc65985180b007879f6a836c525b3885dcc6448ae6cb/msgpack-1.1.2-cp313-cp313-win_amd64.whl", hash = "sha256:a465f0dceb8e13a487e54c07d04ae3ba131c7c5b95e2612596eafde1dccf64a9", size = 72631, upload-time = "2025-10-08T09:15:22.431Z" },
+ { url = "https://files.pythonhosted.org/packages/e5/db/0314e4e2db56ebcf450f277904ffd84a7988b9e5da8d0d61ab2d057df2b6/msgpack-1.1.2-cp313-cp313-win_arm64.whl", hash = "sha256:e69b39f8c0aa5ec24b57737ebee40be647035158f14ed4b40e6f150077e21a84", size = 64118, upload-time = "2025-10-08T09:15:23.402Z" },
+]
+
+[[package]]
+name = "multidict"
+version = "6.7.1"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "typing-extensions", marker = "python_full_version < '3.11' or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/1a/c2/c2d94cbe6ac1753f3fc980da97b3d930efe1da3af3c9f5125354436c073d/multidict-6.7.1.tar.gz", hash = "sha256:ec6652a1bee61c53a3e5776b6049172c53b6aaba34f18c9ad04f82712bac623d", size = 102010, upload-time = "2026-01-26T02:46:45.979Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/84/0b/19348d4c98980c4851d2f943f8ebafdece2ae7ef737adcfa5994ce8e5f10/multidict-6.7.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:c93c3db7ea657dd4637d57e74ab73de31bccefe144d3d4ce370052035bc85fb5", size = 77176, upload-time = "2026-01-26T02:42:59.784Z" },
+ { url = "https://files.pythonhosted.org/packages/ef/04/9de3f8077852e3d438215c81e9b691244532d2e05b4270e89ce67b7d103c/multidict-6.7.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:974e72a2474600827abaeda71af0c53d9ebbc3c2eb7da37b37d7829ae31232d8", size = 44996, upload-time = "2026-01-26T02:43:01.674Z" },
+ { url = "https://files.pythonhosted.org/packages/31/5c/08c7f7fe311f32e83f7621cd3f99d805f45519cd06fafb247628b861da7d/multidict-6.7.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:cdea2e7b2456cfb6694fb113066fd0ec7ea4d67e3a35e1f4cbeea0b448bf5872", size = 44631, upload-time = "2026-01-26T02:43:03.169Z" },
+ { url = "https://files.pythonhosted.org/packages/b7/7f/0e3b1390ae772f27501199996b94b52ceeb64fe6f9120a32c6c3f6b781be/multidict-6.7.1-cp310-cp310-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:17207077e29342fdc2c9a82e4b306f1127bf1ea91f8b71e02d4798a70bb99991", size = 242561, upload-time = "2026-01-26T02:43:04.733Z" },
+ { url = "https://files.pythonhosted.org/packages/dd/f4/8719f4f167586af317b69dd3e90f913416c91ca610cac79a45c53f590312/multidict-6.7.1-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:d4f49cb5661344764e4c7c7973e92a47a59b8fc19b6523649ec9dc4960e58a03", size = 242223, upload-time = "2026-01-26T02:43:06.695Z" },
+ { url = "https://files.pythonhosted.org/packages/47/ab/7c36164cce64a6ad19c6d9a85377b7178ecf3b89f8fd589c73381a5eedfd/multidict-6.7.1-cp310-cp310-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:a9fc4caa29e2e6ae408d1c450ac8bf19892c5fca83ee634ecd88a53332c59981", size = 222322, upload-time = "2026-01-26T02:43:08.472Z" },
+ { url = "https://files.pythonhosted.org/packages/f5/79/a25add6fb38035b5337bc5734f296d9afc99163403bbcf56d4170f97eb62/multidict-6.7.1-cp310-cp310-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:c5f0c21549ab432b57dcc82130f388d84ad8179824cc3f223d5e7cfbfd4143f6", size = 254005, upload-time = "2026-01-26T02:43:10.127Z" },
+ { url = "https://files.pythonhosted.org/packages/4a/7b/64a87cf98e12f756fc8bd444b001232ffff2be37288f018ad0d3f0aae931/multidict-6.7.1-cp310-cp310-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:7dfb78d966b2c906ae1d28ccf6e6712a3cd04407ee5088cd276fe8cb42186190", size = 251173, upload-time = "2026-01-26T02:43:11.731Z" },
+ { url = "https://files.pythonhosted.org/packages/4b/ac/b605473de2bb404e742f2cc3583d12aedb2352a70e49ae8fce455b50c5aa/multidict-6.7.1-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:9b0d9b91d1aa44db9c1f1ecd0d9d2ae610b2f4f856448664e01a3b35899f3f92", size = 243273, upload-time = "2026-01-26T02:43:13.063Z" },
+ { url = "https://files.pythonhosted.org/packages/03/65/11492d6a0e259783720f3bc1d9ea55579a76f1407e31ed44045c99542004/multidict-6.7.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:dd96c01a9dcd4889dcfcf9eb5544ca0c77603f239e3ffab0524ec17aea9a93ee", size = 238956, upload-time = "2026-01-26T02:43:14.843Z" },
+ { url = "https://files.pythonhosted.org/packages/5f/a7/7ee591302af64e7c196fb63fe856c788993c1372df765102bd0448e7e165/multidict-6.7.1-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:067343c68cd6612d375710f895337b3a98a033c94f14b9a99eff902f205424e2", size = 233477, upload-time = "2026-01-26T02:43:16.025Z" },
+ { url = "https://files.pythonhosted.org/packages/9c/99/c109962d58756c35fd9992fed7f2355303846ea2ff054bb5f5e9d6b888de/multidict-6.7.1-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:5884a04f4ff56c6120f6ccf703bdeb8b5079d808ba604d4d53aec0d55dc33568", size = 243615, upload-time = "2026-01-26T02:43:17.84Z" },
+ { url = "https://files.pythonhosted.org/packages/d5/5f/1973e7c771c86e93dcfe1c9cc55a5481b610f6614acfc28c0d326fe6bfad/multidict-6.7.1-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:8affcf1c98b82bc901702eb73b6947a1bfa170823c153fe8a47b5f5f02e48e40", size = 249930, upload-time = "2026-01-26T02:43:19.06Z" },
+ { url = "https://files.pythonhosted.org/packages/5d/a5/f170fc2268c3243853580203378cd522446b2df632061e0a5409817854c7/multidict-6.7.1-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:0d17522c37d03e85c8098ec8431636309b2682cf12e58f4dbc76121fb50e4962", size = 243807, upload-time = "2026-01-26T02:43:20.286Z" },
+ { url = "https://files.pythonhosted.org/packages/de/01/73856fab6d125e5bc652c3986b90e8699a95e84b48d72f39ade6c0e74a8c/multidict-6.7.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:24c0cf81544ca5e17cfcb6e482e7a82cd475925242b308b890c9452a074d4505", size = 239103, upload-time = "2026-01-26T02:43:21.508Z" },
+ { url = "https://files.pythonhosted.org/packages/e7/46/f1220bd9944d8aa40d8ccff100eeeee19b505b857b6f603d6078cb5315b0/multidict-6.7.1-cp310-cp310-win32.whl", hash = "sha256:d82dd730a95e6643802f4454b8fdecdf08667881a9c5670db85bc5a56693f122", size = 41416, upload-time = "2026-01-26T02:43:22.703Z" },
+ { url = "https://files.pythonhosted.org/packages/68/00/9b38e272a770303692fc406c36e1a4c740f401522d5787691eb38a8925a8/multidict-6.7.1-cp310-cp310-win_amd64.whl", hash = "sha256:cf37cbe5ced48d417ba045aca1b21bafca67489452debcde94778a576666a1df", size = 46022, upload-time = "2026-01-26T02:43:23.77Z" },
+ { url = "https://files.pythonhosted.org/packages/64/65/d8d42490c02ee07b6bbe00f7190d70bb4738b3cce7629aaf9f213ef730dd/multidict-6.7.1-cp310-cp310-win_arm64.whl", hash = "sha256:59bc83d3f66b41dac1e7460aac1d196edc70c9ba3094965c467715a70ecb46db", size = 43238, upload-time = "2026-01-26T02:43:24.882Z" },
+ { url = "https://files.pythonhosted.org/packages/ce/f1/a90635c4f88fb913fbf4ce660b83b7445b7a02615bda034b2f8eb38fd597/multidict-6.7.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:7ff981b266af91d7b4b3793ca3382e53229088d193a85dfad6f5f4c27fc73e5d", size = 76626, upload-time = "2026-01-26T02:43:26.485Z" },
+ { url = "https://files.pythonhosted.org/packages/a6/9b/267e64eaf6fc637a15b35f5de31a566634a2740f97d8d094a69d34f524a4/multidict-6.7.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:844c5bca0b5444adb44a623fb0a1310c2f4cd41f402126bb269cd44c9b3f3e1e", size = 44706, upload-time = "2026-01-26T02:43:27.607Z" },
+ { url = "https://files.pythonhosted.org/packages/dd/a4/d45caf2b97b035c57267791ecfaafbd59c68212004b3842830954bb4b02e/multidict-6.7.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:f2a0a924d4c2e9afcd7ec64f9de35fcd96915149b2216e1cb2c10a56df483855", size = 44356, upload-time = "2026-01-26T02:43:28.661Z" },
+ { url = "https://files.pythonhosted.org/packages/fd/d2/0a36c8473f0cbaeadd5db6c8b72d15bbceeec275807772bfcd059bef487d/multidict-6.7.1-cp311-cp311-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:8be1802715a8e892c784c0197c2ace276ea52702a0ede98b6310c8f255a5afb3", size = 244355, upload-time = "2026-01-26T02:43:31.165Z" },
+ { url = "https://files.pythonhosted.org/packages/5d/16/8c65be997fd7dd311b7d39c7b6e71a0cb449bad093761481eccbbe4b42a2/multidict-6.7.1-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:2e2d2ed645ea29f31c4c7ea1552fcfd7cb7ba656e1eafd4134a6620c9f5fdd9e", size = 246433, upload-time = "2026-01-26T02:43:32.581Z" },
+ { url = "https://files.pythonhosted.org/packages/01/fb/4dbd7e848d2799c6a026ec88ad39cf2b8416aa167fcc903baa55ecaa045c/multidict-6.7.1-cp311-cp311-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:95922cee9a778659e91db6497596435777bd25ed116701a4c034f8e46544955a", size = 225376, upload-time = "2026-01-26T02:43:34.417Z" },
+ { url = "https://files.pythonhosted.org/packages/b6/8a/4a3a6341eac3830f6053062f8fbc9a9e54407c80755b3f05bc427295c2d0/multidict-6.7.1-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:6b83cabdc375ffaaa15edd97eb7c0c672ad788e2687004990074d7d6c9b140c8", size = 257365, upload-time = "2026-01-26T02:43:35.741Z" },
+ { url = "https://files.pythonhosted.org/packages/f7/a2/dd575a69c1aa206e12d27d0770cdf9b92434b48a9ef0cd0d1afdecaa93c4/multidict-6.7.1-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:38fb49540705369bab8484db0689d86c0a33a0a9f2c1b197f506b71b4b6c19b0", size = 254747, upload-time = "2026-01-26T02:43:36.976Z" },
+ { url = "https://files.pythonhosted.org/packages/5a/56/21b27c560c13822ed93133f08aa6372c53a8e067f11fbed37b4adcdac922/multidict-6.7.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:439cbebd499f92e9aa6793016a8acaa161dfa749ae86d20960189f5398a19144", size = 246293, upload-time = "2026-01-26T02:43:38.258Z" },
+ { url = "https://files.pythonhosted.org/packages/5a/a4/23466059dc3854763423d0ad6c0f3683a379d97673b1b89ec33826e46728/multidict-6.7.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:6d3bc717b6fe763b8be3f2bee2701d3c8eb1b2a8ae9f60910f1b2860c82b6c49", size = 242962, upload-time = "2026-01-26T02:43:40.034Z" },
+ { url = "https://files.pythonhosted.org/packages/1f/67/51dd754a3524d685958001e8fa20a0f5f90a6a856e0a9dcabff69be3dbb7/multidict-6.7.1-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:619e5a1ac57986dbfec9f0b301d865dddf763696435e2962f6d9cf2fdff2bb71", size = 237360, upload-time = "2026-01-26T02:43:41.752Z" },
+ { url = "https://files.pythonhosted.org/packages/64/3f/036dfc8c174934d4b55d86ff4f978e558b0e585cef70cfc1ad01adc6bf18/multidict-6.7.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:0b38ebffd9be37c1170d33bc0f36f4f262e0a09bc1aac1c34c7aa51a7293f0b3", size = 245940, upload-time = "2026-01-26T02:43:43.042Z" },
+ { url = "https://files.pythonhosted.org/packages/3d/20/6214d3c105928ebc353a1c644a6ef1408bc5794fcb4f170bb524a3c16311/multidict-6.7.1-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:10ae39c9cfe6adedcdb764f5e8411d4a92b055e35573a2eaa88d3323289ef93c", size = 253502, upload-time = "2026-01-26T02:43:44.371Z" },
+ { url = "https://files.pythonhosted.org/packages/b1/e2/c653bc4ae1be70a0f836b82172d643fcf1dade042ba2676ab08ec08bff0f/multidict-6.7.1-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:25167cc263257660290fba06b9318d2026e3c910be240a146e1f66dd114af2b0", size = 247065, upload-time = "2026-01-26T02:43:45.745Z" },
+ { url = "https://files.pythonhosted.org/packages/c8/11/a854b4154cd3bd8b1fd375e8a8ca9d73be37610c361543d56f764109509b/multidict-6.7.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:128441d052254f42989ef98b7b6a6ecb1e6f708aa962c7984235316db59f50fa", size = 241870, upload-time = "2026-01-26T02:43:47.054Z" },
+ { url = "https://files.pythonhosted.org/packages/13/bf/9676c0392309b5fdae322333d22a829715b570edb9baa8016a517b55b558/multidict-6.7.1-cp311-cp311-win32.whl", hash = "sha256:d62b7f64ffde3b99d06b707a280db04fb3855b55f5a06df387236051d0668f4a", size = 41302, upload-time = "2026-01-26T02:43:48.753Z" },
+ { url = "https://files.pythonhosted.org/packages/c9/68/f16a3a8ba6f7b6dc92a1f19669c0810bd2c43fc5a02da13b1cbf8e253845/multidict-6.7.1-cp311-cp311-win_amd64.whl", hash = "sha256:bdbf9f3b332abd0cdb306e7c2113818ab1e922dc84b8f8fd06ec89ed2a19ab8b", size = 45981, upload-time = "2026-01-26T02:43:49.921Z" },
+ { url = "https://files.pythonhosted.org/packages/ac/ad/9dd5305253fa00cd3c7555dbef69d5bf4133debc53b87ab8d6a44d411665/multidict-6.7.1-cp311-cp311-win_arm64.whl", hash = "sha256:b8c990b037d2fff2f4e33d3f21b9b531c5745b33a49a7d6dbe7a177266af44f6", size = 43159, upload-time = "2026-01-26T02:43:51.635Z" },
+ { url = "https://files.pythonhosted.org/packages/8d/9c/f20e0e2cf80e4b2e4b1c365bf5fe104ee633c751a724246262db8f1a0b13/multidict-6.7.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:a90f75c956e32891a4eda3639ce6dd86e87105271f43d43442a3aedf3cddf172", size = 76893, upload-time = "2026-01-26T02:43:52.754Z" },
+ { url = "https://files.pythonhosted.org/packages/fe/cf/18ef143a81610136d3da8193da9d80bfe1cb548a1e2d1c775f26b23d024a/multidict-6.7.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:3fccb473e87eaa1382689053e4a4618e7ba7b9b9b8d6adf2027ee474597128cd", size = 45456, upload-time = "2026-01-26T02:43:53.893Z" },
+ { url = "https://files.pythonhosted.org/packages/a9/65/1caac9d4cd32e8433908683446eebc953e82d22b03d10d41a5f0fefe991b/multidict-6.7.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:b0fa96985700739c4c7853a43c0b3e169360d6855780021bfc6d0f1ce7c123e7", size = 43872, upload-time = "2026-01-26T02:43:55.041Z" },
+ { url = "https://files.pythonhosted.org/packages/cf/3b/d6bd75dc4f3ff7c73766e04e705b00ed6dbbaccf670d9e05a12b006f5a21/multidict-6.7.1-cp312-cp312-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:cb2a55f408c3043e42b40cc8eecd575afa27b7e0b956dfb190de0f8499a57a53", size = 251018, upload-time = "2026-01-26T02:43:56.198Z" },
+ { url = "https://files.pythonhosted.org/packages/fd/80/c959c5933adedb9ac15152e4067c702a808ea183a8b64cf8f31af8ad3155/multidict-6.7.1-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:eb0ce7b2a32d09892b3dd6cc44877a0d02a33241fafca5f25c8b6b62374f8b75", size = 258883, upload-time = "2026-01-26T02:43:57.499Z" },
+ { url = "https://files.pythonhosted.org/packages/86/85/7ed40adafea3d4f1c8b916e3b5cc3a8e07dfcdcb9cd72800f4ed3ca1b387/multidict-6.7.1-cp312-cp312-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:c3a32d23520ee37bf327d1e1a656fec76a2edd5c038bf43eddfa0572ec49c60b", size = 242413, upload-time = "2026-01-26T02:43:58.755Z" },
+ { url = "https://files.pythonhosted.org/packages/d2/57/b8565ff533e48595503c785f8361ff9a4fde4d67de25c207cd0ba3befd03/multidict-6.7.1-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:9c90fed18bffc0189ba814749fdcc102b536e83a9f738a9003e569acd540a733", size = 268404, upload-time = "2026-01-26T02:44:00.216Z" },
+ { url = "https://files.pythonhosted.org/packages/e0/50/9810c5c29350f7258180dfdcb2e52783a0632862eb334c4896ac717cebcb/multidict-6.7.1-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:da62917e6076f512daccfbbde27f46fed1c98fee202f0559adec8ee0de67f71a", size = 269456, upload-time = "2026-01-26T02:44:02.202Z" },
+ { url = "https://files.pythonhosted.org/packages/f3/8d/5e5be3ced1d12966fefb5c4ea3b2a5b480afcea36406559442c6e31d4a48/multidict-6.7.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:bfde23ef6ed9db7eaee6c37dcec08524cb43903c60b285b172b6c094711b3961", size = 256322, upload-time = "2026-01-26T02:44:03.56Z" },
+ { url = "https://files.pythonhosted.org/packages/31/6e/d8a26d81ac166a5592782d208dd90dfdc0a7a218adaa52b45a672b46c122/multidict-6.7.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:3758692429e4e32f1ba0df23219cd0b4fc0a52f476726fff9337d1a57676a582", size = 253955, upload-time = "2026-01-26T02:44:04.845Z" },
+ { url = "https://files.pythonhosted.org/packages/59/4c/7c672c8aad41534ba619bcd4ade7a0dc87ed6b8b5c06149b85d3dd03f0cd/multidict-6.7.1-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:398c1478926eca669f2fd6a5856b6de9c0acf23a2cb59a14c0ba5844fa38077e", size = 251254, upload-time = "2026-01-26T02:44:06.133Z" },
+ { url = "https://files.pythonhosted.org/packages/7b/bd/84c24de512cbafbdbc39439f74e967f19570ce7924e3007174a29c348916/multidict-6.7.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:c102791b1c4f3ab36ce4101154549105a53dc828f016356b3e3bcae2e3a039d3", size = 252059, upload-time = "2026-01-26T02:44:07.518Z" },
+ { url = "https://files.pythonhosted.org/packages/fa/ba/f5449385510825b73d01c2d4087bf6d2fccc20a2d42ac34df93191d3dd03/multidict-6.7.1-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:a088b62bd733e2ad12c50dad01b7d0166c30287c166e137433d3b410add807a6", size = 263588, upload-time = "2026-01-26T02:44:09.382Z" },
+ { url = "https://files.pythonhosted.org/packages/d7/11/afc7c677f68f75c84a69fe37184f0f82fce13ce4b92f49f3db280b7e92b3/multidict-6.7.1-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:3d51ff4785d58d3f6c91bdbffcb5e1f7ddfda557727043aa20d20ec4f65e324a", size = 259642, upload-time = "2026-01-26T02:44:10.73Z" },
+ { url = "https://files.pythonhosted.org/packages/2b/17/ebb9644da78c4ab36403739e0e6e0e30ebb135b9caf3440825001a0bddcb/multidict-6.7.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:fc5907494fccf3e7d3f94f95c91d6336b092b5fc83811720fae5e2765890dfba", size = 251377, upload-time = "2026-01-26T02:44:12.042Z" },
+ { url = "https://files.pythonhosted.org/packages/ca/a4/840f5b97339e27846c46307f2530a2805d9d537d8b8bd416af031cad7fa0/multidict-6.7.1-cp312-cp312-win32.whl", hash = "sha256:28ca5ce2fd9716631133d0e9a9b9a745ad7f60bac2bccafb56aa380fc0b6c511", size = 41887, upload-time = "2026-01-26T02:44:14.245Z" },
+ { url = "https://files.pythonhosted.org/packages/80/31/0b2517913687895f5904325c2069d6a3b78f66cc641a86a2baf75a05dcbb/multidict-6.7.1-cp312-cp312-win_amd64.whl", hash = "sha256:fcee94dfbd638784645b066074b338bc9cc155d4b4bffa4adce1615c5a426c19", size = 46053, upload-time = "2026-01-26T02:44:15.371Z" },
+ { url = "https://files.pythonhosted.org/packages/0c/5b/aba28e4ee4006ae4c7df8d327d31025d760ffa992ea23812a601d226e682/multidict-6.7.1-cp312-cp312-win_arm64.whl", hash = "sha256:ba0a9fb644d0c1a2194cf7ffb043bd852cea63a57f66fbd33959f7dae18517bf", size = 43307, upload-time = "2026-01-26T02:44:16.852Z" },
+ { url = "https://files.pythonhosted.org/packages/f2/22/929c141d6c0dba87d3e1d38fbdf1ba8baba86b7776469f2bc2d3227a1e67/multidict-6.7.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:2b41f5fed0ed563624f1c17630cb9941cf2309d4df00e494b551b5f3e3d67a23", size = 76174, upload-time = "2026-01-26T02:44:18.509Z" },
+ { url = "https://files.pythonhosted.org/packages/c7/75/bc704ae15fee974f8fccd871305e254754167dce5f9e42d88a2def741a1d/multidict-6.7.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:84e61e3af5463c19b67ced91f6c634effb89ef8bfc5ca0267f954451ed4bb6a2", size = 45116, upload-time = "2026-01-26T02:44:19.745Z" },
+ { url = "https://files.pythonhosted.org/packages/79/76/55cd7186f498ed080a18440c9013011eb548f77ae1b297206d030eb1180a/multidict-6.7.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:935434b9853c7c112eee7ac891bc4cb86455aa631269ae35442cb316790c1445", size = 43524, upload-time = "2026-01-26T02:44:21.571Z" },
+ { url = "https://files.pythonhosted.org/packages/e9/3c/414842ef8d5a1628d68edee29ba0e5bcf235dbfb3ccd3ea303a7fe8c72ff/multidict-6.7.1-cp313-cp313-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:432feb25a1cb67fe82a9680b4d65fb542e4635cb3166cd9c01560651ad60f177", size = 249368, upload-time = "2026-01-26T02:44:22.803Z" },
+ { url = "https://files.pythonhosted.org/packages/f6/32/befed7f74c458b4a525e60519fe8d87eef72bb1e99924fa2b0f9d97a221e/multidict-6.7.1-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:e82d14e3c948952a1a85503817e038cba5905a3352de76b9a465075d072fba23", size = 256952, upload-time = "2026-01-26T02:44:24.306Z" },
+ { url = "https://files.pythonhosted.org/packages/03/d6/c878a44ba877f366630c860fdf74bfb203c33778f12b6ac274936853c451/multidict-6.7.1-cp313-cp313-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:4cfb48c6ea66c83bcaaf7e4dfa7ec1b6bbcf751b7db85a328902796dfde4c060", size = 240317, upload-time = "2026-01-26T02:44:25.772Z" },
+ { url = "https://files.pythonhosted.org/packages/68/49/57421b4d7ad2e9e60e25922b08ceb37e077b90444bde6ead629095327a6f/multidict-6.7.1-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:1d540e51b7e8e170174555edecddbd5538105443754539193e3e1061864d444d", size = 267132, upload-time = "2026-01-26T02:44:27.648Z" },
+ { url = "https://files.pythonhosted.org/packages/b7/fe/ec0edd52ddbcea2a2e89e174f0206444a61440b40f39704e64dc807a70bd/multidict-6.7.1-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:273d23f4b40f3dce4d6c8a821c741a86dec62cded82e1175ba3d99be128147ed", size = 268140, upload-time = "2026-01-26T02:44:29.588Z" },
+ { url = "https://files.pythonhosted.org/packages/b0/73/6e1b01cbeb458807aa0831742232dbdd1fa92bfa33f52a3f176b4ff3dc11/multidict-6.7.1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:9d624335fd4fa1c08a53f8b4be7676ebde19cd092b3895c421045ca87895b429", size = 254277, upload-time = "2026-01-26T02:44:30.902Z" },
+ { url = "https://files.pythonhosted.org/packages/6a/b2/5fb8c124d7561a4974c342bc8c778b471ebbeb3cc17df696f034a7e9afe7/multidict-6.7.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:12fad252f8b267cc75b66e8fc51b3079604e8d43a75428ffe193cd9e2195dfd6", size = 252291, upload-time = "2026-01-26T02:44:32.31Z" },
+ { url = "https://files.pythonhosted.org/packages/5a/96/51d4e4e06bcce92577fcd488e22600bd38e4fd59c20cb49434d054903bd2/multidict-6.7.1-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:03ede2a6ffbe8ef936b92cb4529f27f42be7f56afcdab5ab739cd5f27fb1cbf9", size = 250156, upload-time = "2026-01-26T02:44:33.734Z" },
+ { url = "https://files.pythonhosted.org/packages/db/6b/420e173eec5fba721a50e2a9f89eda89d9c98fded1124f8d5c675f7a0c0f/multidict-6.7.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:90efbcf47dbe33dcf643a1e400d67d59abeac5db07dc3f27d6bdeae497a2198c", size = 249742, upload-time = "2026-01-26T02:44:35.222Z" },
+ { url = "https://files.pythonhosted.org/packages/44/a3/ec5b5bd98f306bc2aa297b8c6f11a46714a56b1e6ef5ebda50a4f5d7c5fb/multidict-6.7.1-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:5c4b9bfc148f5a91be9244d6264c53035c8a0dcd2f51f1c3c6e30e30ebaa1c84", size = 262221, upload-time = "2026-01-26T02:44:36.604Z" },
+ { url = "https://files.pythonhosted.org/packages/cd/f7/e8c0d0da0cd1e28d10e624604e1a36bcc3353aaebdfdc3a43c72bc683a12/multidict-6.7.1-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:401c5a650f3add2472d1d288c26deebc540f99e2fb83e9525007a74cd2116f1d", size = 258664, upload-time = "2026-01-26T02:44:38.008Z" },
+ { url = "https://files.pythonhosted.org/packages/52/da/151a44e8016dd33feed44f730bd856a66257c1ee7aed4f44b649fb7edeb3/multidict-6.7.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:97891f3b1b3ffbded884e2916cacf3c6fc87b66bb0dde46f7357404750559f33", size = 249490, upload-time = "2026-01-26T02:44:39.386Z" },
+ { url = "https://files.pythonhosted.org/packages/87/af/a3b86bf9630b732897f6fc3f4c4714b90aa4361983ccbdcd6c0339b21b0c/multidict-6.7.1-cp313-cp313-win32.whl", hash = "sha256:e1c5988359516095535c4301af38d8a8838534158f649c05dd1050222321bcb3", size = 41695, upload-time = "2026-01-26T02:44:41.318Z" },
+ { url = "https://files.pythonhosted.org/packages/b2/35/e994121b0e90e46134673422dd564623f93304614f5d11886b1b3e06f503/multidict-6.7.1-cp313-cp313-win_amd64.whl", hash = "sha256:960c83bf01a95b12b08fd54324a4eb1d5b52c88932b5cba5d6e712bb3ed12eb5", size = 45884, upload-time = "2026-01-26T02:44:42.488Z" },
+ { url = "https://files.pythonhosted.org/packages/ca/61/42d3e5dbf661242a69c97ea363f2d7b46c567da8eadef8890022be6e2ab0/multidict-6.7.1-cp313-cp313-win_arm64.whl", hash = "sha256:563fe25c678aaba333d5399408f5ec3c383ca5b663e7f774dd179a520b8144df", size = 43122, upload-time = "2026-01-26T02:44:43.664Z" },
+ { url = "https://files.pythonhosted.org/packages/6d/b3/e6b21c6c4f314bb956016b0b3ef2162590a529b84cb831c257519e7fde44/multidict-6.7.1-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:c76c4bec1538375dad9d452d246ca5368ad6e1c9039dadcf007ae59c70619ea1", size = 83175, upload-time = "2026-01-26T02:44:44.894Z" },
+ { url = "https://files.pythonhosted.org/packages/fb/76/23ecd2abfe0957b234f6c960f4ade497f55f2c16aeb684d4ecdbf1c95791/multidict-6.7.1-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:57b46b24b5d5ebcc978da4ec23a819a9402b4228b8a90d9c656422b4bdd8a963", size = 48460, upload-time = "2026-01-26T02:44:46.106Z" },
+ { url = "https://files.pythonhosted.org/packages/c4/57/a0ed92b23f3a042c36bc4227b72b97eca803f5f1801c1ab77c8a212d455e/multidict-6.7.1-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:e954b24433c768ce78ab7929e84ccf3422e46deb45a4dc9f93438f8217fa2d34", size = 46930, upload-time = "2026-01-26T02:44:47.278Z" },
+ { url = "https://files.pythonhosted.org/packages/b5/66/02ec7ace29162e447f6382c495dc95826bf931d3818799bbef11e8f7df1a/multidict-6.7.1-cp313-cp313t-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:3bd231490fa7217cc832528e1cd8752a96f0125ddd2b5749390f7c3ec8721b65", size = 242582, upload-time = "2026-01-26T02:44:48.604Z" },
+ { url = "https://files.pythonhosted.org/packages/58/18/64f5a795e7677670e872673aca234162514696274597b3708b2c0d276cce/multidict-6.7.1-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:253282d70d67885a15c8a7716f3a73edf2d635793ceda8173b9ecc21f2fb8292", size = 250031, upload-time = "2026-01-26T02:44:50.544Z" },
+ { url = "https://files.pythonhosted.org/packages/c8/ed/e192291dbbe51a8290c5686f482084d31bcd9d09af24f63358c3d42fd284/multidict-6.7.1-cp313-cp313t-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:0b4c48648d7649c9335cf1927a8b87fa692de3dcb15faa676c6a6f1f1aabda43", size = 228596, upload-time = "2026-01-26T02:44:51.951Z" },
+ { url = "https://files.pythonhosted.org/packages/1e/7e/3562a15a60cf747397e7f2180b0a11dc0c38d9175a650e75fa1b4d325e15/multidict-6.7.1-cp313-cp313t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:98bc624954ec4d2c7cb074b8eefc2b5d0ce7d482e410df446414355d158fe4ca", size = 257492, upload-time = "2026-01-26T02:44:53.902Z" },
+ { url = "https://files.pythonhosted.org/packages/24/02/7d0f9eae92b5249bb50ac1595b295f10e263dd0078ebb55115c31e0eaccd/multidict-6.7.1-cp313-cp313t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:1b99af4d9eec0b49927b4402bcbb58dea89d3e0db8806a4086117019939ad3dd", size = 255899, upload-time = "2026-01-26T02:44:55.316Z" },
+ { url = "https://files.pythonhosted.org/packages/00/e3/9b60ed9e23e64c73a5cde95269ef1330678e9c6e34dd4eb6b431b85b5a10/multidict-6.7.1-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:6aac4f16b472d5b7dc6f66a0d49dd57b0e0902090be16594dc9ebfd3d17c47e7", size = 247970, upload-time = "2026-01-26T02:44:56.783Z" },
+ { url = "https://files.pythonhosted.org/packages/3e/06/538e58a63ed5cfb0bd4517e346b91da32fde409d839720f664e9a4ae4f9d/multidict-6.7.1-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:21f830fe223215dffd51f538e78c172ed7c7f60c9b96a2bf05c4848ad49921c3", size = 245060, upload-time = "2026-01-26T02:44:58.195Z" },
+ { url = "https://files.pythonhosted.org/packages/b2/2f/d743a3045a97c895d401e9bd29aaa09b94f5cbdf1bd561609e5a6c431c70/multidict-6.7.1-cp313-cp313t-musllinux_1_2_armv7l.whl", hash = "sha256:f5dd81c45b05518b9aa4da4aa74e1c93d715efa234fd3e8a179df611cc85e5f4", size = 235888, upload-time = "2026-01-26T02:44:59.57Z" },
+ { url = "https://files.pythonhosted.org/packages/38/83/5a325cac191ab28b63c52f14f1131f3b0a55ba3b9aa65a6d0bf2a9b921a0/multidict-6.7.1-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:eb304767bca2bb92fb9c5bd33cedc95baee5bb5f6c88e63706533a1c06ad08c8", size = 243554, upload-time = "2026-01-26T02:45:01.054Z" },
+ { url = "https://files.pythonhosted.org/packages/20/1f/9d2327086bd15da2725ef6aae624208e2ef828ed99892b17f60c344e57ed/multidict-6.7.1-cp313-cp313t-musllinux_1_2_ppc64le.whl", hash = "sha256:c9035dde0f916702850ef66460bc4239d89d08df4d02023a5926e7446724212c", size = 252341, upload-time = "2026-01-26T02:45:02.484Z" },
+ { url = "https://files.pythonhosted.org/packages/e8/2c/2a1aa0280cf579d0f6eed8ee5211c4f1730bd7e06c636ba2ee6aafda302e/multidict-6.7.1-cp313-cp313t-musllinux_1_2_s390x.whl", hash = "sha256:af959b9beeb66c822380f222f0e0a1889331597e81f1ded7f374f3ecb0fd6c52", size = 246391, upload-time = "2026-01-26T02:45:03.862Z" },
+ { url = "https://files.pythonhosted.org/packages/e5/03/7ca022ffc36c5a3f6e03b179a5ceb829be9da5783e6fe395f347c0794680/multidict-6.7.1-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:41f2952231456154ee479651491e94118229844dd7226541788be783be2b5108", size = 243422, upload-time = "2026-01-26T02:45:05.296Z" },
+ { url = "https://files.pythonhosted.org/packages/dc/1d/b31650eab6c5778aceed46ba735bd97f7c7d2f54b319fa916c0f96e7805b/multidict-6.7.1-cp313-cp313t-win32.whl", hash = "sha256:df9f19c28adcb40b6aae30bbaa1478c389efd50c28d541d76760199fc1037c32", size = 47770, upload-time = "2026-01-26T02:45:06.754Z" },
+ { url = "https://files.pythonhosted.org/packages/ac/5b/2d2d1d522e51285bd61b1e20df8f47ae1a9d80839db0b24ea783b3832832/multidict-6.7.1-cp313-cp313t-win_amd64.whl", hash = "sha256:d54ecf9f301853f2c5e802da559604b3e95bb7a3b01a9c295c6ee591b9882de8", size = 53109, upload-time = "2026-01-26T02:45:08.044Z" },
+ { url = "https://files.pythonhosted.org/packages/3d/a3/cc409ba012c83ca024a308516703cf339bdc4b696195644a7215a5164a24/multidict-6.7.1-cp313-cp313t-win_arm64.whl", hash = "sha256:5a37ca18e360377cfda1d62f5f382ff41f2b8c4ccb329ed974cc2e1643440118", size = 45573, upload-time = "2026-01-26T02:45:09.349Z" },
+ { url = "https://files.pythonhosted.org/packages/81/08/7036c080d7117f28a4af526d794aab6a84463126db031b007717c1a6676e/multidict-6.7.1-py3-none-any.whl", hash = "sha256:55d97cc6dae627efa6a6e548885712d4864b81110ac76fa4e534c03819fa4a56", size = 12319, upload-time = "2026-01-26T02:46:44.004Z" },
+]
+
+[[package]]
+name = "networkx"
+version = "3.4.2"
+source = { registry = "https://pypi.org/simple" }
+resolution-markers = [
+ "(python_full_version < '3.11' and platform_machine == 'aarch64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version < '3.11' and platform_machine == 'arm64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version < '3.11' and platform_machine == 'AMD64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version < '3.11' and platform_machine == 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')",
+ "python_full_version < '3.11' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version < '3.11' and platform_machine == 'arm64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "(python_full_version < '3.11' and platform_machine == 'aarch64' and sys_platform == 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version < '3.11' and platform_machine == 'arm64' and sys_platform == 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "python_full_version < '3.11' and platform_machine == 'aarch64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "(python_full_version < '3.11' and platform_machine == 'aarch64' and sys_platform != 'darwin' and sys_platform != 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version < '3.11' and platform_machine == 'arm64' and sys_platform != 'darwin' and sys_platform != 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version < '3.11' and platform_machine == 'AMD64' and sys_platform == 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version < '3.11' and platform_machine == 'x86_64' and sys_platform == 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "python_full_version < '3.11' and platform_machine == 'x86_64' and sys_platform == 'linux' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "(python_full_version < '3.11' and platform_machine == 'AMD64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version < '3.11' and platform_machine == 'x86_64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version < '3.11' and platform_machine == 'x86_64' and sys_platform != 'darwin' and sys_platform != 'linux' and sys_platform != 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version < '3.11' and platform_machine == 'AMD64' and sys_platform != 'darwin' and sys_platform != 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version < '3.11' and platform_machine == 'AMD64' and sys_platform == 'linux' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "python_full_version < '3.11' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version < '3.11' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "(python_full_version < '3.11' and platform_machine == 'aarch64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version < '3.11' and platform_machine == 'arm64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version < '3.11' and platform_machine == 'aarch64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version < '3.11' and platform_machine == 'arm64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version < '3.11' and platform_machine == 'AMD64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version < '3.11' and platform_machine == 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "python_full_version < '3.11' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "(python_full_version < '3.11' and platform_machine == 'aarch64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version < '3.11' and platform_machine == 'arm64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version < '3.11' and platform_machine == 'aarch64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version < '3.11' and platform_machine == 'arm64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version < '3.11' and platform_machine == 'AMD64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version < '3.11' and platform_machine == 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "python_full_version < '3.11' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "(python_full_version < '3.11' and platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version < '3.11' and platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version < '3.11' and platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version < '3.11' and platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "python_full_version < '3.11' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version < '3.11' and platform_machine == 'aarch64' and sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "(python_full_version < '3.11' and platform_machine == 'aarch64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version < '3.11' and platform_machine == 'arm64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version < '3.11' and platform_machine == 'aarch64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version < '3.11' and platform_machine == 'arm64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version < '3.11' and platform_machine == 'AMD64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version < '3.11' and platform_machine == 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "python_full_version < '3.11' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+]
+sdist = { url = "https://files.pythonhosted.org/packages/fd/1d/06475e1cd5264c0b870ea2cc6fdb3e37177c1e565c43f56ff17a10e3937f/networkx-3.4.2.tar.gz", hash = "sha256:307c3669428c5362aab27c8a1260aa8f47c4e91d3891f48be0141738d8d053e1", size = 2151368, upload-time = "2024-10-21T12:39:38.695Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/b9/54/dd730b32ea14ea797530a4479b2ed46a6fb250f682a9cfb997e968bf0261/networkx-3.4.2-py3-none-any.whl", hash = "sha256:df5d4365b724cf81b8c6a7312509d0c22386097011ad1abe274afd5e9d3bbc5f", size = 1723263, upload-time = "2024-10-21T12:39:36.247Z" },
+]
+
+[[package]]
+name = "networkx"
+version = "3.6.1"
+source = { registry = "https://pypi.org/simple" }
+resolution-markers = [
+ "(python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version >= '3.13' and platform_machine == 'arm64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version >= '3.13' and platform_machine == 'arm64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.12.*' and platform_machine == 'aarch64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.12.*' and platform_machine == 'arm64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.11.*' and platform_machine == 'aarch64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.11.*' and platform_machine == 'arm64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version >= '3.13' and platform_machine == 'AMD64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version >= '3.13' and platform_machine == 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.12.*' and platform_machine == 'AMD64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.12.*' and platform_machine == 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.11.*' and platform_machine == 'AMD64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.11.*' and platform_machine == 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')",
+ "python_full_version >= '3.13' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version == '3.12.*' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version == '3.11.*' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version >= '3.13' and platform_machine == 'arm64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version == '3.12.*' and platform_machine == 'arm64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version == '3.11.*' and platform_machine == 'arm64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "(python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform == 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version >= '3.13' and platform_machine == 'arm64' and sys_platform == 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.12.*' and platform_machine == 'aarch64' and sys_platform == 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.12.*' and platform_machine == 'arm64' and sys_platform == 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform == 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.11.*' and platform_machine == 'arm64' and sys_platform == 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version == '3.12.*' and platform_machine == 'aarch64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "(python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform != 'darwin' and sys_platform != 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version >= '3.13' and platform_machine == 'arm64' and sys_platform != 'darwin' and sys_platform != 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.12.*' and platform_machine == 'aarch64' and sys_platform != 'darwin' and sys_platform != 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.12.*' and platform_machine == 'arm64' and sys_platform != 'darwin' and sys_platform != 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform != 'darwin' and sys_platform != 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.11.*' and platform_machine == 'arm64' and sys_platform != 'darwin' and sys_platform != 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version >= '3.13' and platform_machine == 'AMD64' and sys_platform == 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version >= '3.13' and platform_machine == 'x86_64' and sys_platform == 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.12.*' and platform_machine == 'AMD64' and sys_platform == 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.12.*' and platform_machine == 'x86_64' and sys_platform == 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.11.*' and platform_machine == 'AMD64' and sys_platform == 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.11.*' and platform_machine == 'x86_64' and sys_platform == 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "python_full_version >= '3.13' and platform_machine == 'x86_64' and sys_platform == 'linux' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version == '3.12.*' and platform_machine == 'x86_64' and sys_platform == 'linux' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version == '3.11.*' and platform_machine == 'x86_64' and sys_platform == 'linux' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "(python_full_version >= '3.13' and platform_machine == 'AMD64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version >= '3.13' and platform_machine == 'x86_64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.12.*' and platform_machine == 'AMD64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.12.*' and platform_machine == 'x86_64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.11.*' and platform_machine == 'AMD64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.11.*' and platform_machine == 'x86_64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version >= '3.13' and platform_machine == 'x86_64' and sys_platform != 'darwin' and sys_platform != 'linux' and sys_platform != 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version >= '3.13' and platform_machine == 'AMD64' and sys_platform != 'darwin' and sys_platform != 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version >= '3.13' and platform_machine == 'AMD64' and sys_platform == 'linux' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.12.*' and platform_machine == 'x86_64' and sys_platform != 'darwin' and sys_platform != 'linux' and sys_platform != 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.12.*' and platform_machine == 'AMD64' and sys_platform != 'darwin' and sys_platform != 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.12.*' and platform_machine == 'AMD64' and sys_platform == 'linux' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.11.*' and platform_machine == 'x86_64' and sys_platform != 'darwin' and sys_platform != 'linux' and sys_platform != 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.11.*' and platform_machine == 'AMD64' and sys_platform != 'darwin' and sys_platform != 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.11.*' and platform_machine == 'AMD64' and sys_platform == 'linux' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "python_full_version >= '3.13' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version == '3.12.*' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version == '3.11.*' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version >= '3.13' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version == '3.12.*' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version == '3.11.*' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "(python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version >= '3.13' and platform_machine == 'arm64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.12.*' and platform_machine == 'aarch64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.12.*' and platform_machine == 'arm64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version >= '3.13' and platform_machine == 'arm64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.12.*' and platform_machine == 'aarch64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.12.*' and platform_machine == 'arm64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.11.*' and platform_machine == 'arm64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.11.*' and platform_machine == 'arm64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version >= '3.13' and platform_machine == 'AMD64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version >= '3.13' and platform_machine == 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.12.*' and platform_machine == 'AMD64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.12.*' and platform_machine == 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.11.*' and platform_machine == 'AMD64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.11.*' and platform_machine == 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "python_full_version >= '3.13' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version == '3.12.*' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version == '3.11.*' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "(python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version >= '3.13' and platform_machine == 'arm64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.12.*' and platform_machine == 'aarch64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.12.*' and platform_machine == 'arm64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version >= '3.13' and platform_machine == 'arm64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.12.*' and platform_machine == 'aarch64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.12.*' and platform_machine == 'arm64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.11.*' and platform_machine == 'arm64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.11.*' and platform_machine == 'arm64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version >= '3.13' and platform_machine == 'AMD64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version >= '3.13' and platform_machine == 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.12.*' and platform_machine == 'AMD64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.12.*' and platform_machine == 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.11.*' and platform_machine == 'AMD64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.11.*' and platform_machine == 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "python_full_version >= '3.13' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version == '3.12.*' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version == '3.11.*' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "(python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version >= '3.13' and platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.12.*' and platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.12.*' and platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.11.*' and platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version >= '3.13' and platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version >= '3.13' and platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.12.*' and platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.12.*' and platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.11.*' and platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.11.*' and platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "python_full_version >= '3.13' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version == '3.12.*' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version == '3.11.*' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version == '3.12.*' and platform_machine == 'aarch64' and sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "(python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version >= '3.13' and platform_machine == 'arm64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version >= '3.13' and platform_machine == 'arm64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.12.*' and platform_machine == 'aarch64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.12.*' and platform_machine == 'arm64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.11.*' and platform_machine == 'arm64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.12.*' and platform_machine == 'aarch64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.12.*' and platform_machine == 'arm64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.11.*' and platform_machine == 'arm64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version >= '3.13' and platform_machine == 'AMD64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version >= '3.13' and platform_machine == 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.12.*' and platform_machine == 'AMD64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.12.*' and platform_machine == 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.11.*' and platform_machine == 'AMD64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.11.*' and platform_machine == 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "python_full_version >= '3.13' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version == '3.12.*' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version == '3.11.*' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+]
+sdist = { url = "https://files.pythonhosted.org/packages/6a/51/63fe664f3908c97be9d2e4f1158eb633317598cfa6e1fc14af5383f17512/networkx-3.6.1.tar.gz", hash = "sha256:26b7c357accc0c8cde558ad486283728b65b6a95d85ee1cd66bafab4c8168509", size = 2517025, upload-time = "2025-12-08T17:02:39.908Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/9e/c9/b2622292ea83fbb4ec318f5b9ab867d0a28ab43c5717bb85b0a5f6b3b0a4/networkx-3.6.1-py3-none-any.whl", hash = "sha256:d47fbf302e7d9cbbb9e2555a0d267983d2aa476bac30e90dfbe5669bd57f3762", size = 2068504, upload-time = "2025-12-08T17:02:38.159Z" },
+]
+
+[[package]]
+name = "ninja"
+version = "1.13.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/43/73/79a0b22fc731989c708068427579e840a6cf4e937fe7ae5c5d0b7356ac22/ninja-1.13.0.tar.gz", hash = "sha256:4a40ce995ded54d9dc24f8ea37ff3bf62ad192b547f6c7126e7e25045e76f978", size = 242558, upload-time = "2025-08-11T15:10:19.421Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/3c/74/d02409ed2aa865e051b7edda22ad416a39d81a84980f544f8de717cab133/ninja-1.13.0-py3-none-macosx_10_9_universal2.whl", hash = "sha256:fa2a8bfc62e31b08f83127d1613d10821775a0eb334197154c4d6067b7068ff1", size = 310125, upload-time = "2025-08-11T15:09:50.971Z" },
+ { url = "https://files.pythonhosted.org/packages/8e/de/6e1cd6b84b412ac1ef327b76f0641aeb5dcc01e9d3f9eee0286d0c34fd93/ninja-1.13.0-py3-none-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:3d00c692fb717fd511abeb44b8c5d00340c36938c12d6538ba989fe764e79630", size = 177467, upload-time = "2025-08-11T15:09:52.767Z" },
+ { url = "https://files.pythonhosted.org/packages/c8/83/49320fb6e58ae3c079381e333575fdbcf1cca3506ee160a2dcce775046fa/ninja-1.13.0-py3-none-manylinux2014_i686.manylinux_2_17_i686.whl", hash = "sha256:be7f478ff9f96a128b599a964fc60a6a87b9fa332ee1bd44fa243ac88d50291c", size = 187834, upload-time = "2025-08-11T15:09:54.115Z" },
+ { url = "https://files.pythonhosted.org/packages/56/c7/ba22748fb59f7f896b609cd3e568d28a0a367a6d953c24c461fe04fc4433/ninja-1.13.0-py3-none-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:60056592cf495e9a6a4bea3cd178903056ecb0943e4de45a2ea825edb6dc8d3e", size = 202736, upload-time = "2025-08-11T15:09:55.745Z" },
+ { url = "https://files.pythonhosted.org/packages/79/22/d1de07632b78ac8e6b785f41fa9aad7a978ec8c0a1bf15772def36d77aac/ninja-1.13.0-py3-none-manylinux2014_s390x.manylinux_2_17_s390x.whl", hash = "sha256:1c97223cdda0417f414bf864cfb73b72d8777e57ebb279c5f6de368de0062988", size = 179034, upload-time = "2025-08-11T15:09:57.394Z" },
+ { url = "https://files.pythonhosted.org/packages/ed/de/0e6edf44d6a04dabd0318a519125ed0415ce437ad5a1ec9b9be03d9048cf/ninja-1.13.0-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:fb46acf6b93b8dd0322adc3a4945452a4e774b75b91293bafcc7b7f8e6517dfa", size = 180716, upload-time = "2025-08-11T15:09:58.696Z" },
+ { url = "https://files.pythonhosted.org/packages/54/28/938b562f9057aaa4d6bfbeaa05e81899a47aebb3ba6751e36c027a7f5ff7/ninja-1.13.0-py3-none-manylinux_2_28_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:4be9c1b082d244b1ad7ef41eb8ab088aae8c109a9f3f0b3e56a252d3e00f42c1", size = 146843, upload-time = "2025-08-11T15:10:00.046Z" },
+ { url = "https://files.pythonhosted.org/packages/2a/fb/d06a3838de4f8ab866e44ee52a797b5491df823901c54943b2adb0389fbb/ninja-1.13.0-py3-none-manylinux_2_31_riscv64.whl", hash = "sha256:6739d3352073341ad284246f81339a384eec091d9851a886dfa5b00a6d48b3e2", size = 154402, upload-time = "2025-08-11T15:10:01.657Z" },
+ { url = "https://files.pythonhosted.org/packages/31/bf/0d7808af695ceddc763cf251b84a9892cd7f51622dc8b4c89d5012779f06/ninja-1.13.0-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:11be2d22027bde06f14c343f01d31446747dbb51e72d00decca2eb99be911e2f", size = 552388, upload-time = "2025-08-11T15:10:03.349Z" },
+ { url = "https://files.pythonhosted.org/packages/9d/70/c99d0c2c809f992752453cce312848abb3b1607e56d4cd1b6cded317351a/ninja-1.13.0-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:aa45b4037b313c2f698bc13306239b8b93b4680eb47e287773156ac9e9304714", size = 472501, upload-time = "2025-08-11T15:10:04.735Z" },
+ { url = "https://files.pythonhosted.org/packages/9f/43/c217b1153f0e499652f5e0766da8523ce3480f0a951039c7af115e224d55/ninja-1.13.0-py3-none-musllinux_1_2_i686.whl", hash = "sha256:5f8e1e8a1a30835eeb51db05cf5a67151ad37542f5a4af2a438e9490915e5b72", size = 638280, upload-time = "2025-08-11T15:10:06.512Z" },
+ { url = "https://files.pythonhosted.org/packages/8c/45/9151bba2c8d0ae2b6260f71696330590de5850e5574b7b5694dce6023e20/ninja-1.13.0-py3-none-musllinux_1_2_ppc64le.whl", hash = "sha256:3d7d7779d12cb20c6d054c61b702139fd23a7a964ec8f2c823f1ab1b084150db", size = 642420, upload-time = "2025-08-11T15:10:08.35Z" },
+ { url = "https://files.pythonhosted.org/packages/3c/fb/95752eb635bb8ad27d101d71bef15bc63049de23f299e312878fc21cb2da/ninja-1.13.0-py3-none-musllinux_1_2_riscv64.whl", hash = "sha256:d741a5e6754e0bda767e3274a0f0deeef4807f1fec6c0d7921a0244018926ae5", size = 585106, upload-time = "2025-08-11T15:10:09.818Z" },
+ { url = "https://files.pythonhosted.org/packages/c1/31/aa56a1a286703800c0cbe39fb4e82811c277772dc8cd084f442dd8e2938a/ninja-1.13.0-py3-none-musllinux_1_2_s390x.whl", hash = "sha256:e8bad11f8a00b64137e9b315b137d8bb6cbf3086fbdc43bf1f90fd33324d2e96", size = 707138, upload-time = "2025-08-11T15:10:11.366Z" },
+ { url = "https://files.pythonhosted.org/packages/34/6f/5f5a54a1041af945130abdb2b8529cbef0cdcbbf9bcf3f4195378319d29a/ninja-1.13.0-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:b4f2a072db3c0f944c32793e91532d8948d20d9ab83da9c0c7c15b5768072200", size = 581758, upload-time = "2025-08-11T15:10:13.295Z" },
+ { url = "https://files.pythonhosted.org/packages/95/97/51359c77527d45943fe7a94d00a3843b81162e6c4244b3579fe8fc54cb9c/ninja-1.13.0-py3-none-win32.whl", hash = "sha256:8cfbb80b4a53456ae8a39f90ae3d7a2129f45ea164f43fadfa15dc38c4aef1c9", size = 267201, upload-time = "2025-08-11T15:10:15.158Z" },
+ { url = "https://files.pythonhosted.org/packages/29/45/c0adfbfb0b5895aa18cec400c535b4f7ff3e52536e0403602fc1a23f7de9/ninja-1.13.0-py3-none-win_amd64.whl", hash = "sha256:fb8ee8719f8af47fed145cced4a85f0755dd55d45b2bddaf7431fa89803c5f3e", size = 309975, upload-time = "2025-08-11T15:10:16.697Z" },
+ { url = "https://files.pythonhosted.org/packages/df/93/a7b983643d1253bb223234b5b226e69de6cda02b76cdca7770f684b795f5/ninja-1.13.0-py3-none-win_arm64.whl", hash = "sha256:3c0b40b1f0bba764644385319028650087b4c1b18cdfa6f45cb39a3669b81aa9", size = 290806, upload-time = "2025-08-11T15:10:18.018Z" },
+]
+
+[[package]]
+name = "nltk"
+version = "3.9.2"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "click" },
+ { name = "joblib" },
+ { name = "regex" },
+ { name = "tqdm" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/f9/76/3a5e4312c19a028770f86fd7c058cf9f4ec4321c6cf7526bab998a5b683c/nltk-3.9.2.tar.gz", hash = "sha256:0f409e9b069ca4177c1903c3e843eef90c7e92992fa4931ae607da6de49e1419", size = 2887629, upload-time = "2025-10-01T07:19:23.764Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/60/90/81ac364ef94209c100e12579629dc92bf7a709a84af32f8c551b02c07e94/nltk-3.9.2-py3-none-any.whl", hash = "sha256:1e209d2b3009110635ed9709a67a1a3e33a10f799490fa71cf4bec218c11c88a", size = 1513404, upload-time = "2025-10-01T07:19:21.648Z" },
+]
+
+[[package]]
+name = "nodeenv"
+version = "1.10.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/24/bf/d1bda4f6168e0b2e9e5958945e01910052158313224ada5ce1fb2e1113b8/nodeenv-1.10.0.tar.gz", hash = "sha256:996c191ad80897d076bdfba80a41994c2b47c68e224c542b48feba42ba00f8bb", size = 55611, upload-time = "2025-12-20T14:08:54.006Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/88/b2/d0896bdcdc8d28a7fc5717c305f1a861c26e18c05047949fb371034d98bd/nodeenv-1.10.0-py2.py3-none-any.whl", hash = "sha256:5bb13e3eed2923615535339b3c620e76779af4cb4c6a90deccc9e36b274d3827", size = 23438, upload-time = "2025-12-20T14:08:52.782Z" },
+]
+
+[[package]]
+name = "numba"
+version = "0.63.1"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "llvmlite" },
+ { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11' or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "numpy", version = "2.3.5", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11' or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/dc/60/0145d479b2209bd8fdae5f44201eceb8ce5a23e0ed54c71f57db24618665/numba-0.63.1.tar.gz", hash = "sha256:b320aa675d0e3b17b40364935ea52a7b1c670c9037c39cf92c49502a75902f4b", size = 2761666, upload-time = "2025-12-10T02:57:39.002Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/5e/ce/5283d4ffa568f795bb0fd61ee1f0efc0c6094b94209259167fc8d4276bde/numba-0.63.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:c6d6bf5bf00f7db629305caaec82a2ffb8abe2bf45eaad0d0738dc7de4113779", size = 2680810, upload-time = "2025-12-10T02:56:55.269Z" },
+ { url = "https://files.pythonhosted.org/packages/0f/72/a8bda517e26d912633b32626333339b7c769ea73a5c688365ea5f88fd07e/numba-0.63.1-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:08653d0dfc9cc9c4c9a8fba29ceb1f2d5340c3b86c4a7e5e07e42b643bc6a2f4", size = 3739735, upload-time = "2025-12-10T02:56:57.922Z" },
+ { url = "https://files.pythonhosted.org/packages/ca/17/1913b7c1173b2db30fb7a9696892a7c4c59aeee777a9af6859e9e01bac51/numba-0.63.1-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:f09eebf5650246ce2a4e9a8d38270e2d4b0b0ae978103bafb38ed7adc5ea906e", size = 3446707, upload-time = "2025-12-10T02:56:59.837Z" },
+ { url = "https://files.pythonhosted.org/packages/b4/77/703db56c3061e9fdad5e79c91452947fdeb2ec0bdfe4affe9b144e7025e0/numba-0.63.1-cp310-cp310-win_amd64.whl", hash = "sha256:f8bba17421d865d8c0f7be2142754ebce53e009daba41c44cf6909207d1a8d7d", size = 2747374, upload-time = "2025-12-10T02:57:07.908Z" },
+ { url = "https://files.pythonhosted.org/packages/70/90/5f8614c165d2e256fbc6c57028519db6f32e4982475a372bbe550ea0454c/numba-0.63.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:b33db00f18ccc790ee9911ce03fcdfe9d5124637d1ecc266f5ae0df06e02fec3", size = 2680501, upload-time = "2025-12-10T02:57:09.797Z" },
+ { url = "https://files.pythonhosted.org/packages/dc/9d/d0afc4cf915edd8eadd9b2ab5b696242886ee4f97720d9322650d66a88c6/numba-0.63.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:7d31ea186a78a7c0f6b1b2a3fe68057fdb291b045c52d86232b5383b6cf4fc25", size = 3744945, upload-time = "2025-12-10T02:57:11.697Z" },
+ { url = "https://files.pythonhosted.org/packages/05/a9/d82f38f2ab73f3be6f838a826b545b80339762ee8969c16a8bf1d39395a8/numba-0.63.1-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:ed3bb2fbdb651d6aac394388130a7001aab6f4541837123a4b4ab8b02716530c", size = 3450827, upload-time = "2025-12-10T02:57:13.709Z" },
+ { url = "https://files.pythonhosted.org/packages/18/3f/a9b106e93c5bd7434e65f044bae0d204e20aa7f7f85d72ceb872c7c04216/numba-0.63.1-cp311-cp311-win_amd64.whl", hash = "sha256:1ecbff7688f044b1601be70113e2fb1835367ee0b28ffa8f3adf3a05418c5c87", size = 2747262, upload-time = "2025-12-10T02:57:15.664Z" },
+ { url = "https://files.pythonhosted.org/packages/14/9c/c0974cd3d00ff70d30e8ff90522ba5fbb2bcee168a867d2321d8d0457676/numba-0.63.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:2819cd52afa5d8d04e057bdfd54367575105f8829350d8fb5e4066fb7591cc71", size = 2680981, upload-time = "2025-12-10T02:57:17.579Z" },
+ { url = "https://files.pythonhosted.org/packages/cb/70/ea2bc45205f206b7a24ee68a159f5097c9ca7e6466806e7c213587e0c2b1/numba-0.63.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:5cfd45dbd3d409e713b1ccfdc2ee72ca82006860254429f4ef01867fdba5845f", size = 3801656, upload-time = "2025-12-10T02:57:19.106Z" },
+ { url = "https://files.pythonhosted.org/packages/0d/82/4f4ba4fd0f99825cbf3cdefd682ca3678be1702b63362011de6e5f71f831/numba-0.63.1-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:69a599df6976c03b7ecf15d05302696f79f7e6d10d620367407517943355bcb0", size = 3501857, upload-time = "2025-12-10T02:57:20.721Z" },
+ { url = "https://files.pythonhosted.org/packages/af/fd/6540456efa90b5f6604a86ff50dabefb187e43557e9081adcad3be44f048/numba-0.63.1-cp312-cp312-win_amd64.whl", hash = "sha256:bbad8c63e4fc7eb3cdb2c2da52178e180419f7969f9a685f283b313a70b92af3", size = 2750282, upload-time = "2025-12-10T02:57:22.474Z" },
+ { url = "https://files.pythonhosted.org/packages/57/f7/e19e6eff445bec52dde5bed1ebb162925a8e6f988164f1ae4b3475a73680/numba-0.63.1-cp313-cp313-macosx_12_0_arm64.whl", hash = "sha256:0bd4fd820ef7442dcc07da184c3f54bb41d2bdb7b35bacf3448e73d081f730dc", size = 2680954, upload-time = "2025-12-10T02:57:24.145Z" },
+ { url = "https://files.pythonhosted.org/packages/e9/6c/1e222edba1e20e6b113912caa9b1665b5809433cbcb042dfd133c6f1fd38/numba-0.63.1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:53de693abe4be3bd4dee38e1c55f01c55ff644a6a3696a3670589e6e4c39cde2", size = 3809736, upload-time = "2025-12-10T02:57:25.836Z" },
+ { url = "https://files.pythonhosted.org/packages/76/0a/590bad11a8b3feeac30a24d01198d46bdb76ad15c70d3a530691ce3cae58/numba-0.63.1-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:81227821a72a763c3d4ac290abbb4371d855b59fdf85d5af22a47c0e86bf8c7e", size = 3508854, upload-time = "2025-12-10T02:57:27.438Z" },
+ { url = "https://files.pythonhosted.org/packages/4e/f5/3800384a24eed1e4d524669cdbc0b9b8a628800bb1e90d7bd676e5f22581/numba-0.63.1-cp313-cp313-win_amd64.whl", hash = "sha256:eb227b07c2ac37b09432a9bda5142047a2d1055646e089d4a240a2643e508102", size = 2750228, upload-time = "2025-12-10T02:57:30.36Z" },
+]
+
+[[package]]
+name = "numpy"
+version = "2.2.6"
+source = { registry = "https://pypi.org/simple" }
+resolution-markers = [
+ "(python_full_version < '3.11' and platform_machine == 'aarch64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version < '3.11' and platform_machine == 'arm64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version < '3.11' and platform_machine == 'AMD64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version < '3.11' and platform_machine == 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')",
+ "python_full_version < '3.11' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version < '3.11' and platform_machine == 'arm64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "(python_full_version < '3.11' and platform_machine == 'aarch64' and sys_platform == 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version < '3.11' and platform_machine == 'arm64' and sys_platform == 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "python_full_version < '3.11' and platform_machine == 'aarch64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "(python_full_version < '3.11' and platform_machine == 'aarch64' and sys_platform != 'darwin' and sys_platform != 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version < '3.11' and platform_machine == 'arm64' and sys_platform != 'darwin' and sys_platform != 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version < '3.11' and platform_machine == 'AMD64' and sys_platform == 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version < '3.11' and platform_machine == 'x86_64' and sys_platform == 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "python_full_version < '3.11' and platform_machine == 'x86_64' and sys_platform == 'linux' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "(python_full_version < '3.11' and platform_machine == 'AMD64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version < '3.11' and platform_machine == 'x86_64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version < '3.11' and platform_machine == 'x86_64' and sys_platform != 'darwin' and sys_platform != 'linux' and sys_platform != 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version < '3.11' and platform_machine == 'AMD64' and sys_platform != 'darwin' and sys_platform != 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version < '3.11' and platform_machine == 'AMD64' and sys_platform == 'linux' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "python_full_version < '3.11' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version < '3.11' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "(python_full_version < '3.11' and platform_machine == 'aarch64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version < '3.11' and platform_machine == 'arm64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version < '3.11' and platform_machine == 'aarch64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version < '3.11' and platform_machine == 'arm64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version < '3.11' and platform_machine == 'AMD64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version < '3.11' and platform_machine == 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "python_full_version < '3.11' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "(python_full_version < '3.11' and platform_machine == 'aarch64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version < '3.11' and platform_machine == 'arm64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version < '3.11' and platform_machine == 'aarch64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version < '3.11' and platform_machine == 'arm64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version < '3.11' and platform_machine == 'AMD64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version < '3.11' and platform_machine == 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "python_full_version < '3.11' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "(python_full_version < '3.11' and platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version < '3.11' and platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version < '3.11' and platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version < '3.11' and platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "python_full_version < '3.11' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version < '3.11' and platform_machine == 'aarch64' and sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "(python_full_version < '3.11' and platform_machine == 'aarch64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version < '3.11' and platform_machine == 'arm64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version < '3.11' and platform_machine == 'aarch64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version < '3.11' and platform_machine == 'arm64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version < '3.11' and platform_machine == 'AMD64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version < '3.11' and platform_machine == 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "python_full_version < '3.11' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+]
+sdist = { url = "https://files.pythonhosted.org/packages/76/21/7d2a95e4bba9dc13d043ee156a356c0a8f0c6309dff6b21b4d71a073b8a8/numpy-2.2.6.tar.gz", hash = "sha256:e29554e2bef54a90aa5cc07da6ce955accb83f21ab5de01a62c8478897b264fd", size = 20276440, upload-time = "2025-05-17T22:38:04.611Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/9a/3e/ed6db5be21ce87955c0cbd3009f2803f59fa08df21b5df06862e2d8e2bdd/numpy-2.2.6-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:b412caa66f72040e6d268491a59f2c43bf03eb6c96dd8f0307829feb7fa2b6fb", size = 21165245, upload-time = "2025-05-17T21:27:58.555Z" },
+ { url = "https://files.pythonhosted.org/packages/22/c2/4b9221495b2a132cc9d2eb862e21d42a009f5a60e45fc44b00118c174bff/numpy-2.2.6-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:8e41fd67c52b86603a91c1a505ebaef50b3314de0213461c7a6e99c9a3beff90", size = 14360048, upload-time = "2025-05-17T21:28:21.406Z" },
+ { url = "https://files.pythonhosted.org/packages/fd/77/dc2fcfc66943c6410e2bf598062f5959372735ffda175b39906d54f02349/numpy-2.2.6-cp310-cp310-macosx_14_0_arm64.whl", hash = "sha256:37e990a01ae6ec7fe7fa1c26c55ecb672dd98b19c3d0e1d1f326fa13cb38d163", size = 5340542, upload-time = "2025-05-17T21:28:30.931Z" },
+ { url = "https://files.pythonhosted.org/packages/7a/4f/1cb5fdc353a5f5cc7feb692db9b8ec2c3d6405453f982435efc52561df58/numpy-2.2.6-cp310-cp310-macosx_14_0_x86_64.whl", hash = "sha256:5a6429d4be8ca66d889b7cf70f536a397dc45ba6faeb5f8c5427935d9592e9cf", size = 6878301, upload-time = "2025-05-17T21:28:41.613Z" },
+ { url = "https://files.pythonhosted.org/packages/eb/17/96a3acd228cec142fcb8723bd3cc39c2a474f7dcf0a5d16731980bcafa95/numpy-2.2.6-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:efd28d4e9cd7d7a8d39074a4d44c63eda73401580c5c76acda2ce969e0a38e83", size = 14297320, upload-time = "2025-05-17T21:29:02.78Z" },
+ { url = "https://files.pythonhosted.org/packages/b4/63/3de6a34ad7ad6646ac7d2f55ebc6ad439dbbf9c4370017c50cf403fb19b5/numpy-2.2.6-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fc7b73d02efb0e18c000e9ad8b83480dfcd5dfd11065997ed4c6747470ae8915", size = 16801050, upload-time = "2025-05-17T21:29:27.675Z" },
+ { url = "https://files.pythonhosted.org/packages/07/b6/89d837eddef52b3d0cec5c6ba0456c1bf1b9ef6a6672fc2b7873c3ec4e2e/numpy-2.2.6-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:74d4531beb257d2c3f4b261bfb0fc09e0f9ebb8842d82a7b4209415896adc680", size = 15807034, upload-time = "2025-05-17T21:29:51.102Z" },
+ { url = "https://files.pythonhosted.org/packages/01/c8/dc6ae86e3c61cfec1f178e5c9f7858584049b6093f843bca541f94120920/numpy-2.2.6-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:8fc377d995680230e83241d8a96def29f204b5782f371c532579b4f20607a289", size = 18614185, upload-time = "2025-05-17T21:30:18.703Z" },
+ { url = "https://files.pythonhosted.org/packages/5b/c5/0064b1b7e7c89137b471ccec1fd2282fceaae0ab3a9550f2568782d80357/numpy-2.2.6-cp310-cp310-win32.whl", hash = "sha256:b093dd74e50a8cba3e873868d9e93a85b78e0daf2e98c6797566ad8044e8363d", size = 6527149, upload-time = "2025-05-17T21:30:29.788Z" },
+ { url = "https://files.pythonhosted.org/packages/a3/dd/4b822569d6b96c39d1215dbae0582fd99954dcbcf0c1a13c61783feaca3f/numpy-2.2.6-cp310-cp310-win_amd64.whl", hash = "sha256:f0fd6321b839904e15c46e0d257fdd101dd7f530fe03fd6359c1ea63738703f3", size = 12904620, upload-time = "2025-05-17T21:30:48.994Z" },
+ { url = "https://files.pythonhosted.org/packages/da/a8/4f83e2aa666a9fbf56d6118faaaf5f1974d456b1823fda0a176eff722839/numpy-2.2.6-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:f9f1adb22318e121c5c69a09142811a201ef17ab257a1e66ca3025065b7f53ae", size = 21176963, upload-time = "2025-05-17T21:31:19.36Z" },
+ { url = "https://files.pythonhosted.org/packages/b3/2b/64e1affc7972decb74c9e29e5649fac940514910960ba25cd9af4488b66c/numpy-2.2.6-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:c820a93b0255bc360f53eca31a0e676fd1101f673dda8da93454a12e23fc5f7a", size = 14406743, upload-time = "2025-05-17T21:31:41.087Z" },
+ { url = "https://files.pythonhosted.org/packages/4a/9f/0121e375000b5e50ffdd8b25bf78d8e1a5aa4cca3f185d41265198c7b834/numpy-2.2.6-cp311-cp311-macosx_14_0_arm64.whl", hash = "sha256:3d70692235e759f260c3d837193090014aebdf026dfd167834bcba43e30c2a42", size = 5352616, upload-time = "2025-05-17T21:31:50.072Z" },
+ { url = "https://files.pythonhosted.org/packages/31/0d/b48c405c91693635fbe2dcd7bc84a33a602add5f63286e024d3b6741411c/numpy-2.2.6-cp311-cp311-macosx_14_0_x86_64.whl", hash = "sha256:481b49095335f8eed42e39e8041327c05b0f6f4780488f61286ed3c01368d491", size = 6889579, upload-time = "2025-05-17T21:32:01.712Z" },
+ { url = "https://files.pythonhosted.org/packages/52/b8/7f0554d49b565d0171eab6e99001846882000883998e7b7d9f0d98b1f934/numpy-2.2.6-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b64d8d4d17135e00c8e346e0a738deb17e754230d7e0810ac5012750bbd85a5a", size = 14312005, upload-time = "2025-05-17T21:32:23.332Z" },
+ { url = "https://files.pythonhosted.org/packages/b3/dd/2238b898e51bd6d389b7389ffb20d7f4c10066d80351187ec8e303a5a475/numpy-2.2.6-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ba10f8411898fc418a521833e014a77d3ca01c15b0c6cdcce6a0d2897e6dbbdf", size = 16821570, upload-time = "2025-05-17T21:32:47.991Z" },
+ { url = "https://files.pythonhosted.org/packages/83/6c/44d0325722cf644f191042bf47eedad61c1e6df2432ed65cbe28509d404e/numpy-2.2.6-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:bd48227a919f1bafbdda0583705e547892342c26fb127219d60a5c36882609d1", size = 15818548, upload-time = "2025-05-17T21:33:11.728Z" },
+ { url = "https://files.pythonhosted.org/packages/ae/9d/81e8216030ce66be25279098789b665d49ff19eef08bfa8cb96d4957f422/numpy-2.2.6-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:9551a499bf125c1d4f9e250377c1ee2eddd02e01eac6644c080162c0c51778ab", size = 18620521, upload-time = "2025-05-17T21:33:39.139Z" },
+ { url = "https://files.pythonhosted.org/packages/6a/fd/e19617b9530b031db51b0926eed5345ce8ddc669bb3bc0044b23e275ebe8/numpy-2.2.6-cp311-cp311-win32.whl", hash = "sha256:0678000bb9ac1475cd454c6b8c799206af8107e310843532b04d49649c717a47", size = 6525866, upload-time = "2025-05-17T21:33:50.273Z" },
+ { url = "https://files.pythonhosted.org/packages/31/0a/f354fb7176b81747d870f7991dc763e157a934c717b67b58456bc63da3df/numpy-2.2.6-cp311-cp311-win_amd64.whl", hash = "sha256:e8213002e427c69c45a52bbd94163084025f533a55a59d6f9c5b820774ef3303", size = 12907455, upload-time = "2025-05-17T21:34:09.135Z" },
+ { url = "https://files.pythonhosted.org/packages/82/5d/c00588b6cf18e1da539b45d3598d3557084990dcc4331960c15ee776ee41/numpy-2.2.6-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:41c5a21f4a04fa86436124d388f6ed60a9343a6f767fced1a8a71c3fbca038ff", size = 20875348, upload-time = "2025-05-17T21:34:39.648Z" },
+ { url = "https://files.pythonhosted.org/packages/66/ee/560deadcdde6c2f90200450d5938f63a34b37e27ebff162810f716f6a230/numpy-2.2.6-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:de749064336d37e340f640b05f24e9e3dd678c57318c7289d222a8a2f543e90c", size = 14119362, upload-time = "2025-05-17T21:35:01.241Z" },
+ { url = "https://files.pythonhosted.org/packages/3c/65/4baa99f1c53b30adf0acd9a5519078871ddde8d2339dc5a7fde80d9d87da/numpy-2.2.6-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:894b3a42502226a1cac872f840030665f33326fc3dac8e57c607905773cdcde3", size = 5084103, upload-time = "2025-05-17T21:35:10.622Z" },
+ { url = "https://files.pythonhosted.org/packages/cc/89/e5a34c071a0570cc40c9a54eb472d113eea6d002e9ae12bb3a8407fb912e/numpy-2.2.6-cp312-cp312-macosx_14_0_x86_64.whl", hash = "sha256:71594f7c51a18e728451bb50cc60a3ce4e6538822731b2933209a1f3614e9282", size = 6625382, upload-time = "2025-05-17T21:35:21.414Z" },
+ { url = "https://files.pythonhosted.org/packages/f8/35/8c80729f1ff76b3921d5c9487c7ac3de9b2a103b1cd05e905b3090513510/numpy-2.2.6-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f2618db89be1b4e05f7a1a847a9c1c0abd63e63a1607d892dd54668dd92faf87", size = 14018462, upload-time = "2025-05-17T21:35:42.174Z" },
+ { url = "https://files.pythonhosted.org/packages/8c/3d/1e1db36cfd41f895d266b103df00ca5b3cbe965184df824dec5c08c6b803/numpy-2.2.6-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fd83c01228a688733f1ded5201c678f0c53ecc1006ffbc404db9f7a899ac6249", size = 16527618, upload-time = "2025-05-17T21:36:06.711Z" },
+ { url = "https://files.pythonhosted.org/packages/61/c6/03ed30992602c85aa3cd95b9070a514f8b3c33e31124694438d88809ae36/numpy-2.2.6-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:37c0ca431f82cd5fa716eca9506aefcabc247fb27ba69c5062a6d3ade8cf8f49", size = 15505511, upload-time = "2025-05-17T21:36:29.965Z" },
+ { url = "https://files.pythonhosted.org/packages/b7/25/5761d832a81df431e260719ec45de696414266613c9ee268394dd5ad8236/numpy-2.2.6-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:fe27749d33bb772c80dcd84ae7e8df2adc920ae8297400dabec45f0dedb3f6de", size = 18313783, upload-time = "2025-05-17T21:36:56.883Z" },
+ { url = "https://files.pythonhosted.org/packages/57/0a/72d5a3527c5ebffcd47bde9162c39fae1f90138c961e5296491ce778e682/numpy-2.2.6-cp312-cp312-win32.whl", hash = "sha256:4eeaae00d789f66c7a25ac5f34b71a7035bb474e679f410e5e1a94deb24cf2d4", size = 6246506, upload-time = "2025-05-17T21:37:07.368Z" },
+ { url = "https://files.pythonhosted.org/packages/36/fa/8c9210162ca1b88529ab76b41ba02d433fd54fecaf6feb70ef9f124683f1/numpy-2.2.6-cp312-cp312-win_amd64.whl", hash = "sha256:c1f9540be57940698ed329904db803cf7a402f3fc200bfe599334c9bd84a40b2", size = 12614190, upload-time = "2025-05-17T21:37:26.213Z" },
+ { url = "https://files.pythonhosted.org/packages/f9/5c/6657823f4f594f72b5471f1db1ab12e26e890bb2e41897522d134d2a3e81/numpy-2.2.6-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:0811bb762109d9708cca4d0b13c4f67146e3c3b7cf8d34018c722adb2d957c84", size = 20867828, upload-time = "2025-05-17T21:37:56.699Z" },
+ { url = "https://files.pythonhosted.org/packages/dc/9e/14520dc3dadf3c803473bd07e9b2bd1b69bc583cb2497b47000fed2fa92f/numpy-2.2.6-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:287cc3162b6f01463ccd86be154f284d0893d2b3ed7292439ea97eafa8170e0b", size = 14143006, upload-time = "2025-05-17T21:38:18.291Z" },
+ { url = "https://files.pythonhosted.org/packages/4f/06/7e96c57d90bebdce9918412087fc22ca9851cceaf5567a45c1f404480e9e/numpy-2.2.6-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:f1372f041402e37e5e633e586f62aa53de2eac8d98cbfb822806ce4bbefcb74d", size = 5076765, upload-time = "2025-05-17T21:38:27.319Z" },
+ { url = "https://files.pythonhosted.org/packages/73/ed/63d920c23b4289fdac96ddbdd6132e9427790977d5457cd132f18e76eae0/numpy-2.2.6-cp313-cp313-macosx_14_0_x86_64.whl", hash = "sha256:55a4d33fa519660d69614a9fad433be87e5252f4b03850642f88993f7b2ca566", size = 6617736, upload-time = "2025-05-17T21:38:38.141Z" },
+ { url = "https://files.pythonhosted.org/packages/85/c5/e19c8f99d83fd377ec8c7e0cf627a8049746da54afc24ef0a0cb73d5dfb5/numpy-2.2.6-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f92729c95468a2f4f15e9bb94c432a9229d0d50de67304399627a943201baa2f", size = 14010719, upload-time = "2025-05-17T21:38:58.433Z" },
+ { url = "https://files.pythonhosted.org/packages/19/49/4df9123aafa7b539317bf6d342cb6d227e49f7a35b99c287a6109b13dd93/numpy-2.2.6-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1bc23a79bfabc5d056d106f9befb8d50c31ced2fbc70eedb8155aec74a45798f", size = 16526072, upload-time = "2025-05-17T21:39:22.638Z" },
+ { url = "https://files.pythonhosted.org/packages/b2/6c/04b5f47f4f32f7c2b0e7260442a8cbcf8168b0e1a41ff1495da42f42a14f/numpy-2.2.6-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:e3143e4451880bed956e706a3220b4e5cf6172ef05fcc397f6f36a550b1dd868", size = 15503213, upload-time = "2025-05-17T21:39:45.865Z" },
+ { url = "https://files.pythonhosted.org/packages/17/0a/5cd92e352c1307640d5b6fec1b2ffb06cd0dabe7d7b8227f97933d378422/numpy-2.2.6-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:b4f13750ce79751586ae2eb824ba7e1e8dba64784086c98cdbbcc6a42112ce0d", size = 18316632, upload-time = "2025-05-17T21:40:13.331Z" },
+ { url = "https://files.pythonhosted.org/packages/f0/3b/5cba2b1d88760ef86596ad0f3d484b1cbff7c115ae2429678465057c5155/numpy-2.2.6-cp313-cp313-win32.whl", hash = "sha256:5beb72339d9d4fa36522fc63802f469b13cdbe4fdab4a288f0c441b74272ebfd", size = 6244532, upload-time = "2025-05-17T21:43:46.099Z" },
+ { url = "https://files.pythonhosted.org/packages/cb/3b/d58c12eafcb298d4e6d0d40216866ab15f59e55d148a5658bb3132311fcf/numpy-2.2.6-cp313-cp313-win_amd64.whl", hash = "sha256:b0544343a702fa80c95ad5d3d608ea3599dd54d4632df855e4c8d24eb6ecfa1c", size = 12610885, upload-time = "2025-05-17T21:44:05.145Z" },
+ { url = "https://files.pythonhosted.org/packages/6b/9e/4bf918b818e516322db999ac25d00c75788ddfd2d2ade4fa66f1f38097e1/numpy-2.2.6-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:0bca768cd85ae743b2affdc762d617eddf3bcf8724435498a1e80132d04879e6", size = 20963467, upload-time = "2025-05-17T21:40:44Z" },
+ { url = "https://files.pythonhosted.org/packages/61/66/d2de6b291507517ff2e438e13ff7b1e2cdbdb7cb40b3ed475377aece69f9/numpy-2.2.6-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:fc0c5673685c508a142ca65209b4e79ed6740a4ed6b2267dbba90f34b0b3cfda", size = 14225144, upload-time = "2025-05-17T21:41:05.695Z" },
+ { url = "https://files.pythonhosted.org/packages/e4/25/480387655407ead912e28ba3a820bc69af9adf13bcbe40b299d454ec011f/numpy-2.2.6-cp313-cp313t-macosx_14_0_arm64.whl", hash = "sha256:5bd4fc3ac8926b3819797a7c0e2631eb889b4118a9898c84f585a54d475b7e40", size = 5200217, upload-time = "2025-05-17T21:41:15.903Z" },
+ { url = "https://files.pythonhosted.org/packages/aa/4a/6e313b5108f53dcbf3aca0c0f3e9c92f4c10ce57a0a721851f9785872895/numpy-2.2.6-cp313-cp313t-macosx_14_0_x86_64.whl", hash = "sha256:fee4236c876c4e8369388054d02d0e9bb84821feb1a64dd59e137e6511a551f8", size = 6712014, upload-time = "2025-05-17T21:41:27.321Z" },
+ { url = "https://files.pythonhosted.org/packages/b7/30/172c2d5c4be71fdf476e9de553443cf8e25feddbe185e0bd88b096915bcc/numpy-2.2.6-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e1dda9c7e08dc141e0247a5b8f49cf05984955246a327d4c48bda16821947b2f", size = 14077935, upload-time = "2025-05-17T21:41:49.738Z" },
+ { url = "https://files.pythonhosted.org/packages/12/fb/9e743f8d4e4d3c710902cf87af3512082ae3d43b945d5d16563f26ec251d/numpy-2.2.6-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f447e6acb680fd307f40d3da4852208af94afdfab89cf850986c3ca00562f4fa", size = 16600122, upload-time = "2025-05-17T21:42:14.046Z" },
+ { url = "https://files.pythonhosted.org/packages/12/75/ee20da0e58d3a66f204f38916757e01e33a9737d0b22373b3eb5a27358f9/numpy-2.2.6-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:389d771b1623ec92636b0786bc4ae56abafad4a4c513d36a55dce14bd9ce8571", size = 15586143, upload-time = "2025-05-17T21:42:37.464Z" },
+ { url = "https://files.pythonhosted.org/packages/76/95/bef5b37f29fc5e739947e9ce5179ad402875633308504a52d188302319c8/numpy-2.2.6-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:8e9ace4a37db23421249ed236fdcdd457d671e25146786dfc96835cd951aa7c1", size = 18385260, upload-time = "2025-05-17T21:43:05.189Z" },
+ { url = "https://files.pythonhosted.org/packages/09/04/f2f83279d287407cf36a7a8053a5abe7be3622a4363337338f2585e4afda/numpy-2.2.6-cp313-cp313t-win32.whl", hash = "sha256:038613e9fb8c72b0a41f025a7e4c3f0b7a1b5d768ece4796b674c8f3fe13efff", size = 6377225, upload-time = "2025-05-17T21:43:16.254Z" },
+ { url = "https://files.pythonhosted.org/packages/67/0e/35082d13c09c02c011cf21570543d202ad929d961c02a147493cb0c2bdf5/numpy-2.2.6-cp313-cp313t-win_amd64.whl", hash = "sha256:6031dd6dfecc0cf9f668681a37648373bddd6421fff6c66ec1624eed0180ee06", size = 12771374, upload-time = "2025-05-17T21:43:35.479Z" },
+ { url = "https://files.pythonhosted.org/packages/9e/3b/d94a75f4dbf1ef5d321523ecac21ef23a3cd2ac8b78ae2aac40873590229/numpy-2.2.6-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:0b605b275d7bd0c640cad4e5d30fa701a8d59302e127e5f79138ad62762c3e3d", size = 21040391, upload-time = "2025-05-17T21:44:35.948Z" },
+ { url = "https://files.pythonhosted.org/packages/17/f4/09b2fa1b58f0fb4f7c7963a1649c64c4d315752240377ed74d9cd878f7b5/numpy-2.2.6-pp310-pypy310_pp73-macosx_14_0_x86_64.whl", hash = "sha256:7befc596a7dc9da8a337f79802ee8adb30a552a94f792b9c9d18c840055907db", size = 6786754, upload-time = "2025-05-17T21:44:47.446Z" },
+ { url = "https://files.pythonhosted.org/packages/af/30/feba75f143bdc868a1cc3f44ccfa6c4b9ec522b36458e738cd00f67b573f/numpy-2.2.6-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ce47521a4754c8f4593837384bd3424880629f718d87c5d44f8ed763edd63543", size = 16643476, upload-time = "2025-05-17T21:45:11.871Z" },
+ { url = "https://files.pythonhosted.org/packages/37/48/ac2a9584402fb6c0cd5b5d1a91dcf176b15760130dd386bbafdbfe3640bf/numpy-2.2.6-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:d042d24c90c41b54fd506da306759e06e568864df8ec17ccc17e9e884634fd00", size = 12812666, upload-time = "2025-05-17T21:45:31.426Z" },
+]
+
+[[package]]
+name = "numpy"
+version = "2.3.5"
+source = { registry = "https://pypi.org/simple" }
+resolution-markers = [
+ "(python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version >= '3.13' and platform_machine == 'arm64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version >= '3.13' and platform_machine == 'arm64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.12.*' and platform_machine == 'aarch64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.12.*' and platform_machine == 'arm64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.11.*' and platform_machine == 'aarch64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.11.*' and platform_machine == 'arm64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version >= '3.13' and platform_machine == 'AMD64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version >= '3.13' and platform_machine == 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.12.*' and platform_machine == 'AMD64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.12.*' and platform_machine == 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.11.*' and platform_machine == 'AMD64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.11.*' and platform_machine == 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')",
+ "python_full_version >= '3.13' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version == '3.12.*' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version == '3.11.*' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version >= '3.13' and platform_machine == 'arm64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version == '3.12.*' and platform_machine == 'arm64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version == '3.11.*' and platform_machine == 'arm64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "(python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform == 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version >= '3.13' and platform_machine == 'arm64' and sys_platform == 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.12.*' and platform_machine == 'aarch64' and sys_platform == 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.12.*' and platform_machine == 'arm64' and sys_platform == 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform == 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.11.*' and platform_machine == 'arm64' and sys_platform == 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version == '3.12.*' and platform_machine == 'aarch64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "(python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform != 'darwin' and sys_platform != 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version >= '3.13' and platform_machine == 'arm64' and sys_platform != 'darwin' and sys_platform != 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.12.*' and platform_machine == 'aarch64' and sys_platform != 'darwin' and sys_platform != 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.12.*' and platform_machine == 'arm64' and sys_platform != 'darwin' and sys_platform != 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform != 'darwin' and sys_platform != 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.11.*' and platform_machine == 'arm64' and sys_platform != 'darwin' and sys_platform != 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version >= '3.13' and platform_machine == 'AMD64' and sys_platform == 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version >= '3.13' and platform_machine == 'x86_64' and sys_platform == 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.12.*' and platform_machine == 'AMD64' and sys_platform == 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.12.*' and platform_machine == 'x86_64' and sys_platform == 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.11.*' and platform_machine == 'AMD64' and sys_platform == 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.11.*' and platform_machine == 'x86_64' and sys_platform == 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "python_full_version >= '3.13' and platform_machine == 'x86_64' and sys_platform == 'linux' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version == '3.12.*' and platform_machine == 'x86_64' and sys_platform == 'linux' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version == '3.11.*' and platform_machine == 'x86_64' and sys_platform == 'linux' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "(python_full_version >= '3.13' and platform_machine == 'AMD64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version >= '3.13' and platform_machine == 'x86_64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.12.*' and platform_machine == 'AMD64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.12.*' and platform_machine == 'x86_64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.11.*' and platform_machine == 'AMD64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.11.*' and platform_machine == 'x86_64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version >= '3.13' and platform_machine == 'x86_64' and sys_platform != 'darwin' and sys_platform != 'linux' and sys_platform != 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version >= '3.13' and platform_machine == 'AMD64' and sys_platform != 'darwin' and sys_platform != 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version >= '3.13' and platform_machine == 'AMD64' and sys_platform == 'linux' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.12.*' and platform_machine == 'x86_64' and sys_platform != 'darwin' and sys_platform != 'linux' and sys_platform != 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.12.*' and platform_machine == 'AMD64' and sys_platform != 'darwin' and sys_platform != 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.12.*' and platform_machine == 'AMD64' and sys_platform == 'linux' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.11.*' and platform_machine == 'x86_64' and sys_platform != 'darwin' and sys_platform != 'linux' and sys_platform != 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.11.*' and platform_machine == 'AMD64' and sys_platform != 'darwin' and sys_platform != 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.11.*' and platform_machine == 'AMD64' and sys_platform == 'linux' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "python_full_version >= '3.13' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version == '3.12.*' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version == '3.11.*' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version >= '3.13' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version == '3.12.*' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version == '3.11.*' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "(python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version >= '3.13' and platform_machine == 'arm64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.12.*' and platform_machine == 'aarch64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.12.*' and platform_machine == 'arm64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version >= '3.13' and platform_machine == 'arm64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.12.*' and platform_machine == 'aarch64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.12.*' and platform_machine == 'arm64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.11.*' and platform_machine == 'arm64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.11.*' and platform_machine == 'arm64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version >= '3.13' and platform_machine == 'AMD64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version >= '3.13' and platform_machine == 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.12.*' and platform_machine == 'AMD64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.12.*' and platform_machine == 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.11.*' and platform_machine == 'AMD64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.11.*' and platform_machine == 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "python_full_version >= '3.13' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version == '3.12.*' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version == '3.11.*' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "(python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version >= '3.13' and platform_machine == 'arm64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.12.*' and platform_machine == 'aarch64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.12.*' and platform_machine == 'arm64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version >= '3.13' and platform_machine == 'arm64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.12.*' and platform_machine == 'aarch64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.12.*' and platform_machine == 'arm64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.11.*' and platform_machine == 'arm64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.11.*' and platform_machine == 'arm64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version >= '3.13' and platform_machine == 'AMD64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version >= '3.13' and platform_machine == 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.12.*' and platform_machine == 'AMD64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.12.*' and platform_machine == 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.11.*' and platform_machine == 'AMD64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.11.*' and platform_machine == 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "python_full_version >= '3.13' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version == '3.12.*' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version == '3.11.*' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "(python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version >= '3.13' and platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.12.*' and platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.12.*' and platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.11.*' and platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version >= '3.13' and platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version >= '3.13' and platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.12.*' and platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.12.*' and platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.11.*' and platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.11.*' and platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "python_full_version >= '3.13' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version == '3.12.*' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version == '3.11.*' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version == '3.12.*' and platform_machine == 'aarch64' and sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "(python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version >= '3.13' and platform_machine == 'arm64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version >= '3.13' and platform_machine == 'arm64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.12.*' and platform_machine == 'aarch64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.12.*' and platform_machine == 'arm64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.11.*' and platform_machine == 'arm64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.12.*' and platform_machine == 'aarch64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.12.*' and platform_machine == 'arm64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.11.*' and platform_machine == 'arm64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version >= '3.13' and platform_machine == 'AMD64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version >= '3.13' and platform_machine == 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.12.*' and platform_machine == 'AMD64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.12.*' and platform_machine == 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.11.*' and platform_machine == 'AMD64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.11.*' and platform_machine == 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "python_full_version >= '3.13' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version == '3.12.*' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version == '3.11.*' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+]
+sdist = { url = "https://files.pythonhosted.org/packages/76/65/21b3bc86aac7b8f2862db1e808f1ea22b028e30a225a34a5ede9bf8678f2/numpy-2.3.5.tar.gz", hash = "sha256:784db1dcdab56bf0517743e746dfb0f885fc68d948aba86eeec2cba234bdf1c0", size = 20584950, upload-time = "2025-11-16T22:52:42.067Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/43/77/84dd1d2e34d7e2792a236ba180b5e8fcc1e3e414e761ce0253f63d7f572e/numpy-2.3.5-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:de5672f4a7b200c15a4127042170a694d4df43c992948f5e1af57f0174beed10", size = 17034641, upload-time = "2025-11-16T22:49:19.336Z" },
+ { url = "https://files.pythonhosted.org/packages/2a/ea/25e26fa5837106cde46ae7d0b667e20f69cbbc0efd64cba8221411ab26ae/numpy-2.3.5-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:acfd89508504a19ed06ef963ad544ec6664518c863436306153e13e94605c218", size = 12528324, upload-time = "2025-11-16T22:49:22.582Z" },
+ { url = "https://files.pythonhosted.org/packages/4d/1a/e85f0eea4cf03d6a0228f5c0256b53f2df4bc794706e7df019fc622e47f1/numpy-2.3.5-cp311-cp311-macosx_14_0_arm64.whl", hash = "sha256:ffe22d2b05504f786c867c8395de703937f934272eb67586817b46188b4ded6d", size = 5356872, upload-time = "2025-11-16T22:49:25.408Z" },
+ { url = "https://files.pythonhosted.org/packages/5c/bb/35ef04afd567f4c989c2060cde39211e4ac5357155c1833bcd1166055c61/numpy-2.3.5-cp311-cp311-macosx_14_0_x86_64.whl", hash = "sha256:872a5cf366aec6bb1147336480fef14c9164b154aeb6542327de4970282cd2f5", size = 6893148, upload-time = "2025-11-16T22:49:27.549Z" },
+ { url = "https://files.pythonhosted.org/packages/f2/2b/05bbeb06e2dff5eab512dfc678b1cc5ee94d8ac5956a0885c64b6b26252b/numpy-2.3.5-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:3095bdb8dd297e5920b010e96134ed91d852d81d490e787beca7e35ae1d89cf7", size = 14557282, upload-time = "2025-11-16T22:49:30.964Z" },
+ { url = "https://files.pythonhosted.org/packages/65/fb/2b23769462b34398d9326081fad5655198fcf18966fcb1f1e49db44fbf31/numpy-2.3.5-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:8cba086a43d54ca804ce711b2a940b16e452807acebe7852ff327f1ecd49b0d4", size = 16897903, upload-time = "2025-11-16T22:49:34.191Z" },
+ { url = "https://files.pythonhosted.org/packages/ac/14/085f4cf05fc3f1e8aa95e85404e984ffca9b2275a5dc2b1aae18a67538b8/numpy-2.3.5-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:6cf9b429b21df6b99f4dee7a1218b8b7ffbbe7df8764dc0bd60ce8a0708fed1e", size = 16341672, upload-time = "2025-11-16T22:49:37.2Z" },
+ { url = "https://files.pythonhosted.org/packages/6f/3b/1f73994904142b2aa290449b3bb99772477b5fd94d787093e4f24f5af763/numpy-2.3.5-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:396084a36abdb603546b119d96528c2f6263921c50df3c8fd7cb28873a237748", size = 18838896, upload-time = "2025-11-16T22:49:39.727Z" },
+ { url = "https://files.pythonhosted.org/packages/cd/b9/cf6649b2124f288309ffc353070792caf42ad69047dcc60da85ee85fea58/numpy-2.3.5-cp311-cp311-win32.whl", hash = "sha256:b0c7088a73aef3d687c4deef8452a3ac7c1be4e29ed8bf3b366c8111128ac60c", size = 6563608, upload-time = "2025-11-16T22:49:42.079Z" },
+ { url = "https://files.pythonhosted.org/packages/aa/44/9fe81ae1dcc29c531843852e2874080dc441338574ccc4306b39e2ff6e59/numpy-2.3.5-cp311-cp311-win_amd64.whl", hash = "sha256:a414504bef8945eae5f2d7cb7be2d4af77c5d1cb5e20b296c2c25b61dff2900c", size = 13078442, upload-time = "2025-11-16T22:49:43.99Z" },
+ { url = "https://files.pythonhosted.org/packages/6d/a7/f99a41553d2da82a20a2f22e93c94f928e4490bb447c9ff3c4ff230581d3/numpy-2.3.5-cp311-cp311-win_arm64.whl", hash = "sha256:0cd00b7b36e35398fa2d16af7b907b65304ef8bb4817a550e06e5012929830fa", size = 10458555, upload-time = "2025-11-16T22:49:47.092Z" },
+ { url = "https://files.pythonhosted.org/packages/44/37/e669fe6cbb2b96c62f6bbedc6a81c0f3b7362f6a59230b23caa673a85721/numpy-2.3.5-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:74ae7b798248fe62021dbf3c914245ad45d1a6b0cb4a29ecb4b31d0bfbc4cc3e", size = 16733873, upload-time = "2025-11-16T22:49:49.84Z" },
+ { url = "https://files.pythonhosted.org/packages/c5/65/df0db6c097892c9380851ab9e44b52d4f7ba576b833996e0080181c0c439/numpy-2.3.5-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:ee3888d9ff7c14604052b2ca5535a30216aa0a58e948cdd3eeb8d3415f638769", size = 12259838, upload-time = "2025-11-16T22:49:52.863Z" },
+ { url = "https://files.pythonhosted.org/packages/5b/e1/1ee06e70eb2136797abe847d386e7c0e830b67ad1d43f364dd04fa50d338/numpy-2.3.5-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:612a95a17655e213502f60cfb9bf9408efdc9eb1d5f50535cc6eb365d11b42b5", size = 5088378, upload-time = "2025-11-16T22:49:55.055Z" },
+ { url = "https://files.pythonhosted.org/packages/6d/9c/1ca85fb86708724275103b81ec4cf1ac1d08f465368acfc8da7ab545bdae/numpy-2.3.5-cp312-cp312-macosx_14_0_x86_64.whl", hash = "sha256:3101e5177d114a593d79dd79658650fe28b5a0d8abeb8ce6f437c0e6df5be1a4", size = 6628559, upload-time = "2025-11-16T22:49:57.371Z" },
+ { url = "https://files.pythonhosted.org/packages/74/78/fcd41e5a0ce4f3f7b003da85825acddae6d7ecb60cf25194741b036ca7d6/numpy-2.3.5-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:8b973c57ff8e184109db042c842423ff4f60446239bd585a5131cc47f06f789d", size = 14250702, upload-time = "2025-11-16T22:49:59.632Z" },
+ { url = "https://files.pythonhosted.org/packages/b6/23/2a1b231b8ff672b4c450dac27164a8b2ca7d9b7144f9c02d2396518352eb/numpy-2.3.5-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:0d8163f43acde9a73c2a33605353a4f1bc4798745a8b1d73183b28e5b435ae28", size = 16606086, upload-time = "2025-11-16T22:50:02.127Z" },
+ { url = "https://files.pythonhosted.org/packages/a0/c5/5ad26fbfbe2012e190cc7d5003e4d874b88bb18861d0829edc140a713021/numpy-2.3.5-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:51c1e14eb1e154ebd80e860722f9e6ed6ec89714ad2db2d3aa33c31d7c12179b", size = 16025985, upload-time = "2025-11-16T22:50:04.536Z" },
+ { url = "https://files.pythonhosted.org/packages/d2/fa/dd48e225c46c819288148d9d060b047fd2a6fb1eb37eae25112ee4cb4453/numpy-2.3.5-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:b46b4ec24f7293f23adcd2d146960559aaf8020213de8ad1909dba6c013bf89c", size = 18542976, upload-time = "2025-11-16T22:50:07.557Z" },
+ { url = "https://files.pythonhosted.org/packages/05/79/ccbd23a75862d95af03d28b5c6901a1b7da4803181513d52f3b86ed9446e/numpy-2.3.5-cp312-cp312-win32.whl", hash = "sha256:3997b5b3c9a771e157f9aae01dd579ee35ad7109be18db0e85dbdbe1de06e952", size = 6285274, upload-time = "2025-11-16T22:50:10.746Z" },
+ { url = "https://files.pythonhosted.org/packages/2d/57/8aeaf160312f7f489dea47ab61e430b5cb051f59a98ae68b7133ce8fa06a/numpy-2.3.5-cp312-cp312-win_amd64.whl", hash = "sha256:86945f2ee6d10cdfd67bcb4069c1662dd711f7e2a4343db5cecec06b87cf31aa", size = 12782922, upload-time = "2025-11-16T22:50:12.811Z" },
+ { url = "https://files.pythonhosted.org/packages/78/a6/aae5cc2ca78c45e64b9ef22f089141d661516856cf7c8a54ba434576900d/numpy-2.3.5-cp312-cp312-win_arm64.whl", hash = "sha256:f28620fe26bee16243be2b7b874da327312240a7cdc38b769a697578d2100013", size = 10194667, upload-time = "2025-11-16T22:50:16.16Z" },
+ { url = "https://files.pythonhosted.org/packages/db/69/9cde09f36da4b5a505341180a3f2e6fadc352fd4d2b7096ce9778db83f1a/numpy-2.3.5-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:d0f23b44f57077c1ede8c5f26b30f706498b4862d3ff0a7298b8411dd2f043ff", size = 16728251, upload-time = "2025-11-16T22:50:19.013Z" },
+ { url = "https://files.pythonhosted.org/packages/79/fb/f505c95ceddd7027347b067689db71ca80bd5ecc926f913f1a23e65cf09b/numpy-2.3.5-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:aa5bc7c5d59d831d9773d1170acac7893ce3a5e130540605770ade83280e7188", size = 12254652, upload-time = "2025-11-16T22:50:21.487Z" },
+ { url = "https://files.pythonhosted.org/packages/78/da/8c7738060ca9c31b30e9301ee0cf6c5ffdbf889d9593285a1cead337f9a5/numpy-2.3.5-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:ccc933afd4d20aad3c00bcef049cb40049f7f196e0397f1109dba6fed63267b0", size = 5083172, upload-time = "2025-11-16T22:50:24.562Z" },
+ { url = "https://files.pythonhosted.org/packages/a4/b4/ee5bb2537fb9430fd2ef30a616c3672b991a4129bb1c7dcc42aa0abbe5d7/numpy-2.3.5-cp313-cp313-macosx_14_0_x86_64.whl", hash = "sha256:afaffc4393205524af9dfa400fa250143a6c3bc646c08c9f5e25a9f4b4d6a903", size = 6622990, upload-time = "2025-11-16T22:50:26.47Z" },
+ { url = "https://files.pythonhosted.org/packages/95/03/dc0723a013c7d7c19de5ef29e932c3081df1c14ba582b8b86b5de9db7f0f/numpy-2.3.5-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:9c75442b2209b8470d6d5d8b1c25714270686f14c749028d2199c54e29f20b4d", size = 14248902, upload-time = "2025-11-16T22:50:28.861Z" },
+ { url = "https://files.pythonhosted.org/packages/f5/10/ca162f45a102738958dcec8023062dad0cbc17d1ab99d68c4e4a6c45fb2b/numpy-2.3.5-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:11e06aa0af8c0f05104d56450d6093ee639e15f24ecf62d417329d06e522e017", size = 16597430, upload-time = "2025-11-16T22:50:31.56Z" },
+ { url = "https://files.pythonhosted.org/packages/2a/51/c1e29be863588db58175175f057286900b4b3327a1351e706d5e0f8dd679/numpy-2.3.5-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:ed89927b86296067b4f81f108a2271d8926467a8868e554eaf370fc27fa3ccaf", size = 16024551, upload-time = "2025-11-16T22:50:34.242Z" },
+ { url = "https://files.pythonhosted.org/packages/83/68/8236589d4dbb87253d28259d04d9b814ec0ecce7cb1c7fed29729f4c3a78/numpy-2.3.5-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:51c55fe3451421f3a6ef9a9c1439e82101c57a2c9eab9feb196a62b1a10b58ce", size = 18533275, upload-time = "2025-11-16T22:50:37.651Z" },
+ { url = "https://files.pythonhosted.org/packages/40/56/2932d75b6f13465239e3b7b7e511be27f1b8161ca2510854f0b6e521c395/numpy-2.3.5-cp313-cp313-win32.whl", hash = "sha256:1978155dd49972084bd6ef388d66ab70f0c323ddee6f693d539376498720fb7e", size = 6277637, upload-time = "2025-11-16T22:50:40.11Z" },
+ { url = "https://files.pythonhosted.org/packages/0c/88/e2eaa6cffb115b85ed7c7c87775cb8bcf0816816bc98ca8dbfa2ee33fe6e/numpy-2.3.5-cp313-cp313-win_amd64.whl", hash = "sha256:00dc4e846108a382c5869e77c6ed514394bdeb3403461d25a829711041217d5b", size = 12779090, upload-time = "2025-11-16T22:50:42.503Z" },
+ { url = "https://files.pythonhosted.org/packages/8f/88/3f41e13a44ebd4034ee17baa384acac29ba6a4fcc2aca95f6f08ca0447d1/numpy-2.3.5-cp313-cp313-win_arm64.whl", hash = "sha256:0472f11f6ec23a74a906a00b48a4dcf3849209696dff7c189714511268d103ae", size = 10194710, upload-time = "2025-11-16T22:50:44.971Z" },
+ { url = "https://files.pythonhosted.org/packages/13/cb/71744144e13389d577f867f745b7df2d8489463654a918eea2eeb166dfc9/numpy-2.3.5-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:414802f3b97f3c1eef41e530aaba3b3c1620649871d8cb38c6eaff034c2e16bd", size = 16827292, upload-time = "2025-11-16T22:50:47.715Z" },
+ { url = "https://files.pythonhosted.org/packages/71/80/ba9dc6f2a4398e7f42b708a7fdc841bb638d353be255655498edbf9a15a8/numpy-2.3.5-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:5ee6609ac3604fa7780e30a03e5e241a7956f8e2fcfe547d51e3afa5247ac47f", size = 12378897, upload-time = "2025-11-16T22:50:51.327Z" },
+ { url = "https://files.pythonhosted.org/packages/2e/6d/db2151b9f64264bcceccd51741aa39b50150de9b602d98ecfe7e0c4bff39/numpy-2.3.5-cp313-cp313t-macosx_14_0_arm64.whl", hash = "sha256:86d835afea1eaa143012a2d7a3f45a3adce2d7adc8b4961f0b362214d800846a", size = 5207391, upload-time = "2025-11-16T22:50:54.542Z" },
+ { url = "https://files.pythonhosted.org/packages/80/ae/429bacace5ccad48a14c4ae5332f6aa8ab9f69524193511d60ccdfdc65fa/numpy-2.3.5-cp313-cp313t-macosx_14_0_x86_64.whl", hash = "sha256:30bc11310e8153ca664b14c5f1b73e94bd0503681fcf136a163de856f3a50139", size = 6721275, upload-time = "2025-11-16T22:50:56.794Z" },
+ { url = "https://files.pythonhosted.org/packages/74/5b/1919abf32d8722646a38cd527bc3771eb229a32724ee6ba340ead9b92249/numpy-2.3.5-cp313-cp313t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:1062fde1dcf469571705945b0f221b73928f34a20c904ffb45db101907c3454e", size = 14306855, upload-time = "2025-11-16T22:50:59.208Z" },
+ { url = "https://files.pythonhosted.org/packages/a5/87/6831980559434973bebc30cd9c1f21e541a0f2b0c280d43d3afd909b66d0/numpy-2.3.5-cp313-cp313t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:ce581db493ea1a96c0556360ede6607496e8bf9b3a8efa66e06477267bc831e9", size = 16657359, upload-time = "2025-11-16T22:51:01.991Z" },
+ { url = "https://files.pythonhosted.org/packages/dd/91/c797f544491ee99fd00495f12ebb7802c440c1915811d72ac5b4479a3356/numpy-2.3.5-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:cc8920d2ec5fa99875b670bb86ddeb21e295cb07aa331810d9e486e0b969d946", size = 16093374, upload-time = "2025-11-16T22:51:05.291Z" },
+ { url = "https://files.pythonhosted.org/packages/74/a6/54da03253afcbe7a72785ec4da9c69fb7a17710141ff9ac5fcb2e32dbe64/numpy-2.3.5-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:9ee2197ef8c4f0dfe405d835f3b6a14f5fee7782b5de51ba06fb65fc9b36e9f1", size = 18594587, upload-time = "2025-11-16T22:51:08.585Z" },
+ { url = "https://files.pythonhosted.org/packages/80/e9/aff53abbdd41b0ecca94285f325aff42357c6b5abc482a3fcb4994290b18/numpy-2.3.5-cp313-cp313t-win32.whl", hash = "sha256:70b37199913c1bd300ff6e2693316c6f869c7ee16378faf10e4f5e3275b299c3", size = 6405940, upload-time = "2025-11-16T22:51:11.541Z" },
+ { url = "https://files.pythonhosted.org/packages/d5/81/50613fec9d4de5480de18d4f8ef59ad7e344d497edbef3cfd80f24f98461/numpy-2.3.5-cp313-cp313t-win_amd64.whl", hash = "sha256:b501b5fa195cc9e24fe102f21ec0a44dffc231d2af79950b451e0d99cea02234", size = 12920341, upload-time = "2025-11-16T22:51:14.312Z" },
+ { url = "https://files.pythonhosted.org/packages/bb/ab/08fd63b9a74303947f34f0bd7c5903b9c5532c2d287bead5bdf4c556c486/numpy-2.3.5-cp313-cp313t-win_arm64.whl", hash = "sha256:a80afd79f45f3c4a7d341f13acbe058d1ca8ac017c165d3fa0d3de6bc1a079d7", size = 10262507, upload-time = "2025-11-16T22:51:16.846Z" },
+ { url = "https://files.pythonhosted.org/packages/c6/65/f9dea8e109371ade9c782b4e4756a82edf9d3366bca495d84d79859a0b79/numpy-2.3.5-pp311-pypy311_pp73-macosx_10_15_x86_64.whl", hash = "sha256:f0963b55cdd70fad460fa4c1341f12f976bb26cb66021a5580329bd498988310", size = 16910689, upload-time = "2025-11-16T22:52:23.247Z" },
+ { url = "https://files.pythonhosted.org/packages/00/4f/edb00032a8fb92ec0a679d3830368355da91a69cab6f3e9c21b64d0bb986/numpy-2.3.5-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:f4255143f5160d0de972d28c8f9665d882b5f61309d8362fdd3e103cf7bf010c", size = 12457053, upload-time = "2025-11-16T22:52:26.367Z" },
+ { url = "https://files.pythonhosted.org/packages/16/a4/e8a53b5abd500a63836a29ebe145fc1ab1f2eefe1cfe59276020373ae0aa/numpy-2.3.5-pp311-pypy311_pp73-macosx_14_0_arm64.whl", hash = "sha256:a4b9159734b326535f4dd01d947f919c6eefd2d9827466a696c44ced82dfbc18", size = 5285635, upload-time = "2025-11-16T22:52:29.266Z" },
+ { url = "https://files.pythonhosted.org/packages/a3/2f/37eeb9014d9c8b3e9c55bc599c68263ca44fdbc12a93e45a21d1d56df737/numpy-2.3.5-pp311-pypy311_pp73-macosx_14_0_x86_64.whl", hash = "sha256:2feae0d2c91d46e59fcd62784a3a83b3fb677fead592ce51b5a6fbb4f95965ff", size = 6801770, upload-time = "2025-11-16T22:52:31.421Z" },
+ { url = "https://files.pythonhosted.org/packages/7d/e4/68d2f474df2cb671b2b6c2986a02e520671295647dad82484cde80ca427b/numpy-2.3.5-pp311-pypy311_pp73-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:ffac52f28a7849ad7576293c0cb7b9f08304e8f7d738a8cb8a90ec4c55a998eb", size = 14391768, upload-time = "2025-11-16T22:52:33.593Z" },
+ { url = "https://files.pythonhosted.org/packages/b8/50/94ccd8a2b141cb50651fddd4f6a48874acb3c91c8f0842b08a6afc4b0b21/numpy-2.3.5-pp311-pypy311_pp73-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:63c0e9e7eea69588479ebf4a8a270d5ac22763cc5854e9a7eae952a3908103f7", size = 16729263, upload-time = "2025-11-16T22:52:36.369Z" },
+ { url = "https://files.pythonhosted.org/packages/2d/ee/346fa473e666fe14c52fcdd19ec2424157290a032d4c41f98127bfb31ac7/numpy-2.3.5-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:f16417ec91f12f814b10bafe79ef77e70113a2f5f7018640e7425ff979253425", size = 12967213, upload-time = "2025-11-16T22:52:39.38Z" },
+]
+
+[[package]]
+name = "nvidia-cublas-cu12"
+version = "12.6.4.1"
+source = { registry = "https://pypi.org/simple" }
+resolution-markers = [
+ "(python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform != 'darwin') or (python_full_version >= '3.13' and platform_machine == 'arm64' and sys_platform != 'darwin')",
+ "(python_full_version == '3.12.*' and platform_machine == 'aarch64' and sys_platform != 'darwin') or (python_full_version == '3.12.*' and platform_machine == 'arm64' and sys_platform != 'darwin')",
+ "(python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform != 'darwin') or (python_full_version == '3.11.*' and platform_machine == 'arm64' and sys_platform != 'darwin')",
+ "(python_full_version >= '3.13' and platform_machine == 'AMD64') or (python_full_version >= '3.13' and platform_machine == 'x86_64')",
+ "(python_full_version == '3.12.*' and platform_machine == 'AMD64') or (python_full_version == '3.12.*' and platform_machine == 'x86_64')",
+ "(python_full_version == '3.11.*' and platform_machine == 'AMD64') or (python_full_version == '3.11.*' and platform_machine == 'x86_64')",
+ "(python_full_version < '3.11' and platform_machine == 'aarch64' and sys_platform != 'darwin') or (python_full_version < '3.11' and platform_machine == 'arm64' and sys_platform != 'darwin')",
+ "(python_full_version < '3.11' and platform_machine == 'AMD64') or (python_full_version < '3.11' and platform_machine == 'x86_64')",
+ "python_full_version >= '3.13' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64'",
+ "python_full_version == '3.12.*' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64'",
+ "python_full_version == '3.11.*' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64'",
+ "python_full_version < '3.11' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64'",
+]
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/af/eb/ff4b8c503fa1f1796679dce648854d58751982426e4e4b37d6fce49d259c/nvidia_cublas_cu12-12.6.4.1-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:08ed2686e9875d01b58e3cb379c6896df8e76c75e0d4a7f7dace3d7b6d9ef8eb", size = 393138322, upload-time = "2024-11-20T17:40:25.65Z" },
+ { url = "https://files.pythonhosted.org/packages/97/0d/f1f0cadbf69d5b9ef2e4f744c9466cb0a850741d08350736dfdb4aa89569/nvidia_cublas_cu12-12.6.4.1-py3-none-manylinux_2_27_aarch64.whl", hash = "sha256:235f728d6e2a409eddf1df58d5b0921cf80cfa9e72b9f2775ccb7b4a87984668", size = 390794615, upload-time = "2024-11-20T17:39:52.715Z" },
+ { url = "https://files.pythonhosted.org/packages/84/f7/985e9bdbe3e0ac9298fcc8cfa51a392862a46a0ffaccbbd56939b62a9c83/nvidia_cublas_cu12-12.6.4.1-py3-none-win_amd64.whl", hash = "sha256:9e4fa264f4d8a4eb0cdbd34beadc029f453b3bafae02401e999cf3d5a5af75f8", size = 434535301, upload-time = "2024-11-20T17:50:41.681Z" },
+]
+
+[[package]]
+name = "nvidia-cublas-cu12"
+version = "12.8.4.1"
+source = { registry = "https://pypi.org/simple" }
+resolution-markers = [
+ "(python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform != 'darwin') or (python_full_version >= '3.13' and platform_machine == 'arm64' and sys_platform != 'darwin')",
+ "(python_full_version == '3.12.*' and platform_machine == 'aarch64' and sys_platform != 'darwin') or (python_full_version == '3.12.*' and platform_machine == 'arm64' and sys_platform != 'darwin')",
+ "(python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform != 'darwin') or (python_full_version == '3.11.*' and platform_machine == 'arm64' and sys_platform != 'darwin')",
+ "(python_full_version >= '3.13' and platform_machine == 'AMD64') or (python_full_version >= '3.13' and platform_machine == 'x86_64')",
+ "(python_full_version == '3.12.*' and platform_machine == 'AMD64') or (python_full_version == '3.12.*' and platform_machine == 'x86_64')",
+ "(python_full_version == '3.11.*' and platform_machine == 'AMD64') or (python_full_version == '3.11.*' and platform_machine == 'x86_64')",
+ "(python_full_version < '3.11' and platform_machine == 'aarch64' and sys_platform != 'darwin') or (python_full_version < '3.11' and platform_machine == 'arm64' and sys_platform != 'darwin')",
+ "(python_full_version < '3.11' and platform_machine == 'AMD64') or (python_full_version < '3.11' and platform_machine == 'x86_64')",
+ "python_full_version >= '3.13' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64'",
+ "python_full_version == '3.12.*' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64'",
+ "python_full_version == '3.11.*' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64'",
+ "python_full_version < '3.11' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64'",
+]
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/29/99/db44d685f0e257ff0e213ade1964fc459b4a690a73293220e98feb3307cf/nvidia_cublas_cu12-12.8.4.1-py3-none-manylinux_2_27_aarch64.whl", hash = "sha256:b86f6dd8935884615a0683b663891d43781b819ac4f2ba2b0c9604676af346d0", size = 590537124, upload-time = "2025-03-07T01:43:53.556Z" },
+ { url = "https://files.pythonhosted.org/packages/dc/61/e24b560ab2e2eaeb3c839129175fb330dfcfc29e5203196e5541a4c44682/nvidia_cublas_cu12-12.8.4.1-py3-none-manylinux_2_27_x86_64.whl", hash = "sha256:8ac4e771d5a348c551b2a426eda6193c19aa630236b418086020df5ba9667142", size = 594346921, upload-time = "2025-03-07T01:44:31.254Z" },
+ { url = "https://files.pythonhosted.org/packages/70/61/7d7b3c70186fb651d0fbd35b01dbfc8e755f69fd58f817f3d0f642df20c3/nvidia_cublas_cu12-12.8.4.1-py3-none-win_amd64.whl", hash = "sha256:47e9b82132fa8d2b4944e708049229601448aaad7e6f296f630f2d1a32de35af", size = 567544208, upload-time = "2025-03-07T01:53:30.535Z" },
+]
+
+[[package]]
+name = "nvidia-cublas-cu12"
+version = "12.9.1.4"
+source = { registry = "https://pypi.org/simple" }
+resolution-markers = [
+ "(python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform != 'darwin' and sys_platform != 'win32') or (python_full_version >= '3.13' and platform_machine == 'arm64' and sys_platform != 'darwin' and sys_platform != 'win32')",
+ "(python_full_version == '3.12.*' and platform_machine == 'aarch64' and sys_platform != 'darwin' and sys_platform != 'win32') or (python_full_version == '3.12.*' and platform_machine == 'arm64' and sys_platform != 'darwin' and sys_platform != 'win32')",
+ "(python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform != 'darwin' and sys_platform != 'win32') or (python_full_version == '3.11.*' and platform_machine == 'arm64' and sys_platform != 'darwin' and sys_platform != 'win32')",
+ "python_full_version >= '3.13' and platform_machine == 'x86_64' and sys_platform == 'linux'",
+ "python_full_version == '3.12.*' and platform_machine == 'x86_64' and sys_platform == 'linux'",
+ "python_full_version == '3.11.*' and platform_machine == 'x86_64' and sys_platform == 'linux'",
+ "(python_full_version >= '3.13' and platform_machine == 'AMD64' and sys_platform == 'linux') or (python_full_version >= '3.13' and platform_machine == 'AMD64' and sys_platform != 'darwin' and sys_platform != 'win32') or (python_full_version >= '3.13' and platform_machine == 'x86_64' and sys_platform != 'darwin' and sys_platform != 'linux' and sys_platform != 'win32')",
+ "(python_full_version == '3.12.*' and platform_machine == 'AMD64' and sys_platform == 'linux') or (python_full_version == '3.12.*' and platform_machine == 'AMD64' and sys_platform != 'darwin' and sys_platform != 'win32') or (python_full_version == '3.12.*' and platform_machine == 'x86_64' and sys_platform != 'darwin' and sys_platform != 'linux' and sys_platform != 'win32')",
+ "(python_full_version == '3.11.*' and platform_machine == 'AMD64' and sys_platform == 'linux') or (python_full_version == '3.11.*' and platform_machine == 'AMD64' and sys_platform != 'darwin' and sys_platform != 'win32') or (python_full_version == '3.11.*' and platform_machine == 'x86_64' and sys_platform != 'darwin' and sys_platform != 'linux' and sys_platform != 'win32')",
+ "(python_full_version < '3.11' and platform_machine == 'aarch64' and sys_platform != 'darwin' and sys_platform != 'win32') or (python_full_version < '3.11' and platform_machine == 'arm64' and sys_platform != 'darwin' and sys_platform != 'win32')",
+ "python_full_version < '3.11' and platform_machine == 'x86_64' and sys_platform == 'linux'",
+ "(python_full_version < '3.11' and platform_machine == 'AMD64' and sys_platform == 'linux') or (python_full_version < '3.11' and platform_machine == 'AMD64' and sys_platform != 'darwin' and sys_platform != 'win32') or (python_full_version < '3.11' and platform_machine == 'x86_64' and sys_platform != 'darwin' and sys_platform != 'linux' and sys_platform != 'win32')",
+ "python_full_version >= '3.13' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and sys_platform != 'darwin'",
+ "python_full_version == '3.12.*' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and sys_platform != 'darwin'",
+ "python_full_version == '3.11.*' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and sys_platform != 'darwin'",
+ "python_full_version < '3.11' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and sys_platform != 'darwin'",
+]
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/82/6c/90d3f532f608a03a13c1d6c16c266ffa3828e8011b1549d3b61db2ad59f5/nvidia_cublas_cu12-12.9.1.4-py3-none-manylinux_2_27_aarch64.whl", hash = "sha256:7a950dae01add3b415a5a5cdc4ec818fb5858263e9cca59004bb99fdbbd3a5d6", size = 575006342, upload-time = "2025-06-05T20:04:16.902Z" },
+ { url = "https://files.pythonhosted.org/packages/77/3c/aa88abe01f3be3d1f8f787d1d33dc83e76fec05945f9a28fbb41cfb99cd5/nvidia_cublas_cu12-12.9.1.4-py3-none-manylinux_2_27_x86_64.whl", hash = "sha256:453611eb21a7c1f2c2156ed9f3a45b691deda0440ec550860290dc901af5b4c2", size = 581242350, upload-time = "2025-06-05T20:04:51.979Z" },
+ { url = "https://files.pythonhosted.org/packages/45/a1/a17fade6567c57452cfc8f967a40d1035bb9301db52f27808167fbb2be2f/nvidia_cublas_cu12-12.9.1.4-py3-none-win_amd64.whl", hash = "sha256:1e5fee10662e6e52bd71dec533fbbd4971bb70a5f24f3bc3793e5c2e9dc640bf", size = 553153899, upload-time = "2025-06-05T20:13:35.556Z" },
+]
+
+[[package]]
+name = "nvidia-cuda-cupti-cu12"
+version = "12.6.80"
+source = { registry = "https://pypi.org/simple" }
+resolution-markers = [
+ "(python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform != 'darwin') or (python_full_version >= '3.13' and platform_machine == 'arm64' and sys_platform != 'darwin')",
+ "(python_full_version == '3.12.*' and platform_machine == 'aarch64' and sys_platform != 'darwin') or (python_full_version == '3.12.*' and platform_machine == 'arm64' and sys_platform != 'darwin')",
+ "(python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform != 'darwin') or (python_full_version == '3.11.*' and platform_machine == 'arm64' and sys_platform != 'darwin')",
+ "(python_full_version >= '3.13' and platform_machine == 'AMD64') or (python_full_version >= '3.13' and platform_machine == 'x86_64')",
+ "(python_full_version == '3.12.*' and platform_machine == 'AMD64') or (python_full_version == '3.12.*' and platform_machine == 'x86_64')",
+ "(python_full_version == '3.11.*' and platform_machine == 'AMD64') or (python_full_version == '3.11.*' and platform_machine == 'x86_64')",
+ "(python_full_version < '3.11' and platform_machine == 'aarch64' and sys_platform != 'darwin') or (python_full_version < '3.11' and platform_machine == 'arm64' and sys_platform != 'darwin')",
+ "(python_full_version < '3.11' and platform_machine == 'AMD64') or (python_full_version < '3.11' and platform_machine == 'x86_64')",
+ "python_full_version >= '3.13' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64'",
+ "python_full_version == '3.12.*' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64'",
+ "python_full_version == '3.11.*' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64'",
+ "python_full_version < '3.11' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64'",
+]
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/e6/8b/2f6230cb715646c3a9425636e513227ce5c93c4d65823a734f4bb86d43c3/nvidia_cuda_cupti_cu12-12.6.80-py3-none-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:166ee35a3ff1587f2490364f90eeeb8da06cd867bd5b701bf7f9a02b78bc63fc", size = 8236764, upload-time = "2024-11-20T17:35:41.03Z" },
+ { url = "https://files.pythonhosted.org/packages/25/0f/acb326ac8fd26e13c799e0b4f3b2751543e1834f04d62e729485872198d4/nvidia_cuda_cupti_cu12-12.6.80-py3-none-manylinux2014_aarch64.whl", hash = "sha256:358b4a1d35370353d52e12f0a7d1769fc01ff74a191689d3870b2123156184c4", size = 8236756, upload-time = "2024-10-01T16:57:45.507Z" },
+ { url = "https://files.pythonhosted.org/packages/49/60/7b6497946d74bcf1de852a21824d63baad12cd417db4195fc1bfe59db953/nvidia_cuda_cupti_cu12-12.6.80-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:6768bad6cab4f19e8292125e5f1ac8aa7d1718704012a0e3272a6f61c4bce132", size = 8917980, upload-time = "2024-11-20T17:36:04.019Z" },
+ { url = "https://files.pythonhosted.org/packages/a5/24/120ee57b218d9952c379d1e026c4479c9ece9997a4fb46303611ee48f038/nvidia_cuda_cupti_cu12-12.6.80-py3-none-manylinux2014_x86_64.whl", hash = "sha256:a3eff6cdfcc6a4c35db968a06fcadb061cbc7d6dde548609a941ff8701b98b73", size = 8917972, upload-time = "2024-10-01T16:58:06.036Z" },
+ { url = "https://files.pythonhosted.org/packages/1c/81/7796f096afaf726796b1b648f3bc80cafc61fe7f77f44a483c89e6c5ef34/nvidia_cuda_cupti_cu12-12.6.80-py3-none-win_amd64.whl", hash = "sha256:bbe6ae76e83ce5251b56e8c8e61a964f757175682bbad058b170b136266ab00a", size = 5724175, upload-time = "2024-10-01T17:09:47.955Z" },
+]
+
+[[package]]
+name = "nvidia-cuda-cupti-cu12"
+version = "12.8.90"
+source = { registry = "https://pypi.org/simple" }
+resolution-markers = [
+ "(python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform != 'darwin') or (python_full_version >= '3.13' and platform_machine == 'arm64' and sys_platform != 'darwin')",
+ "(python_full_version == '3.12.*' and platform_machine == 'aarch64' and sys_platform != 'darwin') or (python_full_version == '3.12.*' and platform_machine == 'arm64' and sys_platform != 'darwin')",
+ "(python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform != 'darwin') or (python_full_version == '3.11.*' and platform_machine == 'arm64' and sys_platform != 'darwin')",
+ "(python_full_version >= '3.13' and platform_machine == 'AMD64') or (python_full_version >= '3.13' and platform_machine == 'x86_64')",
+ "(python_full_version == '3.12.*' and platform_machine == 'AMD64') or (python_full_version == '3.12.*' and platform_machine == 'x86_64')",
+ "(python_full_version == '3.11.*' and platform_machine == 'AMD64') or (python_full_version == '3.11.*' and platform_machine == 'x86_64')",
+ "(python_full_version < '3.11' and platform_machine == 'aarch64' and sys_platform != 'darwin') or (python_full_version < '3.11' and platform_machine == 'arm64' and sys_platform != 'darwin')",
+ "(python_full_version < '3.11' and platform_machine == 'AMD64') or (python_full_version < '3.11' and platform_machine == 'x86_64')",
+ "python_full_version >= '3.13' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64'",
+ "python_full_version == '3.12.*' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64'",
+ "python_full_version == '3.11.*' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64'",
+ "python_full_version < '3.11' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64'",
+]
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/d5/1f/b3bd73445e5cb342727fd24fe1f7b748f690b460acadc27ea22f904502c8/nvidia_cuda_cupti_cu12-12.8.90-py3-none-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:4412396548808ddfed3f17a467b104ba7751e6b58678a4b840675c56d21cf7ed", size = 9533318, upload-time = "2025-03-07T01:40:10.421Z" },
+ { url = "https://files.pythonhosted.org/packages/f8/02/2adcaa145158bf1a8295d83591d22e4103dbfd821bcaf6f3f53151ca4ffa/nvidia_cuda_cupti_cu12-12.8.90-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:ea0cb07ebda26bb9b29ba82cda34849e73c166c18162d3913575b0c9db9a6182", size = 10248621, upload-time = "2025-03-07T01:40:21.213Z" },
+ { url = "https://files.pythonhosted.org/packages/41/bc/83f5426095d93694ae39fe1311431b5d5a9bb82e48bf0dd8e19be2765942/nvidia_cuda_cupti_cu12-12.8.90-py3-none-win_amd64.whl", hash = "sha256:bb479dcdf7e6d4f8b0b01b115260399bf34154a1a2e9fe11c85c517d87efd98e", size = 7015759, upload-time = "2025-03-07T01:51:11.355Z" },
+]
+
+[[package]]
+name = "nvidia-cuda-cupti-cu12"
+version = "12.9.79"
+source = { registry = "https://pypi.org/simple" }
+resolution-markers = [
+ "(python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform != 'darwin' and sys_platform != 'win32') or (python_full_version >= '3.13' and platform_machine == 'arm64' and sys_platform != 'darwin' and sys_platform != 'win32')",
+ "(python_full_version == '3.12.*' and platform_machine == 'aarch64' and sys_platform != 'darwin' and sys_platform != 'win32') or (python_full_version == '3.12.*' and platform_machine == 'arm64' and sys_platform != 'darwin' and sys_platform != 'win32')",
+ "(python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform != 'darwin' and sys_platform != 'win32') or (python_full_version == '3.11.*' and platform_machine == 'arm64' and sys_platform != 'darwin' and sys_platform != 'win32')",
+ "python_full_version >= '3.13' and platform_machine == 'x86_64' and sys_platform == 'linux'",
+ "python_full_version == '3.12.*' and platform_machine == 'x86_64' and sys_platform == 'linux'",
+ "python_full_version == '3.11.*' and platform_machine == 'x86_64' and sys_platform == 'linux'",
+ "(python_full_version >= '3.13' and platform_machine == 'AMD64' and sys_platform == 'linux') or (python_full_version >= '3.13' and platform_machine == 'AMD64' and sys_platform != 'darwin' and sys_platform != 'win32') or (python_full_version >= '3.13' and platform_machine == 'x86_64' and sys_platform != 'darwin' and sys_platform != 'linux' and sys_platform != 'win32')",
+ "(python_full_version == '3.12.*' and platform_machine == 'AMD64' and sys_platform == 'linux') or (python_full_version == '3.12.*' and platform_machine == 'AMD64' and sys_platform != 'darwin' and sys_platform != 'win32') or (python_full_version == '3.12.*' and platform_machine == 'x86_64' and sys_platform != 'darwin' and sys_platform != 'linux' and sys_platform != 'win32')",
+ "(python_full_version == '3.11.*' and platform_machine == 'AMD64' and sys_platform == 'linux') or (python_full_version == '3.11.*' and platform_machine == 'AMD64' and sys_platform != 'darwin' and sys_platform != 'win32') or (python_full_version == '3.11.*' and platform_machine == 'x86_64' and sys_platform != 'darwin' and sys_platform != 'linux' and sys_platform != 'win32')",
+ "(python_full_version < '3.11' and platform_machine == 'aarch64' and sys_platform != 'darwin' and sys_platform != 'win32') or (python_full_version < '3.11' and platform_machine == 'arm64' and sys_platform != 'darwin' and sys_platform != 'win32')",
+ "python_full_version < '3.11' and platform_machine == 'x86_64' and sys_platform == 'linux'",
+ "(python_full_version < '3.11' and platform_machine == 'AMD64' and sys_platform == 'linux') or (python_full_version < '3.11' and platform_machine == 'AMD64' and sys_platform != 'darwin' and sys_platform != 'win32') or (python_full_version < '3.11' and platform_machine == 'x86_64' and sys_platform != 'darwin' and sys_platform != 'linux' and sys_platform != 'win32')",
+ "python_full_version >= '3.13' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and sys_platform != 'darwin'",
+ "python_full_version == '3.12.*' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and sys_platform != 'darwin'",
+ "python_full_version == '3.11.*' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and sys_platform != 'darwin'",
+ "python_full_version < '3.11' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and sys_platform != 'darwin'",
+]
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/b4/78/351b5c8cdbd9a6b4fb0d6ee73fb176dcdc1b6b6ad47c2ffff5ae8ca4a1f7/nvidia_cuda_cupti_cu12-12.9.79-py3-none-manylinux_2_25_aarch64.whl", hash = "sha256:791853b030602c6a11d08b5578edfb957cadea06e9d3b26adbf8d036135a4afe", size = 10077166, upload-time = "2025-06-05T20:01:01.385Z" },
+ { url = "https://files.pythonhosted.org/packages/c1/2e/b84e32197e33f39907b455b83395a017e697c07a449a2b15fd07fc1c9981/nvidia_cuda_cupti_cu12-12.9.79-py3-none-manylinux_2_25_x86_64.whl", hash = "sha256:096bcf334f13e1984ba36685ad4c1d6347db214de03dbb6eebb237b41d9d934f", size = 10814997, upload-time = "2025-06-05T20:01:10.168Z" },
+ { url = "https://files.pythonhosted.org/packages/3b/b4/298983ab1a83de500f77d0add86d16d63b19d1a82c59f8eaf04f90445703/nvidia_cuda_cupti_cu12-12.9.79-py3-none-win_amd64.whl", hash = "sha256:1848a9380067560d5bee10ed240eecc22991713e672c0515f9c3d9396adf93c8", size = 7730496, upload-time = "2025-06-05T20:11:26.444Z" },
+]
+
+[[package]]
+name = "nvidia-cuda-nvrtc-cu12"
+version = "12.6.77"
+source = { registry = "https://pypi.org/simple" }
+resolution-markers = [
+ "(python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform != 'darwin') or (python_full_version >= '3.13' and platform_machine == 'arm64' and sys_platform != 'darwin')",
+ "(python_full_version == '3.12.*' and platform_machine == 'aarch64' and sys_platform != 'darwin') or (python_full_version == '3.12.*' and platform_machine == 'arm64' and sys_platform != 'darwin')",
+ "(python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform != 'darwin') or (python_full_version == '3.11.*' and platform_machine == 'arm64' and sys_platform != 'darwin')",
+ "(python_full_version >= '3.13' and platform_machine == 'AMD64') or (python_full_version >= '3.13' and platform_machine == 'x86_64')",
+ "(python_full_version == '3.12.*' and platform_machine == 'AMD64') or (python_full_version == '3.12.*' and platform_machine == 'x86_64')",
+ "(python_full_version == '3.11.*' and platform_machine == 'AMD64') or (python_full_version == '3.11.*' and platform_machine == 'x86_64')",
+ "(python_full_version < '3.11' and platform_machine == 'aarch64' and sys_platform != 'darwin') or (python_full_version < '3.11' and platform_machine == 'arm64' and sys_platform != 'darwin')",
+ "(python_full_version < '3.11' and platform_machine == 'AMD64') or (python_full_version < '3.11' and platform_machine == 'x86_64')",
+ "python_full_version >= '3.13' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64'",
+ "python_full_version == '3.12.*' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64'",
+ "python_full_version == '3.11.*' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64'",
+ "python_full_version < '3.11' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64'",
+]
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/f4/2f/72df534873235983cc0a5371c3661bebef7c4682760c275590b972c7b0f9/nvidia_cuda_nvrtc_cu12-12.6.77-py3-none-manylinux2014_aarch64.whl", hash = "sha256:5847f1d6e5b757f1d2b3991a01082a44aad6f10ab3c5c0213fa3e25bddc25a13", size = 23162955, upload-time = "2024-10-01T16:59:50.922Z" },
+ { url = "https://files.pythonhosted.org/packages/75/2e/46030320b5a80661e88039f59060d1790298b4718944a65a7f2aeda3d9e9/nvidia_cuda_nvrtc_cu12-12.6.77-py3-none-manylinux2014_x86_64.whl", hash = "sha256:35b0cc6ee3a9636d5409133e79273ce1f3fd087abb0532d2d2e8fff1fe9efc53", size = 23650380, upload-time = "2024-10-01T17:00:14.643Z" },
+ { url = "https://files.pythonhosted.org/packages/f5/46/d3a1cdda8bb113c80f43a0a6f3a853356d487b830f3483f92d49ce87fa55/nvidia_cuda_nvrtc_cu12-12.6.77-py3-none-win_amd64.whl", hash = "sha256:f7007dbd914c56bd80ea31bc43e8e149da38f68158f423ba845fc3292684e45a", size = 39026742, upload-time = "2024-10-01T17:10:49.058Z" },
+]
+
+[[package]]
+name = "nvidia-cuda-nvrtc-cu12"
+version = "12.8.93"
+source = { registry = "https://pypi.org/simple" }
+resolution-markers = [
+ "(python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform != 'darwin') or (python_full_version >= '3.13' and platform_machine == 'arm64' and sys_platform != 'darwin')",
+ "(python_full_version == '3.12.*' and platform_machine == 'aarch64' and sys_platform != 'darwin') or (python_full_version == '3.12.*' and platform_machine == 'arm64' and sys_platform != 'darwin')",
+ "(python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform != 'darwin') or (python_full_version == '3.11.*' and platform_machine == 'arm64' and sys_platform != 'darwin')",
+ "(python_full_version >= '3.13' and platform_machine == 'AMD64') or (python_full_version >= '3.13' and platform_machine == 'x86_64')",
+ "(python_full_version == '3.12.*' and platform_machine == 'AMD64') or (python_full_version == '3.12.*' and platform_machine == 'x86_64')",
+ "(python_full_version == '3.11.*' and platform_machine == 'AMD64') or (python_full_version == '3.11.*' and platform_machine == 'x86_64')",
+ "(python_full_version < '3.11' and platform_machine == 'aarch64' and sys_platform != 'darwin') or (python_full_version < '3.11' and platform_machine == 'arm64' and sys_platform != 'darwin')",
+ "(python_full_version < '3.11' and platform_machine == 'AMD64') or (python_full_version < '3.11' and platform_machine == 'x86_64')",
+ "python_full_version >= '3.13' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64'",
+ "python_full_version == '3.12.*' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64'",
+ "python_full_version == '3.11.*' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64'",
+ "python_full_version < '3.11' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64'",
+]
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/05/6b/32f747947df2da6994e999492ab306a903659555dddc0fbdeb9d71f75e52/nvidia_cuda_nvrtc_cu12-12.8.93-py3-none-manylinux2010_x86_64.manylinux_2_12_x86_64.whl", hash = "sha256:a7756528852ef889772a84c6cd89d41dfa74667e24cca16bb31f8f061e3e9994", size = 88040029, upload-time = "2025-03-07T01:42:13.562Z" },
+ { url = "https://files.pythonhosted.org/packages/eb/d1/e50d0acaab360482034b84b6e27ee83c6738f7d32182b987f9c7a4e32962/nvidia_cuda_nvrtc_cu12-12.8.93-py3-none-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:fc1fec1e1637854b4c0a65fb9a8346b51dd9ee69e61ebaccc82058441f15bce8", size = 43106076, upload-time = "2025-03-07T01:41:59.817Z" },
+ { url = "https://files.pythonhosted.org/packages/45/51/52a3d84baa2136cc8df15500ad731d74d3a1114d4c123e043cb608d4a32b/nvidia_cuda_nvrtc_cu12-12.8.93-py3-none-win_amd64.whl", hash = "sha256:7a4b6b2904850fe78e0bd179c4b655c404d4bb799ef03ddc60804247099ae909", size = 73586838, upload-time = "2025-03-07T01:52:13.483Z" },
+]
+
+[[package]]
+name = "nvidia-cuda-nvrtc-cu12"
+version = "12.9.86"
+source = { registry = "https://pypi.org/simple" }
+resolution-markers = [
+ "(python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform != 'darwin' and sys_platform != 'win32') or (python_full_version >= '3.13' and platform_machine == 'arm64' and sys_platform != 'darwin' and sys_platform != 'win32')",
+ "(python_full_version == '3.12.*' and platform_machine == 'aarch64' and sys_platform != 'darwin' and sys_platform != 'win32') or (python_full_version == '3.12.*' and platform_machine == 'arm64' and sys_platform != 'darwin' and sys_platform != 'win32')",
+ "(python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform != 'darwin' and sys_platform != 'win32') or (python_full_version == '3.11.*' and platform_machine == 'arm64' and sys_platform != 'darwin' and sys_platform != 'win32')",
+ "python_full_version >= '3.13' and platform_machine == 'x86_64' and sys_platform == 'linux'",
+ "python_full_version == '3.12.*' and platform_machine == 'x86_64' and sys_platform == 'linux'",
+ "python_full_version == '3.11.*' and platform_machine == 'x86_64' and sys_platform == 'linux'",
+ "(python_full_version >= '3.13' and platform_machine == 'AMD64' and sys_platform == 'linux') or (python_full_version >= '3.13' and platform_machine == 'AMD64' and sys_platform != 'darwin' and sys_platform != 'win32') or (python_full_version >= '3.13' and platform_machine == 'x86_64' and sys_platform != 'darwin' and sys_platform != 'linux' and sys_platform != 'win32')",
+ "(python_full_version == '3.12.*' and platform_machine == 'AMD64' and sys_platform == 'linux') or (python_full_version == '3.12.*' and platform_machine == 'AMD64' and sys_platform != 'darwin' and sys_platform != 'win32') or (python_full_version == '3.12.*' and platform_machine == 'x86_64' and sys_platform != 'darwin' and sys_platform != 'linux' and sys_platform != 'win32')",
+ "(python_full_version == '3.11.*' and platform_machine == 'AMD64' and sys_platform == 'linux') or (python_full_version == '3.11.*' and platform_machine == 'AMD64' and sys_platform != 'darwin' and sys_platform != 'win32') or (python_full_version == '3.11.*' and platform_machine == 'x86_64' and sys_platform != 'darwin' and sys_platform != 'linux' and sys_platform != 'win32')",
+ "(python_full_version < '3.11' and platform_machine == 'aarch64' and sys_platform != 'darwin' and sys_platform != 'win32') or (python_full_version < '3.11' and platform_machine == 'arm64' and sys_platform != 'darwin' and sys_platform != 'win32')",
+ "python_full_version < '3.11' and platform_machine == 'x86_64' and sys_platform == 'linux'",
+ "(python_full_version < '3.11' and platform_machine == 'AMD64' and sys_platform == 'linux') or (python_full_version < '3.11' and platform_machine == 'AMD64' and sys_platform != 'darwin' and sys_platform != 'win32') or (python_full_version < '3.11' and platform_machine == 'x86_64' and sys_platform != 'darwin' and sys_platform != 'linux' and sys_platform != 'win32')",
+ "python_full_version >= '3.13' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and sys_platform != 'darwin'",
+ "python_full_version == '3.12.*' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and sys_platform != 'darwin'",
+ "python_full_version == '3.11.*' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and sys_platform != 'darwin'",
+ "python_full_version < '3.11' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and sys_platform != 'darwin'",
+]
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/b8/85/e4af82cc9202023862090bfca4ea827d533329e925c758f0cde964cb54b7/nvidia_cuda_nvrtc_cu12-12.9.86-py3-none-manylinux2010_x86_64.manylinux_2_12_x86_64.whl", hash = "sha256:210cf05005a447e29214e9ce50851e83fc5f4358df8b453155d5e1918094dcb4", size = 89568129, upload-time = "2025-06-05T20:02:41.973Z" },
+ { url = "https://files.pythonhosted.org/packages/64/eb/c2295044b8f3b3b08860e2f6a912b702fc92568a167259df5dddb78f325e/nvidia_cuda_nvrtc_cu12-12.9.86-py3-none-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:096d4de6bda726415dfaf3198d4f5c522b8e70139c97feef5cd2ca6d4cd9cead", size = 44528905, upload-time = "2025-06-05T20:02:29.754Z" },
+ { url = "https://files.pythonhosted.org/packages/52/de/823919be3b9d0ccbf1f784035423c5f18f4267fb0123558d58b813c6ec86/nvidia_cuda_nvrtc_cu12-12.9.86-py3-none-win_amd64.whl", hash = "sha256:72972ebdcf504d69462d3bcd67e7b81edd25d0fb85a2c46d3ea3517666636349", size = 76408187, upload-time = "2025-06-05T20:12:27.819Z" },
+]
+
+[[package]]
+name = "nvidia-cuda-runtime-cu12"
+version = "12.6.77"
+source = { registry = "https://pypi.org/simple" }
+resolution-markers = [
+ "(python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform != 'darwin') or (python_full_version >= '3.13' and platform_machine == 'arm64' and sys_platform != 'darwin')",
+ "(python_full_version == '3.12.*' and platform_machine == 'aarch64' and sys_platform != 'darwin') or (python_full_version == '3.12.*' and platform_machine == 'arm64' and sys_platform != 'darwin')",
+ "(python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform != 'darwin') or (python_full_version == '3.11.*' and platform_machine == 'arm64' and sys_platform != 'darwin')",
+ "(python_full_version >= '3.13' and platform_machine == 'AMD64') or (python_full_version >= '3.13' and platform_machine == 'x86_64')",
+ "(python_full_version == '3.12.*' and platform_machine == 'AMD64') or (python_full_version == '3.12.*' and platform_machine == 'x86_64')",
+ "(python_full_version == '3.11.*' and platform_machine == 'AMD64') or (python_full_version == '3.11.*' and platform_machine == 'x86_64')",
+ "(python_full_version < '3.11' and platform_machine == 'aarch64' and sys_platform != 'darwin') or (python_full_version < '3.11' and platform_machine == 'arm64' and sys_platform != 'darwin')",
+ "(python_full_version < '3.11' and platform_machine == 'AMD64') or (python_full_version < '3.11' and platform_machine == 'x86_64')",
+ "python_full_version >= '3.13' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64'",
+ "python_full_version == '3.12.*' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64'",
+ "python_full_version == '3.11.*' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64'",
+ "python_full_version < '3.11' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64'",
+]
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/8f/ea/590b2ac00d772a8abd1c387a92b46486d2679ca6622fd25c18ff76265663/nvidia_cuda_runtime_cu12-12.6.77-py3-none-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:6116fad3e049e04791c0256a9778c16237837c08b27ed8c8401e2e45de8d60cd", size = 908052, upload-time = "2024-11-20T17:35:19.905Z" },
+ { url = "https://files.pythonhosted.org/packages/b7/3d/159023799677126e20c8fd580cca09eeb28d5c5a624adc7f793b9aa8bbfa/nvidia_cuda_runtime_cu12-12.6.77-py3-none-manylinux2014_aarch64.whl", hash = "sha256:d461264ecb429c84c8879a7153499ddc7b19b5f8d84c204307491989a365588e", size = 908040, upload-time = "2024-10-01T16:57:22.221Z" },
+ { url = "https://files.pythonhosted.org/packages/e1/23/e717c5ac26d26cf39a27fbc076240fad2e3b817e5889d671b67f4f9f49c5/nvidia_cuda_runtime_cu12-12.6.77-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:ba3b56a4f896141e25e19ab287cd71e52a6a0f4b29d0d31609f60e3b4d5219b7", size = 897690, upload-time = "2024-11-20T17:35:30.697Z" },
+ { url = "https://files.pythonhosted.org/packages/f0/62/65c05e161eeddbafeca24dc461f47de550d9fa8a7e04eb213e32b55cfd99/nvidia_cuda_runtime_cu12-12.6.77-py3-none-manylinux2014_x86_64.whl", hash = "sha256:a84d15d5e1da416dd4774cb42edf5e954a3e60cc945698dc1d5be02321c44dc8", size = 897678, upload-time = "2024-10-01T16:57:33.821Z" },
+ { url = "https://files.pythonhosted.org/packages/fa/76/4c80fa138333cc975743fd0687a745fccb30d167f906f13c1c7f9a85e5ea/nvidia_cuda_runtime_cu12-12.6.77-py3-none-win_amd64.whl", hash = "sha256:86c58044c824bf3c173c49a2dbc7a6c8b53cb4e4dca50068be0bf64e9dab3f7f", size = 891773, upload-time = "2024-10-01T17:09:26.362Z" },
+]
+
+[[package]]
+name = "nvidia-cuda-runtime-cu12"
+version = "12.8.90"
+source = { registry = "https://pypi.org/simple" }
+resolution-markers = [
+ "(python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform != 'darwin') or (python_full_version >= '3.13' and platform_machine == 'arm64' and sys_platform != 'darwin')",
+ "(python_full_version == '3.12.*' and platform_machine == 'aarch64' and sys_platform != 'darwin') or (python_full_version == '3.12.*' and platform_machine == 'arm64' and sys_platform != 'darwin')",
+ "(python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform != 'darwin') or (python_full_version == '3.11.*' and platform_machine == 'arm64' and sys_platform != 'darwin')",
+ "(python_full_version >= '3.13' and platform_machine == 'AMD64') or (python_full_version >= '3.13' and platform_machine == 'x86_64')",
+ "(python_full_version == '3.12.*' and platform_machine == 'AMD64') or (python_full_version == '3.12.*' and platform_machine == 'x86_64')",
+ "(python_full_version == '3.11.*' and platform_machine == 'AMD64') or (python_full_version == '3.11.*' and platform_machine == 'x86_64')",
+ "(python_full_version < '3.11' and platform_machine == 'aarch64' and sys_platform != 'darwin') or (python_full_version < '3.11' and platform_machine == 'arm64' and sys_platform != 'darwin')",
+ "(python_full_version < '3.11' and platform_machine == 'AMD64') or (python_full_version < '3.11' and platform_machine == 'x86_64')",
+ "python_full_version >= '3.13' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64'",
+ "python_full_version == '3.12.*' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64'",
+ "python_full_version == '3.11.*' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64'",
+ "python_full_version < '3.11' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64'",
+]
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/7c/75/f865a3b236e4647605ea34cc450900854ba123834a5f1598e160b9530c3a/nvidia_cuda_runtime_cu12-12.8.90-py3-none-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:52bf7bbee900262ffefe5e9d5a2a69a30d97e2bc5bb6cc866688caa976966e3d", size = 965265, upload-time = "2025-03-07T01:39:43.533Z" },
+ { url = "https://files.pythonhosted.org/packages/0d/9b/a997b638fcd068ad6e4d53b8551a7d30fe8b404d6f1804abf1df69838932/nvidia_cuda_runtime_cu12-12.8.90-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:adade8dcbd0edf427b7204d480d6066d33902cab2a4707dcfc48a2d0fd44ab90", size = 954765, upload-time = "2025-03-07T01:40:01.615Z" },
+ { url = "https://files.pythonhosted.org/packages/30/a5/a515b7600ad361ea14bfa13fb4d6687abf500adc270f19e89849c0590492/nvidia_cuda_runtime_cu12-12.8.90-py3-none-win_amd64.whl", hash = "sha256:c0c6027f01505bfed6c3b21ec546f69c687689aad5f1a377554bc6ca4aa993a8", size = 944318, upload-time = "2025-03-07T01:51:01.794Z" },
+]
+
+[[package]]
+name = "nvidia-cuda-runtime-cu12"
+version = "12.9.79"
+source = { registry = "https://pypi.org/simple" }
+resolution-markers = [
+ "(python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform != 'darwin' and sys_platform != 'win32') or (python_full_version >= '3.13' and platform_machine == 'arm64' and sys_platform != 'darwin' and sys_platform != 'win32')",
+ "(python_full_version == '3.12.*' and platform_machine == 'aarch64' and sys_platform != 'darwin' and sys_platform != 'win32') or (python_full_version == '3.12.*' and platform_machine == 'arm64' and sys_platform != 'darwin' and sys_platform != 'win32')",
+ "(python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform != 'darwin' and sys_platform != 'win32') or (python_full_version == '3.11.*' and platform_machine == 'arm64' and sys_platform != 'darwin' and sys_platform != 'win32')",
+ "python_full_version >= '3.13' and platform_machine == 'x86_64' and sys_platform == 'linux'",
+ "python_full_version == '3.12.*' and platform_machine == 'x86_64' and sys_platform == 'linux'",
+ "python_full_version == '3.11.*' and platform_machine == 'x86_64' and sys_platform == 'linux'",
+ "(python_full_version >= '3.13' and platform_machine == 'AMD64' and sys_platform == 'linux') or (python_full_version >= '3.13' and platform_machine == 'AMD64' and sys_platform != 'darwin' and sys_platform != 'win32') or (python_full_version >= '3.13' and platform_machine == 'x86_64' and sys_platform != 'darwin' and sys_platform != 'linux' and sys_platform != 'win32')",
+ "(python_full_version == '3.12.*' and platform_machine == 'AMD64' and sys_platform == 'linux') or (python_full_version == '3.12.*' and platform_machine == 'AMD64' and sys_platform != 'darwin' and sys_platform != 'win32') or (python_full_version == '3.12.*' and platform_machine == 'x86_64' and sys_platform != 'darwin' and sys_platform != 'linux' and sys_platform != 'win32')",
+ "(python_full_version == '3.11.*' and platform_machine == 'AMD64' and sys_platform == 'linux') or (python_full_version == '3.11.*' and platform_machine == 'AMD64' and sys_platform != 'darwin' and sys_platform != 'win32') or (python_full_version == '3.11.*' and platform_machine == 'x86_64' and sys_platform != 'darwin' and sys_platform != 'linux' and sys_platform != 'win32')",
+ "(python_full_version < '3.11' and platform_machine == 'aarch64' and sys_platform != 'darwin' and sys_platform != 'win32') or (python_full_version < '3.11' and platform_machine == 'arm64' and sys_platform != 'darwin' and sys_platform != 'win32')",
+ "python_full_version < '3.11' and platform_machine == 'x86_64' and sys_platform == 'linux'",
+ "(python_full_version < '3.11' and platform_machine == 'AMD64' and sys_platform == 'linux') or (python_full_version < '3.11' and platform_machine == 'AMD64' and sys_platform != 'darwin' and sys_platform != 'win32') or (python_full_version < '3.11' and platform_machine == 'x86_64' and sys_platform != 'darwin' and sys_platform != 'linux' and sys_platform != 'win32')",
+ "python_full_version >= '3.13' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and sys_platform != 'darwin'",
+ "python_full_version == '3.12.*' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and sys_platform != 'darwin'",
+ "python_full_version == '3.11.*' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and sys_platform != 'darwin'",
+ "python_full_version < '3.11' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and sys_platform != 'darwin'",
+]
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/bc/e0/0279bd94539fda525e0c8538db29b72a5a8495b0c12173113471d28bce78/nvidia_cuda_runtime_cu12-12.9.79-py3-none-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:83469a846206f2a733db0c42e223589ab62fd2fabac4432d2f8802de4bded0a4", size = 3515012, upload-time = "2025-06-05T20:00:35.519Z" },
+ { url = "https://files.pythonhosted.org/packages/bc/46/a92db19b8309581092a3add7e6fceb4c301a3fd233969856a8cbf042cd3c/nvidia_cuda_runtime_cu12-12.9.79-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:25bba2dfb01d48a9b59ca474a1ac43c6ebf7011f1b0b8cc44f54eb6ac48a96c3", size = 3493179, upload-time = "2025-06-05T20:00:53.735Z" },
+ { url = "https://files.pythonhosted.org/packages/59/df/e7c3a360be4f7b93cee39271b792669baeb3846c58a4df6dfcf187a7ffab/nvidia_cuda_runtime_cu12-12.9.79-py3-none-win_amd64.whl", hash = "sha256:8e018af8fa02363876860388bd10ccb89eb9ab8fb0aa749aaf58430a9f7c4891", size = 3591604, upload-time = "2025-06-05T20:11:17.036Z" },
+]
+
+[[package]]
+name = "nvidia-cudnn-cu12"
+version = "9.10.2.21"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "nvidia-cublas-cu12", version = "12.6.4.1", source = { registry = "https://pypi.org/simple" }, marker = "extra == 'extra-15-gpt-sovits-meta-cu126' or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "nvidia-cublas-cu12", version = "12.8.4.1", source = { registry = "https://pypi.org/simple" }, marker = "(platform_machine == 'AMD64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or extra == 'extra-15-gpt-sovits-meta-cu128' or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "nvidia-cublas-cu12", version = "12.9.1.4", source = { registry = "https://pypi.org/simple" }, marker = "(platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and sys_platform == 'win32' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'AMD64' and sys_platform == 'win32' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and sys_platform == 'win32' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and sys_platform == 'win32' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'x86_64' and sys_platform == 'win32' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform != 'darwin' and sys_platform != 'win32' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform != 'win32' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (sys_platform != 'win32' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (sys_platform != 'win32' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform != 'win32' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform != 'win32' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (sys_platform != 'win32' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform != 'win32' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform != 'win32' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform != 'win32' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+]
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/fa/41/e79269ce215c857c935fd86bcfe91a451a584dfc27f1e068f568b9ad1ab7/nvidia_cudnn_cu12-9.10.2.21-py3-none-manylinux_2_27_aarch64.whl", hash = "sha256:c9132cc3f8958447b4910a1720036d9eff5928cc3179b0a51fb6d167c6cc87d8", size = 705026878, upload-time = "2025-06-06T21:52:51.348Z" },
+ { url = "https://files.pythonhosted.org/packages/ba/51/e123d997aa098c61d029f76663dedbfb9bc8dcf8c60cbd6adbe42f76d049/nvidia_cudnn_cu12-9.10.2.21-py3-none-manylinux_2_27_x86_64.whl", hash = "sha256:949452be657fa16687d0930933f032835951ef0892b37d2d53824d1a84dc97a8", size = 706758467, upload-time = "2025-06-06T21:54:08.597Z" },
+ { url = "https://files.pythonhosted.org/packages/3d/90/0bd6e586701b3a890fd38aa71c387dab4883d619d6e5ad912ccbd05bfd67/nvidia_cudnn_cu12-9.10.2.21-py3-none-win_amd64.whl", hash = "sha256:c6288de7d63e6cf62988f0923f96dc339cea362decb1bf5b3141883392a7d65e", size = 692992268, upload-time = "2025-06-06T21:55:18.114Z" },
+]
+
+[[package]]
+name = "nvidia-cufft-cu12"
+version = "11.3.0.4"
+source = { registry = "https://pypi.org/simple" }
+resolution-markers = [
+ "(python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform != 'darwin') or (python_full_version >= '3.13' and platform_machine == 'arm64' and sys_platform != 'darwin')",
+ "(python_full_version == '3.12.*' and platform_machine == 'aarch64' and sys_platform != 'darwin') or (python_full_version == '3.12.*' and platform_machine == 'arm64' and sys_platform != 'darwin')",
+ "(python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform != 'darwin') or (python_full_version == '3.11.*' and platform_machine == 'arm64' and sys_platform != 'darwin')",
+ "(python_full_version >= '3.13' and platform_machine == 'AMD64') or (python_full_version >= '3.13' and platform_machine == 'x86_64')",
+ "(python_full_version == '3.12.*' and platform_machine == 'AMD64') or (python_full_version == '3.12.*' and platform_machine == 'x86_64')",
+ "(python_full_version == '3.11.*' and platform_machine == 'AMD64') or (python_full_version == '3.11.*' and platform_machine == 'x86_64')",
+ "(python_full_version < '3.11' and platform_machine == 'aarch64' and sys_platform != 'darwin') or (python_full_version < '3.11' and platform_machine == 'arm64' and sys_platform != 'darwin')",
+ "(python_full_version < '3.11' and platform_machine == 'AMD64') or (python_full_version < '3.11' and platform_machine == 'x86_64')",
+ "python_full_version >= '3.13' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64'",
+ "python_full_version == '3.12.*' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64'",
+ "python_full_version == '3.11.*' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64'",
+ "python_full_version < '3.11' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64'",
+]
+dependencies = [
+ { name = "nvidia-nvjitlink-cu12", version = "12.6.85", source = { registry = "https://pypi.org/simple" }, marker = "extra == 'extra-15-gpt-sovits-meta-cu126' or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+]
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/1f/37/c50d2b2f2c07e146776389e3080f4faf70bcc4fa6e19d65bb54ca174ebc3/nvidia_cufft_cu12-11.3.0.4-py3-none-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:d16079550df460376455cba121db6564089176d9bac9e4f360493ca4741b22a6", size = 200164144, upload-time = "2024-11-20T17:40:58.288Z" },
+ { url = "https://files.pythonhosted.org/packages/ce/f5/188566814b7339e893f8d210d3a5332352b1409815908dad6a363dcceac1/nvidia_cufft_cu12-11.3.0.4-py3-none-manylinux2014_aarch64.whl", hash = "sha256:8510990de9f96c803a051822618d42bf6cb8f069ff3f48d93a8486efdacb48fb", size = 200164135, upload-time = "2024-10-01T17:03:24.212Z" },
+ { url = "https://files.pythonhosted.org/packages/8f/16/73727675941ab8e6ffd86ca3a4b7b47065edcca7a997920b831f8147c99d/nvidia_cufft_cu12-11.3.0.4-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:ccba62eb9cef5559abd5e0d54ceed2d9934030f51163df018532142a8ec533e5", size = 200221632, upload-time = "2024-11-20T17:41:32.357Z" },
+ { url = "https://files.pythonhosted.org/packages/60/de/99ec247a07ea40c969d904fc14f3a356b3e2a704121675b75c366b694ee1/nvidia_cufft_cu12-11.3.0.4-py3-none-manylinux2014_x86_64.whl", hash = "sha256:768160ac89f6f7b459bee747e8d175dbf53619cfe74b2a5636264163138013ca", size = 200221622, upload-time = "2024-10-01T17:03:58.79Z" },
+ { url = "https://files.pythonhosted.org/packages/b4/38/36fd800cec8f6e89b7c1576edaaf8076e69ec631644cdbc1b5f2e2b5a9df/nvidia_cufft_cu12-11.3.0.4-py3-none-win_amd64.whl", hash = "sha256:6048ebddfb90d09d2707efb1fd78d4e3a77cb3ae4dc60e19aab6be0ece2ae464", size = 199356881, upload-time = "2024-10-01T17:13:01.861Z" },
+]
+
+[[package]]
+name = "nvidia-cufft-cu12"
+version = "11.3.3.83"
+source = { registry = "https://pypi.org/simple" }
+resolution-markers = [
+ "(python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform != 'darwin') or (python_full_version >= '3.13' and platform_machine == 'arm64' and sys_platform != 'darwin')",
+ "(python_full_version == '3.12.*' and platform_machine == 'aarch64' and sys_platform != 'darwin') or (python_full_version == '3.12.*' and platform_machine == 'arm64' and sys_platform != 'darwin')",
+ "(python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform != 'darwin') or (python_full_version == '3.11.*' and platform_machine == 'arm64' and sys_platform != 'darwin')",
+ "(python_full_version >= '3.13' and platform_machine == 'AMD64') or (python_full_version >= '3.13' and platform_machine == 'x86_64')",
+ "(python_full_version == '3.12.*' and platform_machine == 'AMD64') or (python_full_version == '3.12.*' and platform_machine == 'x86_64')",
+ "(python_full_version == '3.11.*' and platform_machine == 'AMD64') or (python_full_version == '3.11.*' and platform_machine == 'x86_64')",
+ "(python_full_version < '3.11' and platform_machine == 'aarch64' and sys_platform != 'darwin') or (python_full_version < '3.11' and platform_machine == 'arm64' and sys_platform != 'darwin')",
+ "(python_full_version < '3.11' and platform_machine == 'AMD64') or (python_full_version < '3.11' and platform_machine == 'x86_64')",
+ "python_full_version >= '3.13' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64'",
+ "python_full_version == '3.12.*' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64'",
+ "python_full_version == '3.11.*' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64'",
+ "python_full_version < '3.11' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64'",
+]
+dependencies = [
+ { name = "nvidia-nvjitlink-cu12", version = "12.8.93", source = { registry = "https://pypi.org/simple" }, marker = "(platform_machine == 'AMD64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or extra == 'extra-15-gpt-sovits-meta-cu128' or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+]
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/60/bc/7771846d3a0272026c416fbb7e5f4c1f146d6d80704534d0b187dd6f4800/nvidia_cufft_cu12-11.3.3.83-py3-none-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:848ef7224d6305cdb2a4df928759dca7b1201874787083b6e7550dd6765ce69a", size = 193109211, upload-time = "2025-03-07T01:44:56.873Z" },
+ { url = "https://files.pythonhosted.org/packages/1f/13/ee4e00f30e676b66ae65b4f08cb5bcbb8392c03f54f2d5413ea99a5d1c80/nvidia_cufft_cu12-11.3.3.83-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:4d2dd21ec0b88cf61b62e6b43564355e5222e4a3fb394cac0db101f2dd0d4f74", size = 193118695, upload-time = "2025-03-07T01:45:27.821Z" },
+ { url = "https://files.pythonhosted.org/packages/7d/ec/ce1629f1e478bb5ccd208986b5f9e0316a78538dd6ab1d0484f012f8e2a1/nvidia_cufft_cu12-11.3.3.83-py3-none-win_amd64.whl", hash = "sha256:7a64a98ef2a7c47f905aaf8931b69a3a43f27c55530c698bb2ed7c75c0b42cb7", size = 192216559, upload-time = "2025-03-07T01:53:57.106Z" },
+]
+
+[[package]]
+name = "nvidia-cufft-cu12"
+version = "11.4.1.4"
+source = { registry = "https://pypi.org/simple" }
+resolution-markers = [
+ "(python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform != 'darwin' and sys_platform != 'win32') or (python_full_version >= '3.13' and platform_machine == 'arm64' and sys_platform != 'darwin' and sys_platform != 'win32')",
+ "(python_full_version == '3.12.*' and platform_machine == 'aarch64' and sys_platform != 'darwin' and sys_platform != 'win32') or (python_full_version == '3.12.*' and platform_machine == 'arm64' and sys_platform != 'darwin' and sys_platform != 'win32')",
+ "(python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform != 'darwin' and sys_platform != 'win32') or (python_full_version == '3.11.*' and platform_machine == 'arm64' and sys_platform != 'darwin' and sys_platform != 'win32')",
+ "python_full_version >= '3.13' and platform_machine == 'x86_64' and sys_platform == 'linux'",
+ "python_full_version == '3.12.*' and platform_machine == 'x86_64' and sys_platform == 'linux'",
+ "python_full_version == '3.11.*' and platform_machine == 'x86_64' and sys_platform == 'linux'",
+ "(python_full_version >= '3.13' and platform_machine == 'AMD64' and sys_platform == 'linux') or (python_full_version >= '3.13' and platform_machine == 'AMD64' and sys_platform != 'darwin' and sys_platform != 'win32') or (python_full_version >= '3.13' and platform_machine == 'x86_64' and sys_platform != 'darwin' and sys_platform != 'linux' and sys_platform != 'win32')",
+ "(python_full_version == '3.12.*' and platform_machine == 'AMD64' and sys_platform == 'linux') or (python_full_version == '3.12.*' and platform_machine == 'AMD64' and sys_platform != 'darwin' and sys_platform != 'win32') or (python_full_version == '3.12.*' and platform_machine == 'x86_64' and sys_platform != 'darwin' and sys_platform != 'linux' and sys_platform != 'win32')",
+ "(python_full_version == '3.11.*' and platform_machine == 'AMD64' and sys_platform == 'linux') or (python_full_version == '3.11.*' and platform_machine == 'AMD64' and sys_platform != 'darwin' and sys_platform != 'win32') or (python_full_version == '3.11.*' and platform_machine == 'x86_64' and sys_platform != 'darwin' and sys_platform != 'linux' and sys_platform != 'win32')",
+ "(python_full_version < '3.11' and platform_machine == 'aarch64' and sys_platform != 'darwin' and sys_platform != 'win32') or (python_full_version < '3.11' and platform_machine == 'arm64' and sys_platform != 'darwin' and sys_platform != 'win32')",
+ "python_full_version < '3.11' and platform_machine == 'x86_64' and sys_platform == 'linux'",
+ "(python_full_version < '3.11' and platform_machine == 'AMD64' and sys_platform == 'linux') or (python_full_version < '3.11' and platform_machine == 'AMD64' and sys_platform != 'darwin' and sys_platform != 'win32') or (python_full_version < '3.11' and platform_machine == 'x86_64' and sys_platform != 'darwin' and sys_platform != 'linux' and sys_platform != 'win32')",
+ "python_full_version >= '3.13' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and sys_platform != 'darwin'",
+ "python_full_version == '3.12.*' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and sys_platform != 'darwin'",
+ "python_full_version == '3.11.*' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and sys_platform != 'darwin'",
+ "python_full_version < '3.11' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and sys_platform != 'darwin'",
+]
+dependencies = [
+ { name = "nvidia-nvjitlink-cu12", version = "12.9.86", source = { registry = "https://pypi.org/simple" }, marker = "(platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and sys_platform == 'win32' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'AMD64' and sys_platform == 'win32' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and sys_platform == 'win32' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and sys_platform == 'win32' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'x86_64' and sys_platform == 'win32' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform != 'darwin' and sys_platform != 'win32' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform != 'win32' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (sys_platform != 'win32' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (sys_platform != 'win32' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform != 'win32' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform != 'win32' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (sys_platform != 'win32' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform != 'win32' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform != 'win32' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform != 'win32' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+]
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/9b/2b/76445b0af890da61b501fde30650a1a4bd910607261b209cccb5235d3daa/nvidia_cufft_cu12-11.4.1.4-py3-none-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:1a28c9b12260a1aa7a8fd12f5ebd82d027963d635ba82ff39a1acfa7c4c0fbcf", size = 200822453, upload-time = "2025-06-05T20:05:27.889Z" },
+ { url = "https://files.pythonhosted.org/packages/95/f4/61e6996dd20481ee834f57a8e9dca28b1869366a135e0d42e2aa8493bdd4/nvidia_cufft_cu12-11.4.1.4-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:c67884f2a7d276b4b80eb56a79322a95df592ae5e765cf1243693365ccab4e28", size = 200877592, upload-time = "2025-06-05T20:05:45.862Z" },
+ { url = "https://files.pythonhosted.org/packages/20/ee/29955203338515b940bd4f60ffdbc073428f25ef9bfbce44c9a066aedc5c/nvidia_cufft_cu12-11.4.1.4-py3-none-win_amd64.whl", hash = "sha256:8e5bfaac795e93f80611f807d42844e8e27e340e0cde270dcb6c65386d795b80", size = 200067309, upload-time = "2025-06-05T20:13:59.762Z" },
+]
+
+[[package]]
+name = "nvidia-cufile-cu12"
+version = "1.11.1.6"
+source = { registry = "https://pypi.org/simple" }
+resolution-markers = [
+ "(python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform != 'darwin') or (python_full_version >= '3.13' and platform_machine == 'arm64' and sys_platform != 'darwin')",
+ "(python_full_version == '3.12.*' and platform_machine == 'aarch64' and sys_platform != 'darwin') or (python_full_version == '3.12.*' and platform_machine == 'arm64' and sys_platform != 'darwin')",
+ "(python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform != 'darwin') or (python_full_version == '3.11.*' and platform_machine == 'arm64' and sys_platform != 'darwin')",
+ "(python_full_version >= '3.13' and platform_machine == 'AMD64') or (python_full_version >= '3.13' and platform_machine == 'x86_64')",
+ "(python_full_version == '3.12.*' and platform_machine == 'AMD64') or (python_full_version == '3.12.*' and platform_machine == 'x86_64')",
+ "(python_full_version == '3.11.*' and platform_machine == 'AMD64') or (python_full_version == '3.11.*' and platform_machine == 'x86_64')",
+ "(python_full_version < '3.11' and platform_machine == 'aarch64' and sys_platform != 'darwin') or (python_full_version < '3.11' and platform_machine == 'arm64' and sys_platform != 'darwin')",
+ "(python_full_version < '3.11' and platform_machine == 'AMD64') or (python_full_version < '3.11' and platform_machine == 'x86_64')",
+ "python_full_version >= '3.13' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64'",
+ "python_full_version == '3.12.*' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64'",
+ "python_full_version == '3.11.*' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64'",
+ "python_full_version < '3.11' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64'",
+]
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/b2/66/cc9876340ac68ae71b15c743ddb13f8b30d5244af344ec8322b449e35426/nvidia_cufile_cu12-1.11.1.6-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:cc23469d1c7e52ce6c1d55253273d32c565dd22068647f3aa59b3c6b005bf159", size = 1142103, upload-time = "2024-11-20T17:42:11.83Z" },
+ { url = "https://files.pythonhosted.org/packages/17/bf/cc834147263b929229ce4aadd62869f0b195e98569d4c28b23edc72b85d9/nvidia_cufile_cu12-1.11.1.6-py3-none-manylinux_2_27_aarch64.whl", hash = "sha256:8f57a0051dcf2543f6dc2b98a98cb2719c37d3cee1baba8965d57f3bbc90d4db", size = 1066155, upload-time = "2024-11-20T17:41:49.376Z" },
+]
+
+[[package]]
+name = "nvidia-cufile-cu12"
+version = "1.13.1.3"
+source = { registry = "https://pypi.org/simple" }
+resolution-markers = [
+ "(python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform != 'darwin') or (python_full_version >= '3.13' and platform_machine == 'arm64' and sys_platform != 'darwin')",
+ "(python_full_version == '3.12.*' and platform_machine == 'aarch64' and sys_platform != 'darwin') or (python_full_version == '3.12.*' and platform_machine == 'arm64' and sys_platform != 'darwin')",
+ "(python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform != 'darwin') or (python_full_version == '3.11.*' and platform_machine == 'arm64' and sys_platform != 'darwin')",
+ "(python_full_version >= '3.13' and platform_machine == 'AMD64') or (python_full_version >= '3.13' and platform_machine == 'x86_64')",
+ "(python_full_version == '3.12.*' and platform_machine == 'AMD64') or (python_full_version == '3.12.*' and platform_machine == 'x86_64')",
+ "(python_full_version == '3.11.*' and platform_machine == 'AMD64') or (python_full_version == '3.11.*' and platform_machine == 'x86_64')",
+ "(python_full_version < '3.11' and platform_machine == 'aarch64' and sys_platform != 'darwin') or (python_full_version < '3.11' and platform_machine == 'arm64' and sys_platform != 'darwin')",
+ "(python_full_version < '3.11' and platform_machine == 'AMD64') or (python_full_version < '3.11' and platform_machine == 'x86_64')",
+ "python_full_version >= '3.13' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64'",
+ "python_full_version == '3.12.*' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64'",
+ "python_full_version == '3.11.*' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64'",
+ "python_full_version < '3.11' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64'",
+]
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/bb/fe/1bcba1dfbfb8d01be8d93f07bfc502c93fa23afa6fd5ab3fc7c1df71038a/nvidia_cufile_cu12-1.13.1.3-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:1d069003be650e131b21c932ec3d8969c1715379251f8d23a1860554b1cb24fc", size = 1197834, upload-time = "2025-03-07T01:45:50.723Z" },
+ { url = "https://files.pythonhosted.org/packages/1e/f5/5607710447a6fe9fd9b3283956fceeee8a06cda1d2f56ce31371f595db2a/nvidia_cufile_cu12-1.13.1.3-py3-none-manylinux_2_27_aarch64.whl", hash = "sha256:4beb6d4cce47c1a0f1013d72e02b0994730359e17801d395bdcbf20cfb3bb00a", size = 1120705, upload-time = "2025-03-07T01:45:41.434Z" },
+]
+
+[[package]]
+name = "nvidia-cufile-cu12"
+version = "1.14.1.1"
+source = { registry = "https://pypi.org/simple" }
+resolution-markers = [
+ "(python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform != 'darwin' and sys_platform != 'win32') or (python_full_version >= '3.13' and platform_machine == 'arm64' and sys_platform != 'darwin' and sys_platform != 'win32')",
+ "(python_full_version == '3.12.*' and platform_machine == 'aarch64' and sys_platform != 'darwin' and sys_platform != 'win32') or (python_full_version == '3.12.*' and platform_machine == 'arm64' and sys_platform != 'darwin' and sys_platform != 'win32')",
+ "(python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform != 'darwin' and sys_platform != 'win32') or (python_full_version == '3.11.*' and platform_machine == 'arm64' and sys_platform != 'darwin' and sys_platform != 'win32')",
+ "python_full_version >= '3.13' and platform_machine == 'x86_64' and sys_platform == 'linux'",
+ "python_full_version == '3.12.*' and platform_machine == 'x86_64' and sys_platform == 'linux'",
+ "python_full_version == '3.11.*' and platform_machine == 'x86_64' and sys_platform == 'linux'",
+ "(python_full_version >= '3.13' and platform_machine == 'AMD64' and sys_platform == 'linux') or (python_full_version >= '3.13' and platform_machine == 'AMD64' and sys_platform != 'darwin' and sys_platform != 'win32') or (python_full_version >= '3.13' and platform_machine == 'x86_64' and sys_platform != 'darwin' and sys_platform != 'linux' and sys_platform != 'win32')",
+ "(python_full_version == '3.12.*' and platform_machine == 'AMD64' and sys_platform == 'linux') or (python_full_version == '3.12.*' and platform_machine == 'AMD64' and sys_platform != 'darwin' and sys_platform != 'win32') or (python_full_version == '3.12.*' and platform_machine == 'x86_64' and sys_platform != 'darwin' and sys_platform != 'linux' and sys_platform != 'win32')",
+ "(python_full_version == '3.11.*' and platform_machine == 'AMD64' and sys_platform == 'linux') or (python_full_version == '3.11.*' and platform_machine == 'AMD64' and sys_platform != 'darwin' and sys_platform != 'win32') or (python_full_version == '3.11.*' and platform_machine == 'x86_64' and sys_platform != 'darwin' and sys_platform != 'linux' and sys_platform != 'win32')",
+ "(python_full_version < '3.11' and platform_machine == 'aarch64' and sys_platform != 'darwin' and sys_platform != 'win32') or (python_full_version < '3.11' and platform_machine == 'arm64' and sys_platform != 'darwin' and sys_platform != 'win32')",
+ "python_full_version < '3.11' and platform_machine == 'x86_64' and sys_platform == 'linux'",
+ "(python_full_version < '3.11' and platform_machine == 'AMD64' and sys_platform == 'linux') or (python_full_version < '3.11' and platform_machine == 'AMD64' and sys_platform != 'darwin' and sys_platform != 'win32') or (python_full_version < '3.11' and platform_machine == 'x86_64' and sys_platform != 'darwin' and sys_platform != 'linux' and sys_platform != 'win32')",
+ "python_full_version >= '3.13' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and sys_platform != 'darwin'",
+ "python_full_version == '3.12.*' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and sys_platform != 'darwin'",
+ "python_full_version == '3.11.*' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and sys_platform != 'darwin'",
+ "python_full_version < '3.11' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and sys_platform != 'darwin'",
+]
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/ad/28/b960e06d705a440c030edd84e16888ee14c743390bdb2a6368e92ffe8ef8/nvidia_cufile_cu12-1.14.1.1-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:9552e2231792e94b1ff17bc99e958cc0e6bbbaa4a9d91fa2dbeed97716628fe6", size = 1210714, upload-time = "2025-06-05T20:06:11.898Z" },
+ { url = "https://files.pythonhosted.org/packages/b9/d2/110af3a1f77999d5eebf6ffae5d2305ab839e53c76eec3696640cc25b35d/nvidia_cufile_cu12-1.14.1.1-py3-none-manylinux_2_27_aarch64.whl", hash = "sha256:8dea77590761e02cb6dd955a57cb6414c58aa3cb1b7adbf9919869a11509cf65", size = 1135994, upload-time = "2025-06-05T20:06:03.952Z" },
+]
+
+[[package]]
+name = "nvidia-curand-cu12"
+version = "10.3.7.77"
+source = { registry = "https://pypi.org/simple" }
+resolution-markers = [
+ "(python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform != 'darwin') or (python_full_version >= '3.13' and platform_machine == 'arm64' and sys_platform != 'darwin')",
+ "(python_full_version == '3.12.*' and platform_machine == 'aarch64' and sys_platform != 'darwin') or (python_full_version == '3.12.*' and platform_machine == 'arm64' and sys_platform != 'darwin')",
+ "(python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform != 'darwin') or (python_full_version == '3.11.*' and platform_machine == 'arm64' and sys_platform != 'darwin')",
+ "(python_full_version >= '3.13' and platform_machine == 'AMD64') or (python_full_version >= '3.13' and platform_machine == 'x86_64')",
+ "(python_full_version == '3.12.*' and platform_machine == 'AMD64') or (python_full_version == '3.12.*' and platform_machine == 'x86_64')",
+ "(python_full_version == '3.11.*' and platform_machine == 'AMD64') or (python_full_version == '3.11.*' and platform_machine == 'x86_64')",
+ "(python_full_version < '3.11' and platform_machine == 'aarch64' and sys_platform != 'darwin') or (python_full_version < '3.11' and platform_machine == 'arm64' and sys_platform != 'darwin')",
+ "(python_full_version < '3.11' and platform_machine == 'AMD64') or (python_full_version < '3.11' and platform_machine == 'x86_64')",
+ "python_full_version >= '3.13' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64'",
+ "python_full_version == '3.12.*' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64'",
+ "python_full_version == '3.11.*' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64'",
+ "python_full_version < '3.11' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64'",
+]
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/42/ac/36543605358a355632f1a6faa3e2d5dfb91eab1e4bc7d552040e0383c335/nvidia_curand_cu12-10.3.7.77-py3-none-manylinux2014_aarch64.whl", hash = "sha256:6e82df077060ea28e37f48a3ec442a8f47690c7499bff392a5938614b56c98d8", size = 56289881, upload-time = "2024-10-01T17:04:18.981Z" },
+ { url = "https://files.pythonhosted.org/packages/73/1b/44a01c4e70933637c93e6e1a8063d1e998b50213a6b65ac5a9169c47e98e/nvidia_curand_cu12-10.3.7.77-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:a42cd1344297f70b9e39a1e4f467a4e1c10f1da54ff7a85c12197f6c652c8bdf", size = 56279010, upload-time = "2024-11-20T17:42:50.958Z" },
+ { url = "https://files.pythonhosted.org/packages/4a/aa/2c7ff0b5ee02eaef890c0ce7d4f74bc30901871c5e45dee1ae6d0083cd80/nvidia_curand_cu12-10.3.7.77-py3-none-manylinux2014_x86_64.whl", hash = "sha256:99f1a32f1ac2bd134897fc7a203f779303261268a65762a623bf30cc9fe79117", size = 56279000, upload-time = "2024-10-01T17:04:45.274Z" },
+ { url = "https://files.pythonhosted.org/packages/a6/02/5362a9396f23f7de1dd8a64369e87c85ffff8216fc8194ace0fa45ba27a5/nvidia_curand_cu12-10.3.7.77-py3-none-manylinux_2_27_aarch64.whl", hash = "sha256:7b2ed8e95595c3591d984ea3603dd66fe6ce6812b886d59049988a712ed06b6e", size = 56289882, upload-time = "2024-11-20T17:42:25.222Z" },
+ { url = "https://files.pythonhosted.org/packages/a9/a8/0cd0cec757bd4b4b4ef150fca62ec064db7d08a291dced835a0be7d2c147/nvidia_curand_cu12-10.3.7.77-py3-none-win_amd64.whl", hash = "sha256:6d6d935ffba0f3d439b7cd968192ff068fafd9018dbf1b85b37261b13cfc9905", size = 55783873, upload-time = "2024-10-01T17:13:30.377Z" },
+]
+
+[[package]]
+name = "nvidia-curand-cu12"
+version = "10.3.9.90"
+source = { registry = "https://pypi.org/simple" }
+resolution-markers = [
+ "(python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform != 'darwin') or (python_full_version >= '3.13' and platform_machine == 'arm64' and sys_platform != 'darwin')",
+ "(python_full_version == '3.12.*' and platform_machine == 'aarch64' and sys_platform != 'darwin') or (python_full_version == '3.12.*' and platform_machine == 'arm64' and sys_platform != 'darwin')",
+ "(python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform != 'darwin') or (python_full_version == '3.11.*' and platform_machine == 'arm64' and sys_platform != 'darwin')",
+ "(python_full_version >= '3.13' and platform_machine == 'AMD64') or (python_full_version >= '3.13' and platform_machine == 'x86_64')",
+ "(python_full_version == '3.12.*' and platform_machine == 'AMD64') or (python_full_version == '3.12.*' and platform_machine == 'x86_64')",
+ "(python_full_version == '3.11.*' and platform_machine == 'AMD64') or (python_full_version == '3.11.*' and platform_machine == 'x86_64')",
+ "(python_full_version < '3.11' and platform_machine == 'aarch64' and sys_platform != 'darwin') or (python_full_version < '3.11' and platform_machine == 'arm64' and sys_platform != 'darwin')",
+ "(python_full_version < '3.11' and platform_machine == 'AMD64') or (python_full_version < '3.11' and platform_machine == 'x86_64')",
+ "python_full_version >= '3.13' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64'",
+ "python_full_version == '3.12.*' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64'",
+ "python_full_version == '3.11.*' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64'",
+ "python_full_version < '3.11' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64'",
+]
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/45/5e/92aa15eca622a388b80fbf8375d4760738df6285b1e92c43d37390a33a9a/nvidia_curand_cu12-10.3.9.90-py3-none-manylinux_2_27_aarch64.whl", hash = "sha256:dfab99248034673b779bc6decafdc3404a8a6f502462201f2f31f11354204acd", size = 63625754, upload-time = "2025-03-07T01:46:10.735Z" },
+ { url = "https://files.pythonhosted.org/packages/fb/aa/6584b56dc84ebe9cf93226a5cde4d99080c8e90ab40f0c27bda7a0f29aa1/nvidia_curand_cu12-10.3.9.90-py3-none-manylinux_2_27_x86_64.whl", hash = "sha256:b32331d4f4df5d6eefa0554c565b626c7216f87a06a4f56fab27c3b68a830ec9", size = 63619976, upload-time = "2025-03-07T01:46:23.323Z" },
+ { url = "https://files.pythonhosted.org/packages/b9/75/70c05b2f3ed5be3bb30b7102b6eb78e100da4bbf6944fd6725c012831cab/nvidia_curand_cu12-10.3.9.90-py3-none-win_amd64.whl", hash = "sha256:f149a8ca457277da854f89cf282d6ef43176861926c7ac85b2a0fbd237c587ec", size = 62765309, upload-time = "2025-03-07T01:54:20.478Z" },
+]
+
+[[package]]
+name = "nvidia-curand-cu12"
+version = "10.3.10.19"
+source = { registry = "https://pypi.org/simple" }
+resolution-markers = [
+ "(python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform != 'darwin' and sys_platform != 'win32') or (python_full_version >= '3.13' and platform_machine == 'arm64' and sys_platform != 'darwin' and sys_platform != 'win32')",
+ "(python_full_version == '3.12.*' and platform_machine == 'aarch64' and sys_platform != 'darwin' and sys_platform != 'win32') or (python_full_version == '3.12.*' and platform_machine == 'arm64' and sys_platform != 'darwin' and sys_platform != 'win32')",
+ "(python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform != 'darwin' and sys_platform != 'win32') or (python_full_version == '3.11.*' and platform_machine == 'arm64' and sys_platform != 'darwin' and sys_platform != 'win32')",
+ "python_full_version >= '3.13' and platform_machine == 'x86_64' and sys_platform == 'linux'",
+ "python_full_version == '3.12.*' and platform_machine == 'x86_64' and sys_platform == 'linux'",
+ "python_full_version == '3.11.*' and platform_machine == 'x86_64' and sys_platform == 'linux'",
+ "(python_full_version >= '3.13' and platform_machine == 'AMD64' and sys_platform == 'linux') or (python_full_version >= '3.13' and platform_machine == 'AMD64' and sys_platform != 'darwin' and sys_platform != 'win32') or (python_full_version >= '3.13' and platform_machine == 'x86_64' and sys_platform != 'darwin' and sys_platform != 'linux' and sys_platform != 'win32')",
+ "(python_full_version == '3.12.*' and platform_machine == 'AMD64' and sys_platform == 'linux') or (python_full_version == '3.12.*' and platform_machine == 'AMD64' and sys_platform != 'darwin' and sys_platform != 'win32') or (python_full_version == '3.12.*' and platform_machine == 'x86_64' and sys_platform != 'darwin' and sys_platform != 'linux' and sys_platform != 'win32')",
+ "(python_full_version == '3.11.*' and platform_machine == 'AMD64' and sys_platform == 'linux') or (python_full_version == '3.11.*' and platform_machine == 'AMD64' and sys_platform != 'darwin' and sys_platform != 'win32') or (python_full_version == '3.11.*' and platform_machine == 'x86_64' and sys_platform != 'darwin' and sys_platform != 'linux' and sys_platform != 'win32')",
+ "(python_full_version < '3.11' and platform_machine == 'aarch64' and sys_platform != 'darwin' and sys_platform != 'win32') or (python_full_version < '3.11' and platform_machine == 'arm64' and sys_platform != 'darwin' and sys_platform != 'win32')",
+ "python_full_version < '3.11' and platform_machine == 'x86_64' and sys_platform == 'linux'",
+ "(python_full_version < '3.11' and platform_machine == 'AMD64' and sys_platform == 'linux') or (python_full_version < '3.11' and platform_machine == 'AMD64' and sys_platform != 'darwin' and sys_platform != 'win32') or (python_full_version < '3.11' and platform_machine == 'x86_64' and sys_platform != 'darwin' and sys_platform != 'linux' and sys_platform != 'win32')",
+ "python_full_version >= '3.13' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and sys_platform != 'darwin'",
+ "python_full_version == '3.12.*' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and sys_platform != 'darwin'",
+ "python_full_version == '3.11.*' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and sys_platform != 'darwin'",
+ "python_full_version < '3.11' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and sys_platform != 'darwin'",
+]
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/14/1c/2a45afc614d99558d4a773fa740d8bb5471c8398eeed925fc0fcba020173/nvidia_curand_cu12-10.3.10.19-py3-none-manylinux_2_27_aarch64.whl", hash = "sha256:de663377feb1697e1d30ed587b07d5721fdd6d2015c738d7528a6002a6134d37", size = 68292066, upload-time = "2025-05-01T19:39:13.595Z" },
+ { url = "https://files.pythonhosted.org/packages/31/44/193a0e171750ca9f8320626e8a1f2381e4077a65e69e2fb9708bd479e34a/nvidia_curand_cu12-10.3.10.19-py3-none-manylinux_2_27_x86_64.whl", hash = "sha256:49b274db4780d421bd2ccd362e1415c13887c53c214f0d4b761752b8f9f6aa1e", size = 68295626, upload-time = "2025-05-01T19:39:38.885Z" },
+ { url = "https://files.pythonhosted.org/packages/e5/98/1bd66fd09cbe1a5920cb36ba87029d511db7cca93979e635fd431ad3b6c0/nvidia_curand_cu12-10.3.10.19-py3-none-win_amd64.whl", hash = "sha256:e8129e6ac40dc123bd948e33d3e11b4aa617d87a583fa2f21b3210e90c743cde", size = 68774847, upload-time = "2025-05-01T19:48:52.93Z" },
+]
+
+[[package]]
+name = "nvidia-cusolver-cu12"
+version = "11.7.1.2"
+source = { registry = "https://pypi.org/simple" }
+resolution-markers = [
+ "(python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform != 'darwin') or (python_full_version >= '3.13' and platform_machine == 'arm64' and sys_platform != 'darwin')",
+ "(python_full_version == '3.12.*' and platform_machine == 'aarch64' and sys_platform != 'darwin') or (python_full_version == '3.12.*' and platform_machine == 'arm64' and sys_platform != 'darwin')",
+ "(python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform != 'darwin') or (python_full_version == '3.11.*' and platform_machine == 'arm64' and sys_platform != 'darwin')",
+ "(python_full_version >= '3.13' and platform_machine == 'AMD64') or (python_full_version >= '3.13' and platform_machine == 'x86_64')",
+ "(python_full_version == '3.12.*' and platform_machine == 'AMD64') or (python_full_version == '3.12.*' and platform_machine == 'x86_64')",
+ "(python_full_version == '3.11.*' and platform_machine == 'AMD64') or (python_full_version == '3.11.*' and platform_machine == 'x86_64')",
+ "(python_full_version < '3.11' and platform_machine == 'aarch64' and sys_platform != 'darwin') or (python_full_version < '3.11' and platform_machine == 'arm64' and sys_platform != 'darwin')",
+ "(python_full_version < '3.11' and platform_machine == 'AMD64') or (python_full_version < '3.11' and platform_machine == 'x86_64')",
+ "python_full_version >= '3.13' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64'",
+ "python_full_version == '3.12.*' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64'",
+ "python_full_version == '3.11.*' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64'",
+ "python_full_version < '3.11' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64'",
+]
+dependencies = [
+ { name = "nvidia-cublas-cu12", version = "12.6.4.1", source = { registry = "https://pypi.org/simple" }, marker = "extra == 'extra-15-gpt-sovits-meta-cu126' or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "nvidia-cusparse-cu12", version = "12.5.4.2", source = { registry = "https://pypi.org/simple" }, marker = "extra == 'extra-15-gpt-sovits-meta-cu126' or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "nvidia-nvjitlink-cu12", version = "12.6.85", source = { registry = "https://pypi.org/simple" }, marker = "extra == 'extra-15-gpt-sovits-meta-cu126' or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+]
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/93/17/dbe1aa865e4fdc7b6d4d0dd308fdd5aaab60f939abfc0ea1954eac4fb113/nvidia_cusolver_cu12-11.7.1.2-py3-none-manylinux2014_aarch64.whl", hash = "sha256:0ce237ef60acde1efc457335a2ddadfd7610b892d94efee7b776c64bb1cac9e0", size = 157833628, upload-time = "2024-10-01T17:05:05.591Z" },
+ { url = "https://files.pythonhosted.org/packages/f0/6e/c2cf12c9ff8b872e92b4a5740701e51ff17689c4d726fca91875b07f655d/nvidia_cusolver_cu12-11.7.1.2-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:e9e49843a7707e42022babb9bcfa33c29857a93b88020c4e4434656a655b698c", size = 158229790, upload-time = "2024-11-20T17:43:43.211Z" },
+ { url = "https://files.pythonhosted.org/packages/9f/81/baba53585da791d043c10084cf9553e074548408e04ae884cfe9193bd484/nvidia_cusolver_cu12-11.7.1.2-py3-none-manylinux2014_x86_64.whl", hash = "sha256:6cf28f17f64107a0c4d7802be5ff5537b2130bfc112f25d5a30df227058ca0e6", size = 158229780, upload-time = "2024-10-01T17:05:39.875Z" },
+ { url = "https://files.pythonhosted.org/packages/7c/5f/07d0ba3b7f19be5a5ec32a8679fc9384cfd9fc6c869825e93be9f28d6690/nvidia_cusolver_cu12-11.7.1.2-py3-none-manylinux_2_27_aarch64.whl", hash = "sha256:dbbe4fc38ec1289c7e5230e16248365e375c3673c9c8bac5796e2e20db07f56e", size = 157833630, upload-time = "2024-11-20T17:43:16.77Z" },
+ { url = "https://files.pythonhosted.org/packages/d4/53/fff50a0808df7113d77e3bbc7c2b7eaed6f57d5eb80fbe93ead2aea1e09a/nvidia_cusolver_cu12-11.7.1.2-py3-none-win_amd64.whl", hash = "sha256:6813f9d8073f555444a8705f3ab0296d3e1cb37a16d694c5fc8b862a0d8706d7", size = 149287877, upload-time = "2024-10-01T17:13:49.804Z" },
+]
+
+[[package]]
+name = "nvidia-cusolver-cu12"
+version = "11.7.3.90"
+source = { registry = "https://pypi.org/simple" }
+resolution-markers = [
+ "(python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform != 'darwin') or (python_full_version >= '3.13' and platform_machine == 'arm64' and sys_platform != 'darwin')",
+ "(python_full_version == '3.12.*' and platform_machine == 'aarch64' and sys_platform != 'darwin') or (python_full_version == '3.12.*' and platform_machine == 'arm64' and sys_platform != 'darwin')",
+ "(python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform != 'darwin') or (python_full_version == '3.11.*' and platform_machine == 'arm64' and sys_platform != 'darwin')",
+ "(python_full_version >= '3.13' and platform_machine == 'AMD64') or (python_full_version >= '3.13' and platform_machine == 'x86_64')",
+ "(python_full_version == '3.12.*' and platform_machine == 'AMD64') or (python_full_version == '3.12.*' and platform_machine == 'x86_64')",
+ "(python_full_version == '3.11.*' and platform_machine == 'AMD64') or (python_full_version == '3.11.*' and platform_machine == 'x86_64')",
+ "(python_full_version < '3.11' and platform_machine == 'aarch64' and sys_platform != 'darwin') or (python_full_version < '3.11' and platform_machine == 'arm64' and sys_platform != 'darwin')",
+ "(python_full_version < '3.11' and platform_machine == 'AMD64') or (python_full_version < '3.11' and platform_machine == 'x86_64')",
+ "python_full_version >= '3.13' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64'",
+ "python_full_version == '3.12.*' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64'",
+ "python_full_version == '3.11.*' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64'",
+ "python_full_version < '3.11' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64'",
+]
+dependencies = [
+ { name = "nvidia-cublas-cu12", version = "12.8.4.1", source = { registry = "https://pypi.org/simple" }, marker = "(platform_machine == 'AMD64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or extra == 'extra-15-gpt-sovits-meta-cu128' or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "nvidia-cusparse-cu12", version = "12.5.8.93", source = { registry = "https://pypi.org/simple" }, marker = "(platform_machine == 'AMD64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or extra == 'extra-15-gpt-sovits-meta-cu128' or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "nvidia-nvjitlink-cu12", version = "12.8.93", source = { registry = "https://pypi.org/simple" }, marker = "(platform_machine == 'AMD64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or extra == 'extra-15-gpt-sovits-meta-cu128' or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+]
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/c8/32/f7cd6ce8a7690544d084ea21c26e910a97e077c9b7f07bf5de623ee19981/nvidia_cusolver_cu12-11.7.3.90-py3-none-manylinux_2_27_aarch64.whl", hash = "sha256:db9ed69dbef9715071232caa9b69c52ac7de3a95773c2db65bdba85916e4e5c0", size = 267229841, upload-time = "2025-03-07T01:46:54.356Z" },
+ { url = "https://files.pythonhosted.org/packages/85/48/9a13d2975803e8cf2777d5ed57b87a0b6ca2cc795f9a4f59796a910bfb80/nvidia_cusolver_cu12-11.7.3.90-py3-none-manylinux_2_27_x86_64.whl", hash = "sha256:4376c11ad263152bd50ea295c05370360776f8c3427b30991df774f9fb26c450", size = 267506905, upload-time = "2025-03-07T01:47:16.273Z" },
+ { url = "https://files.pythonhosted.org/packages/13/c0/76ca8551b8a84146ffa189fec81c26d04adba4bc0dbe09cd6e6fd9b7de04/nvidia_cusolver_cu12-11.7.3.90-py3-none-win_amd64.whl", hash = "sha256:4a550db115fcabc4d495eb7d39ac8b58d4ab5d8e63274d3754df1c0ad6a22d34", size = 256720438, upload-time = "2025-03-07T01:54:39.898Z" },
+]
+
+[[package]]
+name = "nvidia-cusolver-cu12"
+version = "11.7.5.82"
+source = { registry = "https://pypi.org/simple" }
+resolution-markers = [
+ "(python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform != 'darwin' and sys_platform != 'win32') or (python_full_version >= '3.13' and platform_machine == 'arm64' and sys_platform != 'darwin' and sys_platform != 'win32')",
+ "(python_full_version == '3.12.*' and platform_machine == 'aarch64' and sys_platform != 'darwin' and sys_platform != 'win32') or (python_full_version == '3.12.*' and platform_machine == 'arm64' and sys_platform != 'darwin' and sys_platform != 'win32')",
+ "(python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform != 'darwin' and sys_platform != 'win32') or (python_full_version == '3.11.*' and platform_machine == 'arm64' and sys_platform != 'darwin' and sys_platform != 'win32')",
+ "python_full_version >= '3.13' and platform_machine == 'x86_64' and sys_platform == 'linux'",
+ "python_full_version == '3.12.*' and platform_machine == 'x86_64' and sys_platform == 'linux'",
+ "python_full_version == '3.11.*' and platform_machine == 'x86_64' and sys_platform == 'linux'",
+ "(python_full_version >= '3.13' and platform_machine == 'AMD64' and sys_platform == 'linux') or (python_full_version >= '3.13' and platform_machine == 'AMD64' and sys_platform != 'darwin' and sys_platform != 'win32') or (python_full_version >= '3.13' and platform_machine == 'x86_64' and sys_platform != 'darwin' and sys_platform != 'linux' and sys_platform != 'win32')",
+ "(python_full_version == '3.12.*' and platform_machine == 'AMD64' and sys_platform == 'linux') or (python_full_version == '3.12.*' and platform_machine == 'AMD64' and sys_platform != 'darwin' and sys_platform != 'win32') or (python_full_version == '3.12.*' and platform_machine == 'x86_64' and sys_platform != 'darwin' and sys_platform != 'linux' and sys_platform != 'win32')",
+ "(python_full_version == '3.11.*' and platform_machine == 'AMD64' and sys_platform == 'linux') or (python_full_version == '3.11.*' and platform_machine == 'AMD64' and sys_platform != 'darwin' and sys_platform != 'win32') or (python_full_version == '3.11.*' and platform_machine == 'x86_64' and sys_platform != 'darwin' and sys_platform != 'linux' and sys_platform != 'win32')",
+ "(python_full_version < '3.11' and platform_machine == 'aarch64' and sys_platform != 'darwin' and sys_platform != 'win32') or (python_full_version < '3.11' and platform_machine == 'arm64' and sys_platform != 'darwin' and sys_platform != 'win32')",
+ "python_full_version < '3.11' and platform_machine == 'x86_64' and sys_platform == 'linux'",
+ "(python_full_version < '3.11' and platform_machine == 'AMD64' and sys_platform == 'linux') or (python_full_version < '3.11' and platform_machine == 'AMD64' and sys_platform != 'darwin' and sys_platform != 'win32') or (python_full_version < '3.11' and platform_machine == 'x86_64' and sys_platform != 'darwin' and sys_platform != 'linux' and sys_platform != 'win32')",
+ "python_full_version >= '3.13' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and sys_platform != 'darwin'",
+ "python_full_version == '3.12.*' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and sys_platform != 'darwin'",
+ "python_full_version == '3.11.*' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and sys_platform != 'darwin'",
+ "python_full_version < '3.11' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and sys_platform != 'darwin'",
+]
+dependencies = [
+ { name = "nvidia-cublas-cu12", version = "12.9.1.4", source = { registry = "https://pypi.org/simple" }, marker = "(platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and sys_platform == 'win32' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'AMD64' and sys_platform == 'win32' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and sys_platform == 'win32' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and sys_platform == 'win32' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'x86_64' and sys_platform == 'win32' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform != 'darwin' and sys_platform != 'win32' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform != 'win32' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (sys_platform != 'win32' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (sys_platform != 'win32' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform != 'win32' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform != 'win32' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (sys_platform != 'win32' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform != 'win32' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform != 'win32' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform != 'win32' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "nvidia-cusparse-cu12", version = "12.5.10.65", source = { registry = "https://pypi.org/simple" }, marker = "(platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and sys_platform == 'win32' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'AMD64' and sys_platform == 'win32' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and sys_platform == 'win32' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and sys_platform == 'win32' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'x86_64' and sys_platform == 'win32' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform != 'darwin' and sys_platform != 'win32' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform != 'win32' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (sys_platform != 'win32' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (sys_platform != 'win32' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform != 'win32' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform != 'win32' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (sys_platform != 'win32' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform != 'win32' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform != 'win32' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform != 'win32' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "nvidia-nvjitlink-cu12", version = "12.9.86", source = { registry = "https://pypi.org/simple" }, marker = "(platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and sys_platform == 'win32' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'AMD64' and sys_platform == 'win32' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and sys_platform == 'win32' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and sys_platform == 'win32' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'x86_64' and sys_platform == 'win32' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform != 'darwin' and sys_platform != 'win32' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform != 'win32' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (sys_platform != 'win32' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (sys_platform != 'win32' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform != 'win32' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform != 'win32' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (sys_platform != 'win32' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform != 'win32' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform != 'win32' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform != 'win32' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+]
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/03/99/686ff9bf3a82a531c62b1a5c614476e8dfa24a9d89067aeedf3592ee4538/nvidia_cusolver_cu12-11.7.5.82-py3-none-manylinux_2_27_aarch64.whl", hash = "sha256:62efa83e4ace59a4c734d052bb72158e888aa7b770e1a5f601682f16fe5b4fd2", size = 337869834, upload-time = "2025-06-05T20:06:53.125Z" },
+ { url = "https://files.pythonhosted.org/packages/33/40/79b0c64d44d6c166c0964ec1d803d067f4a145cca23e23925fd351d0e642/nvidia_cusolver_cu12-11.7.5.82-py3-none-manylinux_2_27_x86_64.whl", hash = "sha256:15da72d1340d29b5b3cf3fd100e3cd53421dde36002eda6ed93811af63c40d88", size = 338117415, upload-time = "2025-06-05T20:07:16.809Z" },
+ { url = "https://files.pythonhosted.org/packages/32/5d/feb7f86b809f89b14193beffebe24cf2e4bf7af08372ab8cdd34d19a65a0/nvidia_cusolver_cu12-11.7.5.82-py3-none-win_amd64.whl", hash = "sha256:77666337237716783c6269a658dea310195cddbd80a5b2919b1ba8735cec8efd", size = 326215953, upload-time = "2025-06-05T20:14:41.76Z" },
+]
+
+[[package]]
+name = "nvidia-cusparse-cu12"
+version = "12.5.4.2"
+source = { registry = "https://pypi.org/simple" }
+resolution-markers = [
+ "(python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform != 'darwin') or (python_full_version >= '3.13' and platform_machine == 'arm64' and sys_platform != 'darwin')",
+ "(python_full_version == '3.12.*' and platform_machine == 'aarch64' and sys_platform != 'darwin') or (python_full_version == '3.12.*' and platform_machine == 'arm64' and sys_platform != 'darwin')",
+ "(python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform != 'darwin') or (python_full_version == '3.11.*' and platform_machine == 'arm64' and sys_platform != 'darwin')",
+ "(python_full_version >= '3.13' and platform_machine == 'AMD64') or (python_full_version >= '3.13' and platform_machine == 'x86_64')",
+ "(python_full_version == '3.12.*' and platform_machine == 'AMD64') or (python_full_version == '3.12.*' and platform_machine == 'x86_64')",
+ "(python_full_version == '3.11.*' and platform_machine == 'AMD64') or (python_full_version == '3.11.*' and platform_machine == 'x86_64')",
+ "(python_full_version < '3.11' and platform_machine == 'aarch64' and sys_platform != 'darwin') or (python_full_version < '3.11' and platform_machine == 'arm64' and sys_platform != 'darwin')",
+ "(python_full_version < '3.11' and platform_machine == 'AMD64') or (python_full_version < '3.11' and platform_machine == 'x86_64')",
+ "python_full_version >= '3.13' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64'",
+ "python_full_version == '3.12.*' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64'",
+ "python_full_version == '3.11.*' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64'",
+ "python_full_version < '3.11' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64'",
+]
+dependencies = [
+ { name = "nvidia-nvjitlink-cu12", version = "12.6.85", source = { registry = "https://pypi.org/simple" }, marker = "extra == 'extra-15-gpt-sovits-meta-cu126' or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+]
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/eb/eb/6681efd0aa7df96b4f8067b3ce7246833dd36830bb4cec8896182773db7d/nvidia_cusparse_cu12-12.5.4.2-py3-none-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:d25b62fb18751758fe3c93a4a08eff08effedfe4edf1c6bb5afd0890fe88f887", size = 216451147, upload-time = "2024-11-20T17:44:18.055Z" },
+ { url = "https://files.pythonhosted.org/packages/d3/56/3af21e43014eb40134dea004e8d0f1ef19d9596a39e4d497d5a7de01669f/nvidia_cusparse_cu12-12.5.4.2-py3-none-manylinux2014_aarch64.whl", hash = "sha256:7aa32fa5470cf754f72d1116c7cbc300b4e638d3ae5304cfa4a638a5b87161b1", size = 216451135, upload-time = "2024-10-01T17:06:03.826Z" },
+ { url = "https://files.pythonhosted.org/packages/06/1e/b8b7c2f4099a37b96af5c9bb158632ea9e5d9d27d7391d7eb8fc45236674/nvidia_cusparse_cu12-12.5.4.2-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:7556d9eca156e18184b94947ade0fba5bb47d69cec46bf8660fd2c71a4b48b73", size = 216561367, upload-time = "2024-11-20T17:44:54.824Z" },
+ { url = "https://files.pythonhosted.org/packages/43/ac/64c4316ba163e8217a99680c7605f779accffc6a4bcd0c778c12948d3707/nvidia_cusparse_cu12-12.5.4.2-py3-none-manylinux2014_x86_64.whl", hash = "sha256:23749a6571191a215cb74d1cdbff4a86e7b19f1200c071b3fcf844a5bea23a2f", size = 216561357, upload-time = "2024-10-01T17:06:29.861Z" },
+ { url = "https://files.pythonhosted.org/packages/45/ef/876ad8e4260e1128e6d4aac803d9d51baf3791ebdb4a9b8d9b8db032b4b0/nvidia_cusparse_cu12-12.5.4.2-py3-none-win_amd64.whl", hash = "sha256:4acb8c08855a26d737398cba8fb6f8f5045d93f82612b4cfd84645a2332ccf20", size = 213712630, upload-time = "2024-10-01T17:14:23.779Z" },
+]
+
+[[package]]
+name = "nvidia-cusparse-cu12"
+version = "12.5.8.93"
+source = { registry = "https://pypi.org/simple" }
+resolution-markers = [
+ "(python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform != 'darwin') or (python_full_version >= '3.13' and platform_machine == 'arm64' and sys_platform != 'darwin')",
+ "(python_full_version == '3.12.*' and platform_machine == 'aarch64' and sys_platform != 'darwin') or (python_full_version == '3.12.*' and platform_machine == 'arm64' and sys_platform != 'darwin')",
+ "(python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform != 'darwin') or (python_full_version == '3.11.*' and platform_machine == 'arm64' and sys_platform != 'darwin')",
+ "(python_full_version >= '3.13' and platform_machine == 'AMD64') or (python_full_version >= '3.13' and platform_machine == 'x86_64')",
+ "(python_full_version == '3.12.*' and platform_machine == 'AMD64') or (python_full_version == '3.12.*' and platform_machine == 'x86_64')",
+ "(python_full_version == '3.11.*' and platform_machine == 'AMD64') or (python_full_version == '3.11.*' and platform_machine == 'x86_64')",
+ "(python_full_version < '3.11' and platform_machine == 'aarch64' and sys_platform != 'darwin') or (python_full_version < '3.11' and platform_machine == 'arm64' and sys_platform != 'darwin')",
+ "(python_full_version < '3.11' and platform_machine == 'AMD64') or (python_full_version < '3.11' and platform_machine == 'x86_64')",
+ "python_full_version >= '3.13' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64'",
+ "python_full_version == '3.12.*' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64'",
+ "python_full_version == '3.11.*' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64'",
+ "python_full_version < '3.11' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64'",
+]
+dependencies = [
+ { name = "nvidia-nvjitlink-cu12", version = "12.8.93", source = { registry = "https://pypi.org/simple" }, marker = "(platform_machine == 'AMD64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or extra == 'extra-15-gpt-sovits-meta-cu128' or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+]
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/bc/f7/cd777c4109681367721b00a106f491e0d0d15cfa1fd59672ce580ce42a97/nvidia_cusparse_cu12-12.5.8.93-py3-none-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:9b6c161cb130be1a07a27ea6923df8141f3c295852f4b260c65f18f3e0a091dc", size = 288117129, upload-time = "2025-03-07T01:47:40.407Z" },
+ { url = "https://files.pythonhosted.org/packages/c2/f5/e1854cb2f2bcd4280c44736c93550cc300ff4b8c95ebe370d0aa7d2b473d/nvidia_cusparse_cu12-12.5.8.93-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:1ec05d76bbbd8b61b06a80e1eaf8cf4959c3d4ce8e711b65ebd0443bb0ebb13b", size = 288216466, upload-time = "2025-03-07T01:48:13.779Z" },
+ { url = "https://files.pythonhosted.org/packages/62/07/f3b2ad63f8e3d257a599f422ae34eb565e70c41031aecefa3d18b62cabd1/nvidia_cusparse_cu12-12.5.8.93-py3-none-win_amd64.whl", hash = "sha256:9a33604331cb2cac199f2e7f5104dfbb8a5a898c367a53dfda9ff2acb6b6b4dd", size = 284937404, upload-time = "2025-03-07T01:55:07.742Z" },
+]
+
+[[package]]
+name = "nvidia-cusparse-cu12"
+version = "12.5.10.65"
+source = { registry = "https://pypi.org/simple" }
+resolution-markers = [
+ "(python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform != 'darwin' and sys_platform != 'win32') or (python_full_version >= '3.13' and platform_machine == 'arm64' and sys_platform != 'darwin' and sys_platform != 'win32')",
+ "(python_full_version == '3.12.*' and platform_machine == 'aarch64' and sys_platform != 'darwin' and sys_platform != 'win32') or (python_full_version == '3.12.*' and platform_machine == 'arm64' and sys_platform != 'darwin' and sys_platform != 'win32')",
+ "(python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform != 'darwin' and sys_platform != 'win32') or (python_full_version == '3.11.*' and platform_machine == 'arm64' and sys_platform != 'darwin' and sys_platform != 'win32')",
+ "python_full_version >= '3.13' and platform_machine == 'x86_64' and sys_platform == 'linux'",
+ "python_full_version == '3.12.*' and platform_machine == 'x86_64' and sys_platform == 'linux'",
+ "python_full_version == '3.11.*' and platform_machine == 'x86_64' and sys_platform == 'linux'",
+ "(python_full_version >= '3.13' and platform_machine == 'AMD64' and sys_platform == 'linux') or (python_full_version >= '3.13' and platform_machine == 'AMD64' and sys_platform != 'darwin' and sys_platform != 'win32') or (python_full_version >= '3.13' and platform_machine == 'x86_64' and sys_platform != 'darwin' and sys_platform != 'linux' and sys_platform != 'win32')",
+ "(python_full_version == '3.12.*' and platform_machine == 'AMD64' and sys_platform == 'linux') or (python_full_version == '3.12.*' and platform_machine == 'AMD64' and sys_platform != 'darwin' and sys_platform != 'win32') or (python_full_version == '3.12.*' and platform_machine == 'x86_64' and sys_platform != 'darwin' and sys_platform != 'linux' and sys_platform != 'win32')",
+ "(python_full_version == '3.11.*' and platform_machine == 'AMD64' and sys_platform == 'linux') or (python_full_version == '3.11.*' and platform_machine == 'AMD64' and sys_platform != 'darwin' and sys_platform != 'win32') or (python_full_version == '3.11.*' and platform_machine == 'x86_64' and sys_platform != 'darwin' and sys_platform != 'linux' and sys_platform != 'win32')",
+ "(python_full_version < '3.11' and platform_machine == 'aarch64' and sys_platform != 'darwin' and sys_platform != 'win32') or (python_full_version < '3.11' and platform_machine == 'arm64' and sys_platform != 'darwin' and sys_platform != 'win32')",
+ "python_full_version < '3.11' and platform_machine == 'x86_64' and sys_platform == 'linux'",
+ "(python_full_version < '3.11' and platform_machine == 'AMD64' and sys_platform == 'linux') or (python_full_version < '3.11' and platform_machine == 'AMD64' and sys_platform != 'darwin' and sys_platform != 'win32') or (python_full_version < '3.11' and platform_machine == 'x86_64' and sys_platform != 'darwin' and sys_platform != 'linux' and sys_platform != 'win32')",
+ "python_full_version >= '3.13' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and sys_platform != 'darwin'",
+ "python_full_version == '3.12.*' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and sys_platform != 'darwin'",
+ "python_full_version == '3.11.*' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and sys_platform != 'darwin'",
+ "python_full_version < '3.11' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and sys_platform != 'darwin'",
+]
+dependencies = [
+ { name = "nvidia-nvjitlink-cu12", version = "12.9.86", source = { registry = "https://pypi.org/simple" }, marker = "(platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and sys_platform == 'win32' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'AMD64' and sys_platform == 'win32' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and sys_platform == 'win32' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and sys_platform == 'win32' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'x86_64' and sys_platform == 'win32' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform != 'darwin' and sys_platform != 'win32' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform != 'win32' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (sys_platform != 'win32' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (sys_platform != 'win32' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform != 'win32' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform != 'win32' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (sys_platform != 'win32' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform != 'win32' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform != 'win32' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform != 'win32' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+]
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/5e/6f/8710fbd17cdd1d0fc3fea7d36d5b65ce1933611c31e1861da330206b253a/nvidia_cusparse_cu12-12.5.10.65-py3-none-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:221c73e7482dd93eda44e65ce567c031c07e2f93f6fa0ecd3ba876a195023e83", size = 366359408, upload-time = "2025-06-05T20:07:42.501Z" },
+ { url = "https://files.pythonhosted.org/packages/12/46/b0fd4b04f86577921feb97d8e2cf028afe04f614d17fb5013de9282c9216/nvidia_cusparse_cu12-12.5.10.65-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:73060ce019ac064a057267c585bf1fd5a353734151f87472ff02b2c5c9984e78", size = 366465088, upload-time = "2025-06-05T20:08:20.413Z" },
+ { url = "https://files.pythonhosted.org/packages/73/ef/063500c25670fbd1cbb0cd3eb7c8a061585b53adb4dd8bf3492bb49b0df3/nvidia_cusparse_cu12-12.5.10.65-py3-none-win_amd64.whl", hash = "sha256:9e487468a22a1eaf1fbd1d2035936a905feb79c4ce5c2f67626764ee4f90227c", size = 362504719, upload-time = "2025-06-05T20:15:17.947Z" },
+]
+
+[[package]]
+name = "nvidia-cusparselt-cu12"
+version = "0.7.1"
+source = { registry = "https://pypi.org/simple" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/73/b9/598f6ff36faaece4b3c50d26f50e38661499ff34346f00e057760b35cc9d/nvidia_cusparselt_cu12-0.7.1-py3-none-manylinux2014_aarch64.whl", hash = "sha256:8878dce784d0fac90131b6817b607e803c36e629ba34dc5b433471382196b6a5", size = 283835557, upload-time = "2025-02-26T00:16:54.265Z" },
+ { url = "https://files.pythonhosted.org/packages/56/79/12978b96bd44274fe38b5dde5cfb660b1d114f70a65ef962bcbbed99b549/nvidia_cusparselt_cu12-0.7.1-py3-none-manylinux2014_x86_64.whl", hash = "sha256:f1bb701d6b930d5a7cea44c19ceb973311500847f81b634d802b7b539dc55623", size = 287193691, upload-time = "2025-02-26T00:15:44.104Z" },
+ { url = "https://files.pythonhosted.org/packages/2f/d8/a6b0d0d0c2435e9310f3e2bb0d9c9dd4c33daef86aa5f30b3681defd37ea/nvidia_cusparselt_cu12-0.7.1-py3-none-win_amd64.whl", hash = "sha256:f67fbb5831940ec829c9117b7f33807db9f9678dc2a617fbe781cac17b4e1075", size = 271020911, upload-time = "2025-02-26T00:14:47.204Z" },
+]
+
+[[package]]
+name = "nvidia-nccl-cu12"
+version = "2.27.5"
+source = { registry = "https://pypi.org/simple" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/bb/1c/857979db0ef194ca5e21478a0612bcdbbe59458d7694361882279947b349/nvidia_nccl_cu12-2.27.5-py3-none-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:31432ad4d1fb1004eb0c56203dc9bc2178a1ba69d1d9e02d64a6938ab5e40e7a", size = 322400625, upload-time = "2025-06-26T04:11:04.496Z" },
+ { url = "https://files.pythonhosted.org/packages/6e/89/f7a07dc961b60645dbbf42e80f2bc85ade7feb9a491b11a1e973aa00071f/nvidia_nccl_cu12-2.27.5-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:ad730cf15cb5d25fe849c6e6ca9eb5b76db16a80f13f425ac68d8e2e55624457", size = 322348229, upload-time = "2025-06-26T04:11:28.385Z" },
+]
+
+[[package]]
+name = "nvidia-nvjitlink-cu12"
+version = "12.6.85"
+source = { registry = "https://pypi.org/simple" }
+resolution-markers = [
+ "(python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform != 'darwin') or (python_full_version >= '3.13' and platform_machine == 'arm64' and sys_platform != 'darwin')",
+ "(python_full_version == '3.12.*' and platform_machine == 'aarch64' and sys_platform != 'darwin') or (python_full_version == '3.12.*' and platform_machine == 'arm64' and sys_platform != 'darwin')",
+ "(python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform != 'darwin') or (python_full_version == '3.11.*' and platform_machine == 'arm64' and sys_platform != 'darwin')",
+ "(python_full_version >= '3.13' and platform_machine == 'AMD64') or (python_full_version >= '3.13' and platform_machine == 'x86_64')",
+ "(python_full_version == '3.12.*' and platform_machine == 'AMD64') or (python_full_version == '3.12.*' and platform_machine == 'x86_64')",
+ "(python_full_version == '3.11.*' and platform_machine == 'AMD64') or (python_full_version == '3.11.*' and platform_machine == 'x86_64')",
+ "(python_full_version < '3.11' and platform_machine == 'aarch64' and sys_platform != 'darwin') or (python_full_version < '3.11' and platform_machine == 'arm64' and sys_platform != 'darwin')",
+ "(python_full_version < '3.11' and platform_machine == 'AMD64') or (python_full_version < '3.11' and platform_machine == 'x86_64')",
+ "python_full_version >= '3.13' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64'",
+ "python_full_version == '3.12.*' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64'",
+ "python_full_version == '3.11.*' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64'",
+ "python_full_version < '3.11' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64'",
+]
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/9d/d7/c5383e47c7e9bf1c99d5bd2a8c935af2b6d705ad831a7ec5c97db4d82f4f/nvidia_nvjitlink_cu12-12.6.85-py3-none-manylinux2010_x86_64.manylinux_2_12_x86_64.whl", hash = "sha256:eedc36df9e88b682efe4309aa16b5b4e78c2407eac59e8c10a6a47535164369a", size = 19744971, upload-time = "2024-11-20T17:46:53.366Z" },
+ { url = "https://files.pythonhosted.org/packages/31/db/dc71113d441f208cdfe7ae10d4983884e13f464a6252450693365e166dcf/nvidia_nvjitlink_cu12-12.6.85-py3-none-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:cf4eaa7d4b6b543ffd69d6abfb11efdeb2db48270d94dfd3a452c24150829e41", size = 19270338, upload-time = "2024-11-20T17:46:29.758Z" },
+ { url = "https://files.pythonhosted.org/packages/89/76/93c1467b1387387440a4d25102d86b7794535449b689f8e2dc22c1c8ff7f/nvidia_nvjitlink_cu12-12.6.85-py3-none-win_amd64.whl", hash = "sha256:e61120e52ed675747825cdd16febc6a0730537451d867ee58bee3853b1b13d1c", size = 161908572, upload-time = "2024-11-20T17:52:40.124Z" },
+]
+
+[[package]]
+name = "nvidia-nvjitlink-cu12"
+version = "12.8.93"
+source = { registry = "https://pypi.org/simple" }
+resolution-markers = [
+ "(python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform != 'darwin') or (python_full_version >= '3.13' and platform_machine == 'arm64' and sys_platform != 'darwin')",
+ "(python_full_version == '3.12.*' and platform_machine == 'aarch64' and sys_platform != 'darwin') or (python_full_version == '3.12.*' and platform_machine == 'arm64' and sys_platform != 'darwin')",
+ "(python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform != 'darwin') or (python_full_version == '3.11.*' and platform_machine == 'arm64' and sys_platform != 'darwin')",
+ "(python_full_version >= '3.13' and platform_machine == 'AMD64') or (python_full_version >= '3.13' and platform_machine == 'x86_64')",
+ "(python_full_version == '3.12.*' and platform_machine == 'AMD64') or (python_full_version == '3.12.*' and platform_machine == 'x86_64')",
+ "(python_full_version == '3.11.*' and platform_machine == 'AMD64') or (python_full_version == '3.11.*' and platform_machine == 'x86_64')",
+ "(python_full_version < '3.11' and platform_machine == 'aarch64' and sys_platform != 'darwin') or (python_full_version < '3.11' and platform_machine == 'arm64' and sys_platform != 'darwin')",
+ "(python_full_version < '3.11' and platform_machine == 'AMD64') or (python_full_version < '3.11' and platform_machine == 'x86_64')",
+ "python_full_version >= '3.13' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64'",
+ "python_full_version == '3.12.*' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64'",
+ "python_full_version == '3.11.*' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64'",
+ "python_full_version < '3.11' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64'",
+]
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/f6/74/86a07f1d0f42998ca31312f998bd3b9a7eff7f52378f4f270c8679c77fb9/nvidia_nvjitlink_cu12-12.8.93-py3-none-manylinux2010_x86_64.manylinux_2_12_x86_64.whl", hash = "sha256:81ff63371a7ebd6e6451970684f916be2eab07321b73c9d244dc2b4da7f73b88", size = 39254836, upload-time = "2025-03-07T01:49:55.661Z" },
+ { url = "https://files.pythonhosted.org/packages/2a/a2/8cee5da30d13430e87bf99bb33455d2724d0a4a9cb5d7926d80ccb96d008/nvidia_nvjitlink_cu12-12.8.93-py3-none-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:adccd7161ace7261e01bb91e44e88da350895c270d23f744f0820c818b7229e7", size = 38386204, upload-time = "2025-03-07T01:49:43.612Z" },
+ { url = "https://files.pythonhosted.org/packages/ed/d7/34f02dad2e30c31b10a51f6b04e025e5dd60e5f936af9045a9b858a05383/nvidia_nvjitlink_cu12-12.8.93-py3-none-win_amd64.whl", hash = "sha256:bd93fbeeee850917903583587f4fc3a4eafa022e34572251368238ab5e6bd67f", size = 268553710, upload-time = "2025-03-07T01:56:24.13Z" },
+]
+
+[[package]]
+name = "nvidia-nvjitlink-cu12"
+version = "12.9.86"
+source = { registry = "https://pypi.org/simple" }
+resolution-markers = [
+ "(python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform != 'darwin' and sys_platform != 'win32') or (python_full_version >= '3.13' and platform_machine == 'arm64' and sys_platform != 'darwin' and sys_platform != 'win32')",
+ "(python_full_version == '3.12.*' and platform_machine == 'aarch64' and sys_platform != 'darwin' and sys_platform != 'win32') or (python_full_version == '3.12.*' and platform_machine == 'arm64' and sys_platform != 'darwin' and sys_platform != 'win32')",
+ "(python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform != 'darwin' and sys_platform != 'win32') or (python_full_version == '3.11.*' and platform_machine == 'arm64' and sys_platform != 'darwin' and sys_platform != 'win32')",
+ "python_full_version >= '3.13' and platform_machine == 'x86_64' and sys_platform == 'linux'",
+ "python_full_version == '3.12.*' and platform_machine == 'x86_64' and sys_platform == 'linux'",
+ "python_full_version == '3.11.*' and platform_machine == 'x86_64' and sys_platform == 'linux'",
+ "(python_full_version >= '3.13' and platform_machine == 'AMD64' and sys_platform == 'linux') or (python_full_version >= '3.13' and platform_machine == 'AMD64' and sys_platform != 'darwin' and sys_platform != 'win32') or (python_full_version >= '3.13' and platform_machine == 'x86_64' and sys_platform != 'darwin' and sys_platform != 'linux' and sys_platform != 'win32')",
+ "(python_full_version == '3.12.*' and platform_machine == 'AMD64' and sys_platform == 'linux') or (python_full_version == '3.12.*' and platform_machine == 'AMD64' and sys_platform != 'darwin' and sys_platform != 'win32') or (python_full_version == '3.12.*' and platform_machine == 'x86_64' and sys_platform != 'darwin' and sys_platform != 'linux' and sys_platform != 'win32')",
+ "(python_full_version == '3.11.*' and platform_machine == 'AMD64' and sys_platform == 'linux') or (python_full_version == '3.11.*' and platform_machine == 'AMD64' and sys_platform != 'darwin' and sys_platform != 'win32') or (python_full_version == '3.11.*' and platform_machine == 'x86_64' and sys_platform != 'darwin' and sys_platform != 'linux' and sys_platform != 'win32')",
+ "(python_full_version < '3.11' and platform_machine == 'aarch64' and sys_platform != 'darwin' and sys_platform != 'win32') or (python_full_version < '3.11' and platform_machine == 'arm64' and sys_platform != 'darwin' and sys_platform != 'win32')",
+ "python_full_version < '3.11' and platform_machine == 'x86_64' and sys_platform == 'linux'",
+ "(python_full_version < '3.11' and platform_machine == 'AMD64' and sys_platform == 'linux') or (python_full_version < '3.11' and platform_machine == 'AMD64' and sys_platform != 'darwin' and sys_platform != 'win32') or (python_full_version < '3.11' and platform_machine == 'x86_64' and sys_platform != 'darwin' and sys_platform != 'linux' and sys_platform != 'win32')",
+ "python_full_version >= '3.13' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and sys_platform != 'darwin'",
+ "python_full_version == '3.12.*' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and sys_platform != 'darwin'",
+ "python_full_version == '3.11.*' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and sys_platform != 'darwin'",
+ "python_full_version < '3.11' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and sys_platform != 'darwin'",
+]
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/46/0c/c75bbfb967457a0b7670b8ad267bfc4fffdf341c074e0a80db06c24ccfd4/nvidia_nvjitlink_cu12-12.9.86-py3-none-manylinux2010_x86_64.manylinux_2_12_x86_64.whl", hash = "sha256:e3f1171dbdc83c5932a45f0f4c99180a70de9bd2718c1ab77d14104f6d7147f9", size = 39748338, upload-time = "2025-06-05T20:10:25.613Z" },
+ { url = "https://files.pythonhosted.org/packages/97/bc/2dcba8e70cf3115b400fef54f213bcd6715a3195eba000f8330f11e40c45/nvidia_nvjitlink_cu12-12.9.86-py3-none-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:994a05ef08ef4b0b299829cde613a424382aff7efb08a7172c1fa616cc3af2ca", size = 39514880, upload-time = "2025-06-05T20:10:04.89Z" },
+ { url = "https://files.pythonhosted.org/packages/dd/7e/2eecb277d8a98184d881fb98a738363fd4f14577a4d2d7f8264266e82623/nvidia_nvjitlink_cu12-12.9.86-py3-none-win_amd64.whl", hash = "sha256:cc6fcec260ca843c10e34c936921a1c426b351753587fdd638e8cff7b16bb9db", size = 35584936, upload-time = "2025-06-05T20:16:08.525Z" },
+]
+
+[[package]]
+name = "nvidia-nvshmem-cu12"
+version = "3.3.20"
+source = { registry = "https://pypi.org/simple" }
+resolution-markers = [
+ "(python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform != 'darwin' and sys_platform != 'win32') or (python_full_version >= '3.13' and platform_machine == 'arm64' and sys_platform != 'darwin' and sys_platform != 'win32')",
+ "(python_full_version == '3.12.*' and platform_machine == 'aarch64' and sys_platform != 'darwin' and sys_platform != 'win32') or (python_full_version == '3.12.*' and platform_machine == 'arm64' and sys_platform != 'darwin' and sys_platform != 'win32')",
+ "(python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform != 'darwin' and sys_platform != 'win32') or (python_full_version == '3.11.*' and platform_machine == 'arm64' and sys_platform != 'darwin' and sys_platform != 'win32')",
+ "python_full_version >= '3.13' and platform_machine == 'x86_64' and sys_platform == 'linux'",
+ "python_full_version == '3.12.*' and platform_machine == 'x86_64' and sys_platform == 'linux'",
+ "python_full_version == '3.11.*' and platform_machine == 'x86_64' and sys_platform == 'linux'",
+ "(python_full_version >= '3.13' and platform_machine == 'AMD64' and sys_platform == 'linux') or (python_full_version >= '3.13' and platform_machine == 'AMD64' and sys_platform != 'darwin' and sys_platform != 'win32') or (python_full_version >= '3.13' and platform_machine == 'x86_64' and sys_platform != 'darwin' and sys_platform != 'linux' and sys_platform != 'win32')",
+ "(python_full_version == '3.12.*' and platform_machine == 'AMD64' and sys_platform == 'linux') or (python_full_version == '3.12.*' and platform_machine == 'AMD64' and sys_platform != 'darwin' and sys_platform != 'win32') or (python_full_version == '3.12.*' and platform_machine == 'x86_64' and sys_platform != 'darwin' and sys_platform != 'linux' and sys_platform != 'win32')",
+ "(python_full_version == '3.11.*' and platform_machine == 'AMD64' and sys_platform == 'linux') or (python_full_version == '3.11.*' and platform_machine == 'AMD64' and sys_platform != 'darwin' and sys_platform != 'win32') or (python_full_version == '3.11.*' and platform_machine == 'x86_64' and sys_platform != 'darwin' and sys_platform != 'linux' and sys_platform != 'win32')",
+ "(python_full_version < '3.11' and platform_machine == 'aarch64' and sys_platform != 'darwin' and sys_platform != 'win32') or (python_full_version < '3.11' and platform_machine == 'arm64' and sys_platform != 'darwin' and sys_platform != 'win32')",
+ "python_full_version < '3.11' and platform_machine == 'x86_64' and sys_platform == 'linux'",
+ "(python_full_version < '3.11' and platform_machine == 'AMD64' and sys_platform == 'linux') or (python_full_version < '3.11' and platform_machine == 'AMD64' and sys_platform != 'darwin' and sys_platform != 'win32') or (python_full_version < '3.11' and platform_machine == 'x86_64' and sys_platform != 'darwin' and sys_platform != 'linux' and sys_platform != 'win32')",
+ "python_full_version >= '3.13' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and sys_platform != 'darwin'",
+ "python_full_version == '3.12.*' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and sys_platform != 'darwin'",
+ "python_full_version == '3.11.*' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and sys_platform != 'darwin'",
+ "python_full_version < '3.11' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and sys_platform != 'darwin'",
+]
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/92/9d/3dd98852568fb845ec1f7902c90a22b240fe1cbabda411ccedf2fd737b7b/nvidia_nvshmem_cu12-3.3.20-py3-none-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:0b0b960da3842212758e4fa4696b94f129090b30e5122fea3c5345916545cff0", size = 124484616, upload-time = "2025-08-04T20:24:59.172Z" },
+ { url = "https://files.pythonhosted.org/packages/3b/6c/99acb2f9eb85c29fc6f3a7ac4dccfd992e22666dd08a642b303311326a97/nvidia_nvshmem_cu12-3.3.20-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:d00f26d3f9b2e3c3065be895e3059d6479ea5c638a3f38c9fec49b1b9dd7c1e5", size = 124657145, upload-time = "2025-08-04T20:25:19.995Z" },
+]
+
+[[package]]
+name = "nvidia-nvshmem-cu12"
+version = "3.4.5"
+source = { registry = "https://pypi.org/simple" }
+resolution-markers = [
+ "(python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform != 'darwin') or (python_full_version >= '3.13' and platform_machine == 'arm64' and sys_platform != 'darwin')",
+ "(python_full_version == '3.12.*' and platform_machine == 'aarch64' and sys_platform != 'darwin') or (python_full_version == '3.12.*' and platform_machine == 'arm64' and sys_platform != 'darwin')",
+ "(python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform != 'darwin') or (python_full_version == '3.11.*' and platform_machine == 'arm64' and sys_platform != 'darwin')",
+ "(python_full_version >= '3.13' and platform_machine == 'AMD64') or (python_full_version >= '3.13' and platform_machine == 'x86_64')",
+ "(python_full_version == '3.12.*' and platform_machine == 'AMD64') or (python_full_version == '3.12.*' and platform_machine == 'x86_64')",
+ "(python_full_version == '3.11.*' and platform_machine == 'AMD64') or (python_full_version == '3.11.*' and platform_machine == 'x86_64')",
+ "(python_full_version < '3.11' and platform_machine == 'aarch64' and sys_platform != 'darwin') or (python_full_version < '3.11' and platform_machine == 'arm64' and sys_platform != 'darwin')",
+ "(python_full_version < '3.11' and platform_machine == 'AMD64') or (python_full_version < '3.11' and platform_machine == 'x86_64')",
+ "python_full_version >= '3.13' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64'",
+ "python_full_version == '3.12.*' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64'",
+ "python_full_version == '3.11.*' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64'",
+ "python_full_version < '3.11' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64'",
+]
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/1d/6a/03aa43cc9bd3ad91553a88b5f6fb25ed6a3752ae86ce2180221962bc2aa5/nvidia_nvshmem_cu12-3.4.5-py3-none-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:0b48363fc6964dede448029434c6abed6c5e37f823cb43c3bcde7ecfc0457e15", size = 138936938, upload-time = "2025-09-06T00:32:05.589Z" },
+ { url = "https://files.pythonhosted.org/packages/b5/09/6ea3ea725f82e1e76684f0708bbedd871fc96da89945adeba65c3835a64c/nvidia_nvshmem_cu12-3.4.5-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:042f2500f24c021db8a06c5eec2539027d57460e1c1a762055a6554f72c369bd", size = 139103095, upload-time = "2025-09-06T00:32:31.266Z" },
+]
+
+[[package]]
+name = "nvidia-nvtx-cu12"
+version = "12.6.77"
+source = { registry = "https://pypi.org/simple" }
+resolution-markers = [
+ "(python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform != 'darwin') or (python_full_version >= '3.13' and platform_machine == 'arm64' and sys_platform != 'darwin')",
+ "(python_full_version == '3.12.*' and platform_machine == 'aarch64' and sys_platform != 'darwin') or (python_full_version == '3.12.*' and platform_machine == 'arm64' and sys_platform != 'darwin')",
+ "(python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform != 'darwin') or (python_full_version == '3.11.*' and platform_machine == 'arm64' and sys_platform != 'darwin')",
+ "(python_full_version >= '3.13' and platform_machine == 'AMD64') or (python_full_version >= '3.13' and platform_machine == 'x86_64')",
+ "(python_full_version == '3.12.*' and platform_machine == 'AMD64') or (python_full_version == '3.12.*' and platform_machine == 'x86_64')",
+ "(python_full_version == '3.11.*' and platform_machine == 'AMD64') or (python_full_version == '3.11.*' and platform_machine == 'x86_64')",
+ "(python_full_version < '3.11' and platform_machine == 'aarch64' and sys_platform != 'darwin') or (python_full_version < '3.11' and platform_machine == 'arm64' and sys_platform != 'darwin')",
+ "(python_full_version < '3.11' and platform_machine == 'AMD64') or (python_full_version < '3.11' and platform_machine == 'x86_64')",
+ "python_full_version >= '3.13' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64'",
+ "python_full_version == '3.12.*' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64'",
+ "python_full_version == '3.11.*' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64'",
+ "python_full_version < '3.11' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64'",
+]
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/b9/93/80f8a520375af9d7ee44571a6544653a176e53c2b8ccce85b97b83c2491b/nvidia_nvtx_cu12-12.6.77-py3-none-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:f44f8d86bb7d5629988d61c8d3ae61dddb2015dee142740536bc7481b022fe4b", size = 90549, upload-time = "2024-11-20T17:38:17.387Z" },
+ { url = "https://files.pythonhosted.org/packages/2b/53/36e2fd6c7068997169b49ffc8c12d5af5e5ff209df6e1a2c4d373b3a638f/nvidia_nvtx_cu12-12.6.77-py3-none-manylinux2014_aarch64.whl", hash = "sha256:adcaabb9d436c9761fca2b13959a2d237c5f9fd406c8e4b723c695409ff88059", size = 90539, upload-time = "2024-10-01T17:00:27.179Z" },
+ { url = "https://files.pythonhosted.org/packages/56/9a/fff8376f8e3d084cd1530e1ef7b879bb7d6d265620c95c1b322725c694f4/nvidia_nvtx_cu12-12.6.77-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:b90bed3df379fa79afbd21be8e04a0314336b8ae16768b58f2d34cb1d04cd7d2", size = 89276, upload-time = "2024-11-20T17:38:27.621Z" },
+ { url = "https://files.pythonhosted.org/packages/9e/4e/0d0c945463719429b7bd21dece907ad0bde437a2ff12b9b12fee94722ab0/nvidia_nvtx_cu12-12.6.77-py3-none-manylinux2014_x86_64.whl", hash = "sha256:6574241a3ec5fdc9334353ab8c479fe75841dbe8f4532a8fc97ce63503330ba1", size = 89265, upload-time = "2024-10-01T17:00:38.172Z" },
+ { url = "https://files.pythonhosted.org/packages/f7/cd/98a447919d4ed14d407ac82b14b0a0c9c1dbfe81099934b1fc3bfd1e6316/nvidia_nvtx_cu12-12.6.77-py3-none-win_amd64.whl", hash = "sha256:2fb11a4af04a5e6c84073e6404d26588a34afd35379f0855a99797897efa75c0", size = 56434, upload-time = "2024-10-01T17:11:13.124Z" },
+]
+
+[[package]]
+name = "nvidia-nvtx-cu12"
+version = "12.8.90"
+source = { registry = "https://pypi.org/simple" }
+resolution-markers = [
+ "(python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform != 'darwin') or (python_full_version >= '3.13' and platform_machine == 'arm64' and sys_platform != 'darwin')",
+ "(python_full_version == '3.12.*' and platform_machine == 'aarch64' and sys_platform != 'darwin') or (python_full_version == '3.12.*' and platform_machine == 'arm64' and sys_platform != 'darwin')",
+ "(python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform != 'darwin') or (python_full_version == '3.11.*' and platform_machine == 'arm64' and sys_platform != 'darwin')",
+ "(python_full_version >= '3.13' and platform_machine == 'AMD64') or (python_full_version >= '3.13' and platform_machine == 'x86_64')",
+ "(python_full_version == '3.12.*' and platform_machine == 'AMD64') or (python_full_version == '3.12.*' and platform_machine == 'x86_64')",
+ "(python_full_version == '3.11.*' and platform_machine == 'AMD64') or (python_full_version == '3.11.*' and platform_machine == 'x86_64')",
+ "(python_full_version < '3.11' and platform_machine == 'aarch64' and sys_platform != 'darwin') or (python_full_version < '3.11' and platform_machine == 'arm64' and sys_platform != 'darwin')",
+ "(python_full_version < '3.11' and platform_machine == 'AMD64') or (python_full_version < '3.11' and platform_machine == 'x86_64')",
+ "python_full_version >= '3.13' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64'",
+ "python_full_version == '3.12.*' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64'",
+ "python_full_version == '3.11.*' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64'",
+ "python_full_version < '3.11' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64'",
+]
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/10/c0/1b303feea90d296f6176f32a2a70b5ef230f9bdeb3a72bddb0dc922dc137/nvidia_nvtx_cu12-12.8.90-py3-none-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:d7ad891da111ebafbf7e015d34879f7112832fc239ff0d7d776b6cb685274615", size = 91161, upload-time = "2025-03-07T01:42:23.922Z" },
+ { url = "https://files.pythonhosted.org/packages/a2/eb/86626c1bbc2edb86323022371c39aa48df6fd8b0a1647bc274577f72e90b/nvidia_nvtx_cu12-12.8.90-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:5b17e2001cc0d751a5bc2c6ec6d26ad95913324a4adb86788c944f8ce9ba441f", size = 89954, upload-time = "2025-03-07T01:42:44.131Z" },
+ { url = "https://files.pythonhosted.org/packages/9f/99/4c9c0c329bf9fc125008c3b54c7c94c0023518d06fc025ae36431375e1fe/nvidia_nvtx_cu12-12.8.90-py3-none-win_amd64.whl", hash = "sha256:619c8304aedc69f02ea82dd244541a83c3d9d40993381b3b590f1adaed3db41e", size = 56492, upload-time = "2025-03-07T01:52:24.69Z" },
+]
+
+[[package]]
+name = "nvidia-nvtx-cu12"
+version = "12.9.79"
+source = { registry = "https://pypi.org/simple" }
+resolution-markers = [
+ "(python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform != 'darwin' and sys_platform != 'win32') or (python_full_version >= '3.13' and platform_machine == 'arm64' and sys_platform != 'darwin' and sys_platform != 'win32')",
+ "(python_full_version == '3.12.*' and platform_machine == 'aarch64' and sys_platform != 'darwin' and sys_platform != 'win32') or (python_full_version == '3.12.*' and platform_machine == 'arm64' and sys_platform != 'darwin' and sys_platform != 'win32')",
+ "(python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform != 'darwin' and sys_platform != 'win32') or (python_full_version == '3.11.*' and platform_machine == 'arm64' and sys_platform != 'darwin' and sys_platform != 'win32')",
+ "python_full_version >= '3.13' and platform_machine == 'x86_64' and sys_platform == 'linux'",
+ "python_full_version == '3.12.*' and platform_machine == 'x86_64' and sys_platform == 'linux'",
+ "python_full_version == '3.11.*' and platform_machine == 'x86_64' and sys_platform == 'linux'",
+ "(python_full_version >= '3.13' and platform_machine == 'AMD64' and sys_platform == 'linux') or (python_full_version >= '3.13' and platform_machine == 'AMD64' and sys_platform != 'darwin' and sys_platform != 'win32') or (python_full_version >= '3.13' and platform_machine == 'x86_64' and sys_platform != 'darwin' and sys_platform != 'linux' and sys_platform != 'win32')",
+ "(python_full_version == '3.12.*' and platform_machine == 'AMD64' and sys_platform == 'linux') or (python_full_version == '3.12.*' and platform_machine == 'AMD64' and sys_platform != 'darwin' and sys_platform != 'win32') or (python_full_version == '3.12.*' and platform_machine == 'x86_64' and sys_platform != 'darwin' and sys_platform != 'linux' and sys_platform != 'win32')",
+ "(python_full_version == '3.11.*' and platform_machine == 'AMD64' and sys_platform == 'linux') or (python_full_version == '3.11.*' and platform_machine == 'AMD64' and sys_platform != 'darwin' and sys_platform != 'win32') or (python_full_version == '3.11.*' and platform_machine == 'x86_64' and sys_platform != 'darwin' and sys_platform != 'linux' and sys_platform != 'win32')",
+ "(python_full_version < '3.11' and platform_machine == 'aarch64' and sys_platform != 'darwin' and sys_platform != 'win32') or (python_full_version < '3.11' and platform_machine == 'arm64' and sys_platform != 'darwin' and sys_platform != 'win32')",
+ "python_full_version < '3.11' and platform_machine == 'x86_64' and sys_platform == 'linux'",
+ "(python_full_version < '3.11' and platform_machine == 'AMD64' and sys_platform == 'linux') or (python_full_version < '3.11' and platform_machine == 'AMD64' and sys_platform != 'darwin' and sys_platform != 'win32') or (python_full_version < '3.11' and platform_machine == 'x86_64' and sys_platform != 'darwin' and sys_platform != 'linux' and sys_platform != 'win32')",
+ "python_full_version >= '3.13' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and sys_platform != 'darwin'",
+ "python_full_version == '3.12.*' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and sys_platform != 'darwin'",
+ "python_full_version == '3.11.*' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and sys_platform != 'darwin'",
+ "python_full_version < '3.11' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and sys_platform != 'darwin'",
+]
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/86/ed/bb230dce7741f2778ba2ae3e8778fdb8bc58eee9fd95f07bf7b2d18e8081/nvidia_nvtx_cu12-12.9.79-py3-none-manylinux1_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:fec150986817f2b4e7eed72ed059f2dcb9ba3856b9a96134e448eac946a6952f", size = 85504, upload-time = "2025-06-05T20:03:10.21Z" },
+ { url = "https://files.pythonhosted.org/packages/c4/e4/82155e4aaedb41621087ba219c95e99c5e417f37a7649b4fb6ec32dcb14d/nvidia_nvtx_cu12-12.9.79-py3-none-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:d1f258e752294acdb4f61c3d31fee87bd0f60e459f1e2f624376369b524cd15d", size = 86120, upload-time = "2025-06-05T20:02:51.838Z" },
+ { url = "https://files.pythonhosted.org/packages/9a/cc/efd28e4b3f4019f7ef176f4baa5c1ef7dcd3ac8c9e6d2b15bcbf3f1297d3/nvidia_nvtx_cu12-12.9.79-py3-none-win_amd64.whl", hash = "sha256:1f504e573b3a955e55aae6c747e2ae561b63fdcafcd591e43d18dae9875504f8", size = 77774, upload-time = "2025-06-05T20:12:39.44Z" },
+]
+
+[[package]]
+name = "omegaconf"
+version = "2.3.0"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "antlr4-python3-runtime" },
+ { name = "pyyaml" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/09/48/6388f1bb9da707110532cb70ec4d2822858ddfb44f1cdf1233c20a80ea4b/omegaconf-2.3.0.tar.gz", hash = "sha256:d5d4b6d29955cc50ad50c46dc269bcd92c6e00f5f90d23ab5fee7bfca4ba4cc7", size = 3298120, upload-time = "2022-12-08T20:59:22.753Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/e3/94/1843518e420fa3ed6919835845df698c7e27e183cb997394e4a670973a65/omegaconf-2.3.0-py3-none-any.whl", hash = "sha256:7b4df175cdb08ba400f45cae3bdcae7ba8365db4d165fc65fd04b050ab63b46b", size = 79500, upload-time = "2022-12-08T20:59:19.686Z" },
+]
+
+[[package]]
+name = "onnxruntime"
+version = "1.23.2"
+source = { registry = "https://pypi.org/simple" }
+resolution-markers = [
+ "(python_full_version < '3.11' and platform_machine == 'aarch64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version < '3.11' and platform_machine == 'arm64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')",
+ "python_full_version < '3.11' and platform_machine == 'arm64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "(python_full_version < '3.11' and platform_machine == 'aarch64' and sys_platform == 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version < '3.11' and platform_machine == 'arm64' and sys_platform == 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "python_full_version < '3.11' and platform_machine == 'aarch64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "(python_full_version < '3.11' and platform_machine == 'aarch64' and sys_platform != 'darwin' and sys_platform != 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version < '3.11' and platform_machine == 'arm64' and sys_platform != 'darwin' and sys_platform != 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version < '3.11' and platform_machine == 'aarch64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version < '3.11' and platform_machine == 'arm64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version < '3.11' and platform_machine == 'aarch64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version < '3.11' and platform_machine == 'arm64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version < '3.11' and platform_machine == 'aarch64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version < '3.11' and platform_machine == 'arm64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version < '3.11' and platform_machine == 'aarch64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version < '3.11' and platform_machine == 'arm64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version < '3.11' and platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version < '3.11' and platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "python_full_version < '3.11' and platform_machine == 'aarch64' and sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "(python_full_version < '3.11' and platform_machine == 'aarch64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version < '3.11' and platform_machine == 'arm64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version < '3.11' and platform_machine == 'aarch64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version < '3.11' and platform_machine == 'arm64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+]
+dependencies = [
+ { name = "coloredlogs", marker = "(python_full_version < '3.11' and platform_machine == 'aarch64') or (python_full_version < '3.11' and platform_machine == 'arm64') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "flatbuffers", marker = "(python_full_version < '3.11' and platform_machine == 'aarch64') or (python_full_version < '3.11' and platform_machine == 'arm64') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "(python_full_version < '3.11' and platform_machine == 'aarch64') or (python_full_version < '3.11' and platform_machine == 'arm64') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "packaging", marker = "(python_full_version < '3.11' and platform_machine == 'aarch64') or (python_full_version < '3.11' and platform_machine == 'arm64') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "protobuf", marker = "(python_full_version < '3.11' and platform_machine == 'aarch64') or (python_full_version < '3.11' and platform_machine == 'arm64') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "sympy", marker = "(python_full_version < '3.11' and platform_machine == 'aarch64') or (python_full_version < '3.11' and platform_machine == 'arm64') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+]
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/35/d6/311b1afea060015b56c742f3531168c1644650767f27ef40062569960587/onnxruntime-1.23.2-cp310-cp310-macosx_13_0_arm64.whl", hash = "sha256:a7730122afe186a784660f6ec5807138bf9d792fa1df76556b27307ea9ebcbe3", size = 17195934, upload-time = "2025-10-27T23:06:14.143Z" },
+ { url = "https://files.pythonhosted.org/packages/db/db/81bf3d7cecfbfed9092b6b4052e857a769d62ed90561b410014e0aae18db/onnxruntime-1.23.2-cp310-cp310-macosx_13_0_x86_64.whl", hash = "sha256:b28740f4ecef1738ea8f807461dd541b8287d5650b5be33bca7b474e3cbd1f36", size = 19153079, upload-time = "2025-10-27T23:05:57.686Z" },
+ { url = "https://files.pythonhosted.org/packages/2e/4d/a382452b17cf70a2313153c520ea4c96ab670c996cb3a95cc5d5ac7bfdac/onnxruntime-1.23.2-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:8f7d1fe034090a1e371b7f3ca9d3ccae2fabae8c1d8844fb7371d1ea38e8e8d2", size = 15219883, upload-time = "2025-10-22T03:46:21.66Z" },
+ { url = "https://files.pythonhosted.org/packages/fb/56/179bf90679984c85b417664c26aae4f427cba7514bd2d65c43b181b7b08b/onnxruntime-1.23.2-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:4ca88747e708e5c67337b0f65eed4b7d0dd70d22ac332038c9fc4635760018f7", size = 17370357, upload-time = "2025-10-22T03:46:57.968Z" },
+ { url = "https://files.pythonhosted.org/packages/cd/6d/738e50c47c2fd285b1e6c8083f15dac1a5f6199213378a5f14092497296d/onnxruntime-1.23.2-cp310-cp310-win_amd64.whl", hash = "sha256:0be6a37a45e6719db5120e9986fcd30ea205ac8103fd1fb74b6c33348327a0cc", size = 13467651, upload-time = "2025-10-27T23:06:11.904Z" },
+ { url = "https://files.pythonhosted.org/packages/44/be/467b00f09061572f022ffd17e49e49e5a7a789056bad95b54dfd3bee73ff/onnxruntime-1.23.2-cp311-cp311-macosx_13_0_arm64.whl", hash = "sha256:6f91d2c9b0965e86827a5ba01531d5b669770b01775b23199565d6c1f136616c", size = 17196113, upload-time = "2025-10-22T03:47:33.526Z" },
+ { url = "https://files.pythonhosted.org/packages/9f/a8/3c23a8f75f93122d2b3410bfb74d06d0f8da4ac663185f91866b03f7da1b/onnxruntime-1.23.2-cp311-cp311-macosx_13_0_x86_64.whl", hash = "sha256:87d8b6eaf0fbeb6835a60a4265fde7a3b60157cf1b2764773ac47237b4d48612", size = 19153857, upload-time = "2025-10-22T03:46:37.578Z" },
+ { url = "https://files.pythonhosted.org/packages/3f/d8/506eed9af03d86f8db4880a4c47cd0dffee973ef7e4f4cff9f1d4bcf7d22/onnxruntime-1.23.2-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:bbfd2fca76c855317568c1b36a885ddea2272c13cb0e395002c402f2360429a6", size = 15220095, upload-time = "2025-10-22T03:46:24.769Z" },
+ { url = "https://files.pythonhosted.org/packages/e9/80/113381ba832d5e777accedc6cb41d10f9eca82321ae31ebb6bcede530cea/onnxruntime-1.23.2-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:da44b99206e77734c5819aa2142c69e64f3b46edc3bd314f6a45a932defc0b3e", size = 17372080, upload-time = "2025-10-22T03:47:00.265Z" },
+ { url = "https://files.pythonhosted.org/packages/3a/db/1b4a62e23183a0c3fe441782462c0ede9a2a65c6bbffb9582fab7c7a0d38/onnxruntime-1.23.2-cp311-cp311-win_amd64.whl", hash = "sha256:902c756d8b633ce0dedd889b7c08459433fbcf35e9c38d1c03ddc020f0648c6e", size = 13468349, upload-time = "2025-10-22T03:47:25.783Z" },
+ { url = "https://files.pythonhosted.org/packages/1b/9e/f748cd64161213adeef83d0cb16cb8ace1e62fa501033acdd9f9341fff57/onnxruntime-1.23.2-cp312-cp312-macosx_13_0_arm64.whl", hash = "sha256:b8f029a6b98d3cf5be564d52802bb50a8489ab73409fa9db0bf583eabb7c2321", size = 17195929, upload-time = "2025-10-22T03:47:36.24Z" },
+ { url = "https://files.pythonhosted.org/packages/91/9d/a81aafd899b900101988ead7fb14974c8a58695338ab6a0f3d6b0100f30b/onnxruntime-1.23.2-cp312-cp312-macosx_13_0_x86_64.whl", hash = "sha256:218295a8acae83905f6f1aed8cacb8e3eb3bd7513a13fe4ba3b2664a19fc4a6b", size = 19157705, upload-time = "2025-10-22T03:46:40.415Z" },
+ { url = "https://files.pythonhosted.org/packages/3c/35/4e40f2fba272a6698d62be2cd21ddc3675edfc1a4b9ddefcc4648f115315/onnxruntime-1.23.2-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:76ff670550dc23e58ea9bc53b5149b99a44e63b34b524f7b8547469aaa0dcb8c", size = 15226915, upload-time = "2025-10-22T03:46:27.773Z" },
+ { url = "https://files.pythonhosted.org/packages/ef/88/9cc25d2bafe6bc0d4d3c1db3ade98196d5b355c0b273e6a5dc09c5d5d0d5/onnxruntime-1.23.2-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:0f9b4ae77f8e3c9bee50c27bc1beede83f786fe1d52e99ac85aa8d65a01e9b77", size = 17382649, upload-time = "2025-10-22T03:47:02.782Z" },
+ { url = "https://files.pythonhosted.org/packages/c0/b4/569d298f9fc4d286c11c45e85d9ffa9e877af12ace98af8cab52396e8f46/onnxruntime-1.23.2-cp312-cp312-win_amd64.whl", hash = "sha256:25de5214923ce941a3523739d34a520aac30f21e631de53bba9174dc9c004435", size = 13470528, upload-time = "2025-10-22T03:47:28.106Z" },
+ { url = "https://files.pythonhosted.org/packages/3d/41/fba0cabccecefe4a1b5fc8020c44febb334637f133acefc7ec492029dd2c/onnxruntime-1.23.2-cp313-cp313-macosx_13_0_arm64.whl", hash = "sha256:2ff531ad8496281b4297f32b83b01cdd719617e2351ffe0dba5684fb283afa1f", size = 17196337, upload-time = "2025-10-22T03:46:35.168Z" },
+ { url = "https://files.pythonhosted.org/packages/fe/f9/2d49ca491c6a986acce9f1d1d5fc2099108958cc1710c28e89a032c9cfe9/onnxruntime-1.23.2-cp313-cp313-macosx_13_0_x86_64.whl", hash = "sha256:162f4ca894ec3de1a6fd53589e511e06ecdc3ff646849b62a9da7489dee9ce95", size = 19157691, upload-time = "2025-10-22T03:46:43.518Z" },
+ { url = "https://files.pythonhosted.org/packages/1c/a1/428ee29c6eaf09a6f6be56f836213f104618fb35ac6cc586ff0f477263eb/onnxruntime-1.23.2-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:45d127d6e1e9b99d1ebeae9bcd8f98617a812f53f46699eafeb976275744826b", size = 15226898, upload-time = "2025-10-22T03:46:30.039Z" },
+ { url = "https://files.pythonhosted.org/packages/f2/2b/b57c8a2466a3126dbe0a792f56ad7290949b02f47b86216cd47d857e4b77/onnxruntime-1.23.2-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:8bace4e0d46480fbeeb7bbe1ffe1f080e6663a42d1086ff95c1551f2d39e7872", size = 17382518, upload-time = "2025-10-22T03:47:05.407Z" },
+ { url = "https://files.pythonhosted.org/packages/4a/93/aba75358133b3a941d736816dd392f687e7eab77215a6e429879080b76b6/onnxruntime-1.23.2-cp313-cp313-win_amd64.whl", hash = "sha256:1f9cc0a55349c584f083c1c076e611a7c35d5b867d5d6e6d6c823bf821978088", size = 13470276, upload-time = "2025-10-22T03:47:31.193Z" },
+ { url = "https://files.pythonhosted.org/packages/7c/3d/6830fa61c69ca8e905f237001dbfc01689a4e4ab06147020a4518318881f/onnxruntime-1.23.2-cp313-cp313t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:9d2385e774f46ac38f02b3a91a91e30263d41b2f1f4f26ae34805b2a9ddef466", size = 15229610, upload-time = "2025-10-22T03:46:32.239Z" },
+ { url = "https://files.pythonhosted.org/packages/b6/ca/862b1e7a639460f0ca25fd5b6135fb42cf9deea86d398a92e44dfda2279d/onnxruntime-1.23.2-cp313-cp313t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:e2b9233c4947907fd1818d0e581c049c41ccc39b2856cc942ff6d26317cee145", size = 17394184, upload-time = "2025-10-22T03:47:08.127Z" },
+]
+
+[[package]]
+name = "onnxruntime"
+version = "1.24.1"
+source = { registry = "https://pypi.org/simple" }
+resolution-markers = [
+ "(python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version >= '3.13' and platform_machine == 'arm64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version >= '3.13' and platform_machine == 'arm64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.12.*' and platform_machine == 'aarch64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.12.*' and platform_machine == 'arm64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.11.*' and platform_machine == 'aarch64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.11.*' and platform_machine == 'arm64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')",
+ "python_full_version >= '3.13' and platform_machine == 'arm64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version == '3.12.*' and platform_machine == 'arm64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version == '3.11.*' and platform_machine == 'arm64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "(python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform == 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version >= '3.13' and platform_machine == 'arm64' and sys_platform == 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.12.*' and platform_machine == 'aarch64' and sys_platform == 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.12.*' and platform_machine == 'arm64' and sys_platform == 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform == 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.11.*' and platform_machine == 'arm64' and sys_platform == 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version == '3.12.*' and platform_machine == 'aarch64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "(python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform != 'darwin' and sys_platform != 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version >= '3.13' and platform_machine == 'arm64' and sys_platform != 'darwin' and sys_platform != 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.12.*' and platform_machine == 'aarch64' and sys_platform != 'darwin' and sys_platform != 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.12.*' and platform_machine == 'arm64' and sys_platform != 'darwin' and sys_platform != 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform != 'darwin' and sys_platform != 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.11.*' and platform_machine == 'arm64' and sys_platform != 'darwin' and sys_platform != 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version >= '3.13' and platform_machine == 'arm64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.12.*' and platform_machine == 'aarch64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.12.*' and platform_machine == 'arm64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version >= '3.13' and platform_machine == 'arm64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.12.*' and platform_machine == 'aarch64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.12.*' and platform_machine == 'arm64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.11.*' and platform_machine == 'arm64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.11.*' and platform_machine == 'arm64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version >= '3.13' and platform_machine == 'arm64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.12.*' and platform_machine == 'aarch64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.12.*' and platform_machine == 'arm64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version >= '3.13' and platform_machine == 'arm64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.12.*' and platform_machine == 'aarch64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.12.*' and platform_machine == 'arm64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.11.*' and platform_machine == 'arm64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.11.*' and platform_machine == 'arm64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version >= '3.13' and platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.12.*' and platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.12.*' and platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.11.*' and platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version == '3.12.*' and platform_machine == 'aarch64' and sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "(python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version >= '3.13' and platform_machine == 'arm64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version >= '3.13' and platform_machine == 'arm64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.12.*' and platform_machine == 'aarch64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.12.*' and platform_machine == 'arm64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.11.*' and platform_machine == 'arm64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.12.*' and platform_machine == 'aarch64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.12.*' and platform_machine == 'arm64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.11.*' and platform_machine == 'arm64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+]
+dependencies = [
+ { name = "flatbuffers", marker = "(python_full_version >= '3.11' and platform_machine == 'aarch64') or (python_full_version >= '3.11' and platform_machine == 'arm64') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "numpy", version = "2.3.5", source = { registry = "https://pypi.org/simple" }, marker = "(python_full_version >= '3.11' and platform_machine == 'aarch64') or (python_full_version >= '3.11' and platform_machine == 'arm64') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "packaging", marker = "(python_full_version >= '3.11' and platform_machine == 'aarch64') or (python_full_version >= '3.11' and platform_machine == 'arm64') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "protobuf", marker = "(python_full_version >= '3.11' and platform_machine == 'aarch64') or (python_full_version >= '3.11' and platform_machine == 'arm64') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "sympy", marker = "(python_full_version >= '3.11' and platform_machine == 'aarch64') or (python_full_version >= '3.11' and platform_machine == 'arm64') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+]
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/d2/88/d9757c62a0f96b5193f8d447a141eefd14498c404cc5caf1a6f3233cf102/onnxruntime-1.24.1-cp311-cp311-macosx_14_0_arm64.whl", hash = "sha256:79b3119ab9f4f3817062e6dbe7f4a44937de93905e3a31ba34313d18cb49e7be", size = 17212018, upload-time = "2026-02-05T17:32:13.986Z" },
+ { url = "https://files.pythonhosted.org/packages/7b/61/b3305c39144e19dbe8791802076b29b4b592b09de03d0e340c1314bfd408/onnxruntime-1.24.1-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:86bc43e922b1f581b3de26a3dc402149c70e5542fceb5bec6b3a85542dbeb164", size = 15018703, upload-time = "2026-02-05T17:30:53.846Z" },
+ { url = "https://files.pythonhosted.org/packages/94/d6/d273b75fe7825ea3feed321dd540aef33d8a1380ddd8ac3bb70a8ed000fe/onnxruntime-1.24.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:1cabe71ca14dcfbf812d312aab0a704507ac909c137ee6e89e4908755d0fc60e", size = 17096352, upload-time = "2026-02-05T17:31:29.057Z" },
+ { url = "https://files.pythonhosted.org/packages/21/3f/0616101a3938bfe2918ea60b581a9bbba61ffc255c63388abb0885f7ce18/onnxruntime-1.24.1-cp311-cp311-win_amd64.whl", hash = "sha256:3273c330f5802b64b4103e87b5bbc334c0355fff1b8935d8910b0004ce2f20c8", size = 12493235, upload-time = "2026-02-05T17:32:04.451Z" },
+ { url = "https://files.pythonhosted.org/packages/c8/30/437de870e4e1c6d237a2ca5e11f54153531270cb5c745c475d6e3d5c5dcf/onnxruntime-1.24.1-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:7307aab9e2e879c0171f37e0eb2808a5b4aec7ba899bb17c5f0cedfc301a8ac2", size = 17211043, upload-time = "2026-02-05T17:32:16.909Z" },
+ { url = "https://files.pythonhosted.org/packages/21/60/004401cd86525101ad8aa9eec301327426555d7a77fac89fd991c3c7aae6/onnxruntime-1.24.1-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:780add442ce2d4175fafb6f3102cdc94243acffa3ab16eacc03dd627cc7b1b54", size = 15016224, upload-time = "2026-02-05T17:30:56.791Z" },
+ { url = "https://files.pythonhosted.org/packages/7d/a1/43ad01b806a1821d1d6f98725edffcdbad54856775643718e9124a09bfbe/onnxruntime-1.24.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:34b6119526eda12613f0d0498e2ae59563c247c370c9cef74c2fc93133dde157", size = 17098191, upload-time = "2026-02-05T17:31:31.87Z" },
+ { url = "https://files.pythonhosted.org/packages/ff/37/5beb65270864037d5c8fb25cfe6b23c48b618d1f4d06022d425cbf29bd9c/onnxruntime-1.24.1-cp312-cp312-win_amd64.whl", hash = "sha256:df0af2f1cfcfff9094971c7eb1d1dfae7ccf81af197493c4dc4643e4342c0946", size = 12493108, upload-time = "2026-02-05T17:32:07.076Z" },
+ { url = "https://files.pythonhosted.org/packages/95/77/7172ecfcbdabd92f338e694f38c325f6fab29a38fa0a8c3d1c85b9f4617c/onnxruntime-1.24.1-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:82e367770e8fba8a87ba9f4c04bb527e6d4d7204540f1390f202c27a3b759fb4", size = 17211381, upload-time = "2026-02-05T17:31:09.601Z" },
+ { url = "https://files.pythonhosted.org/packages/79/5b/532a0d75b93bbd0da0e108b986097ebe164b84fbecfdf2ddbf7c8a3a2e83/onnxruntime-1.24.1-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:1099f3629832580fedf415cfce2462a56cc9ca2b560d6300c24558e2ac049134", size = 15016000, upload-time = "2026-02-05T17:31:00.116Z" },
+ { url = "https://files.pythonhosted.org/packages/f6/b5/40606c7bce0702975a077bc6668cd072cd77695fc5c0b3fcf59bdb1fe65e/onnxruntime-1.24.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:6361dda4270f3939a625670bd67ae0982a49b7f923207450e28433abc9c3a83b", size = 17097637, upload-time = "2026-02-05T17:31:34.787Z" },
+ { url = "https://files.pythonhosted.org/packages/d5/a0/9e8f7933796b466241b934585723c700d8fb6bde2de856e65335193d7c93/onnxruntime-1.24.1-cp313-cp313-win_amd64.whl", hash = "sha256:bd1e4aefe73b6b99aa303cd72562ab6de3cccb09088100f8ad1c974be13079c7", size = 12492467, upload-time = "2026-02-05T17:32:09.834Z" },
+ { url = "https://files.pythonhosted.org/packages/fb/8a/ee07d86e35035f9fed42497af76435f5a613d4e8b6c537ea0f8ef9fa85da/onnxruntime-1.24.1-cp313-cp313t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:88a2b54dca00c90fca6303eedf13d49b5b4191d031372c2e85f5cffe4d86b79e", size = 15025407, upload-time = "2026-02-05T17:31:02.251Z" },
+ { url = "https://files.pythonhosted.org/packages/fd/9e/ab3e1dda4b126313d240e1aaa87792ddb1f5ba6d03ca2f093a7c4af8c323/onnxruntime-1.24.1-cp313-cp313t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:2dfbba602da840615ed5b431facda4b3a43b5d8276cf9e0dbf13d842df105838", size = 17099810, upload-time = "2026-02-05T17:31:37.537Z" },
+]
+
+[[package]]
+name = "onnxruntime-gpu"
+version = "1.23.2"
+source = { registry = "https://pypi.org/simple" }
+resolution-markers = [
+ "(python_full_version < '3.11' and platform_machine == 'AMD64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version < '3.11' and platform_machine == 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version < '3.11' and platform_machine == 'AMD64' and sys_platform == 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version < '3.11' and platform_machine == 'x86_64' and sys_platform == 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "python_full_version < '3.11' and platform_machine == 'x86_64' and sys_platform == 'linux' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "(python_full_version < '3.11' and platform_machine == 'AMD64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version < '3.11' and platform_machine == 'x86_64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version < '3.11' and platform_machine == 'x86_64' and sys_platform != 'darwin' and sys_platform != 'linux' and sys_platform != 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version < '3.11' and platform_machine == 'AMD64' and sys_platform != 'darwin' and sys_platform != 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version < '3.11' and platform_machine == 'AMD64' and sys_platform == 'linux' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version < '3.11' and platform_machine == 'AMD64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version < '3.11' and platform_machine == 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version < '3.11' and platform_machine == 'AMD64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version < '3.11' and platform_machine == 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version < '3.11' and platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version < '3.11' and platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version < '3.11' and platform_machine == 'AMD64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version < '3.11' and platform_machine == 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+]
+dependencies = [
+ { name = "coloredlogs", marker = "(python_full_version < '3.11' and platform_machine == 'AMD64') or (python_full_version < '3.11' and platform_machine == 'x86_64') or (platform_machine != 'AMD64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine != 'AMD64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine != 'AMD64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'AMD64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'AMD64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine != 'AMD64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'AMD64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'AMD64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'AMD64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'AMD64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "flatbuffers", marker = "(python_full_version < '3.11' and platform_machine == 'AMD64') or (python_full_version < '3.11' and platform_machine == 'x86_64') or (platform_machine != 'AMD64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine != 'AMD64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine != 'AMD64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'AMD64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'AMD64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine != 'AMD64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'AMD64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'AMD64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'AMD64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'AMD64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "(python_full_version < '3.11' and platform_machine == 'AMD64') or (python_full_version < '3.11' and platform_machine == 'x86_64') or (platform_machine != 'AMD64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine != 'AMD64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine != 'AMD64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'AMD64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'AMD64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine != 'AMD64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'AMD64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'AMD64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'AMD64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'AMD64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "packaging", marker = "(python_full_version < '3.11' and platform_machine == 'AMD64') or (python_full_version < '3.11' and platform_machine == 'x86_64') or (platform_machine != 'AMD64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine != 'AMD64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine != 'AMD64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'AMD64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'AMD64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine != 'AMD64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'AMD64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'AMD64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'AMD64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'AMD64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "protobuf", marker = "(python_full_version < '3.11' and platform_machine == 'AMD64') or (python_full_version < '3.11' and platform_machine == 'x86_64') or (platform_machine != 'AMD64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine != 'AMD64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine != 'AMD64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'AMD64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'AMD64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine != 'AMD64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'AMD64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'AMD64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'AMD64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'AMD64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "sympy", marker = "(python_full_version < '3.11' and platform_machine == 'AMD64') or (python_full_version < '3.11' and platform_machine == 'x86_64') or (platform_machine != 'AMD64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine != 'AMD64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine != 'AMD64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'AMD64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'AMD64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine != 'AMD64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'AMD64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'AMD64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'AMD64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'AMD64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+]
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/cb/ae/39283748c68a96be4f5f8a9561e0e3ca92af1eae6c2b1c07fb1da5f65cd1/onnxruntime_gpu-1.23.2-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:18de50c6c8eea50acc405ea13d299aec593e46478d7a22cd32cdbbdf7c42899d", size = 300525411, upload-time = "2025-10-22T16:56:08.415Z" },
+ { url = "https://files.pythonhosted.org/packages/21/c9/47abd3ec1f34498224d2a8f5cc4d1445eb5cc7dee8e3644b1a972619c0d2/onnxruntime_gpu-1.23.2-cp310-cp310-win_amd64.whl", hash = "sha256:deba091e15357355aa836fd64c6c4ac97dd0c4609c38b08a69675073ea46b321", size = 244505340, upload-time = "2025-10-27T22:47:43.215Z" },
+ { url = "https://files.pythonhosted.org/packages/43/a4/e3d7fbe32b44e814ae24ed642f05fac5d96d120efd82db7a7cac936e85a9/onnxruntime_gpu-1.23.2-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:d76d1ac7a479ecc3ac54482eea4ba3b10d68e888a0f8b5f420f0bdf82c5eec59", size = 300525715, upload-time = "2025-10-22T16:56:19.928Z" },
+ { url = "https://files.pythonhosted.org/packages/a9/5c/dba7c009e73dcce02e7f714574345b5e607c5c75510eb8d7bef682b45e5d/onnxruntime_gpu-1.23.2-cp311-cp311-win_amd64.whl", hash = "sha256:054282614c2fc9a4a27d74242afbae706a410f1f63cc35bc72f99709029a5ba4", size = 244506823, upload-time = "2025-10-22T16:55:09.526Z" },
+ { url = "https://files.pythonhosted.org/packages/6c/d9/b7140a4f1615195938c7e358c0804bb84271f0d6886b5cbf105c6cb58aae/onnxruntime_gpu-1.23.2-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:4f2d1f720685d729b5258ec1b36dee1de381b8898189908c98cbeecdb2f2b5c2", size = 300509596, upload-time = "2025-10-22T16:56:31.728Z" },
+ { url = "https://files.pythonhosted.org/packages/87/da/2685c79e5ea587beddebe083601fead0bdf3620bc2f92d18756e7de8a636/onnxruntime_gpu-1.23.2-cp312-cp312-win_amd64.whl", hash = "sha256:fe925a84b00e291e0ad3fac29bfd8f8e06112abc760cdc82cb711b4f3935bd95", size = 244508327, upload-time = "2025-10-22T16:55:19.397Z" },
+ { url = "https://files.pythonhosted.org/packages/03/05/40d561636e4114b54aa06d2371bfbca2d03e12cfdf5d4b85814802f18a75/onnxruntime_gpu-1.23.2-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:1e8f75af5da07329d0c3a5006087f4051d8abd133b4be7c9bae8cdab7bea4c26", size = 300515567, upload-time = "2025-10-22T16:56:43.794Z" },
+ { url = "https://files.pythonhosted.org/packages/b6/3b/418300438063d403384c79eaef1cb13c97627042f2247b35a887276a355a/onnxruntime_gpu-1.23.2-cp313-cp313-win_amd64.whl", hash = "sha256:7f1b3f49e5e126b99e23ec86b4203db41c2a911f6165f7624f2bc8267aaca767", size = 244507535, upload-time = "2025-10-22T16:55:28.532Z" },
+ { url = "https://files.pythonhosted.org/packages/b8/dc/80b145e3134d7eba31309b3299a2836e37c76e4c419a261ad9796f8f8d65/onnxruntime_gpu-1.23.2-cp313-cp313t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:20959cd4ae358aab6579ab9123284a7b1498f7d51ec291d429a5edc26511306f", size = 300525759, upload-time = "2025-10-22T16:56:56.925Z" },
+]
+
+[[package]]
+name = "onnxruntime-gpu"
+version = "1.24.1"
+source = { registry = "https://pypi.org/simple" }
+resolution-markers = [
+ "(python_full_version >= '3.13' and platform_machine == 'AMD64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version >= '3.13' and platform_machine == 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.12.*' and platform_machine == 'AMD64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.12.*' and platform_machine == 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.11.*' and platform_machine == 'AMD64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.11.*' and platform_machine == 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version >= '3.13' and platform_machine == 'AMD64' and sys_platform == 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version >= '3.13' and platform_machine == 'x86_64' and sys_platform == 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.12.*' and platform_machine == 'AMD64' and sys_platform == 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.12.*' and platform_machine == 'x86_64' and sys_platform == 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.11.*' and platform_machine == 'AMD64' and sys_platform == 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.11.*' and platform_machine == 'x86_64' and sys_platform == 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "python_full_version >= '3.13' and platform_machine == 'x86_64' and sys_platform == 'linux' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version == '3.12.*' and platform_machine == 'x86_64' and sys_platform == 'linux' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version == '3.11.*' and platform_machine == 'x86_64' and sys_platform == 'linux' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "(python_full_version >= '3.13' and platform_machine == 'AMD64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version >= '3.13' and platform_machine == 'x86_64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.12.*' and platform_machine == 'AMD64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.12.*' and platform_machine == 'x86_64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.11.*' and platform_machine == 'AMD64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.11.*' and platform_machine == 'x86_64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version >= '3.13' and platform_machine == 'x86_64' and sys_platform != 'darwin' and sys_platform != 'linux' and sys_platform != 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version >= '3.13' and platform_machine == 'AMD64' and sys_platform != 'darwin' and sys_platform != 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version >= '3.13' and platform_machine == 'AMD64' and sys_platform == 'linux' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.12.*' and platform_machine == 'x86_64' and sys_platform != 'darwin' and sys_platform != 'linux' and sys_platform != 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.12.*' and platform_machine == 'AMD64' and sys_platform != 'darwin' and sys_platform != 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.12.*' and platform_machine == 'AMD64' and sys_platform == 'linux' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.11.*' and platform_machine == 'x86_64' and sys_platform != 'darwin' and sys_platform != 'linux' and sys_platform != 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.11.*' and platform_machine == 'AMD64' and sys_platform != 'darwin' and sys_platform != 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.11.*' and platform_machine == 'AMD64' and sys_platform == 'linux' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version >= '3.13' and platform_machine == 'AMD64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version >= '3.13' and platform_machine == 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.12.*' and platform_machine == 'AMD64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.12.*' and platform_machine == 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.11.*' and platform_machine == 'AMD64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.11.*' and platform_machine == 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version >= '3.13' and platform_machine == 'AMD64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version >= '3.13' and platform_machine == 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.12.*' and platform_machine == 'AMD64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.12.*' and platform_machine == 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.11.*' and platform_machine == 'AMD64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.11.*' and platform_machine == 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version >= '3.13' and platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version >= '3.13' and platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.12.*' and platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.12.*' and platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.11.*' and platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.11.*' and platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version >= '3.13' and platform_machine == 'AMD64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version >= '3.13' and platform_machine == 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.12.*' and platform_machine == 'AMD64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.12.*' and platform_machine == 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.11.*' and platform_machine == 'AMD64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.11.*' and platform_machine == 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+]
+dependencies = [
+ { name = "flatbuffers", marker = "(python_full_version >= '3.11' and platform_machine == 'AMD64') or (python_full_version >= '3.11' and platform_machine == 'x86_64') or (platform_machine != 'AMD64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine != 'AMD64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine != 'AMD64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'AMD64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'AMD64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine != 'AMD64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'AMD64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'AMD64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'AMD64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'AMD64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "numpy", version = "2.3.5", source = { registry = "https://pypi.org/simple" }, marker = "(python_full_version >= '3.11' and platform_machine == 'AMD64') or (python_full_version >= '3.11' and platform_machine == 'x86_64') or (platform_machine != 'AMD64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine != 'AMD64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine != 'AMD64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'AMD64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'AMD64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine != 'AMD64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'AMD64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'AMD64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'AMD64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'AMD64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "packaging", marker = "(python_full_version >= '3.11' and platform_machine == 'AMD64') or (python_full_version >= '3.11' and platform_machine == 'x86_64') or (platform_machine != 'AMD64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine != 'AMD64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine != 'AMD64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'AMD64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'AMD64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine != 'AMD64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'AMD64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'AMD64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'AMD64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'AMD64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "protobuf", marker = "(python_full_version >= '3.11' and platform_machine == 'AMD64') or (python_full_version >= '3.11' and platform_machine == 'x86_64') or (platform_machine != 'AMD64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine != 'AMD64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine != 'AMD64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'AMD64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'AMD64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine != 'AMD64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'AMD64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'AMD64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'AMD64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'AMD64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "sympy", marker = "(python_full_version >= '3.11' and platform_machine == 'AMD64') or (python_full_version >= '3.11' and platform_machine == 'x86_64') or (platform_machine != 'AMD64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine != 'AMD64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine != 'AMD64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'AMD64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'AMD64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine != 'AMD64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'AMD64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'AMD64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'AMD64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'AMD64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+]
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/ca/c7/07d06175f1124fc89e8b7da30d70eb8e0e1400d90961ae1cbea9da69e69b/onnxruntime_gpu-1.24.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:ac4bfc90c376516b13d709764ab257e4e3d78639bf6a2ccfc826e9db4a5c7ddf", size = 252616647, upload-time = "2026-02-05T17:24:02.993Z" },
+ { url = "https://files.pythonhosted.org/packages/8c/9a/47c2a873bf5fc307cda696e8a8cb54b7c709f5a4b3f9e2b4a636066a63c2/onnxruntime_gpu-1.24.1-cp311-cp311-win_amd64.whl", hash = "sha256:ccd800875cb6c04ce623154c7fa312da21631ef89a9543c9a21593817cfa3473", size = 207089749, upload-time = "2026-02-05T17:23:59.5Z" },
+ { url = "https://files.pythonhosted.org/packages/db/a8/fb1a36a052321a839cc9973f6cfd630709412a24afff2d7315feb3efc4b8/onnxruntime_gpu-1.24.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:710bf83751e6761584ad071102af3cbffd4b42bb77b2e3caacfb54ffbaa0666b", size = 252628733, upload-time = "2026-02-05T17:24:12.926Z" },
+ { url = "https://files.pythonhosted.org/packages/52/65/48f694b81a963f3ee575041d5f2879b15268f5e7e14d90c3e671836c9646/onnxruntime_gpu-1.24.1-cp312-cp312-win_amd64.whl", hash = "sha256:b128a42b3fa098647765ba60c2af9d4bf839181307cfac27da649364feb37f7b", size = 207089008, upload-time = "2026-02-05T17:24:07.126Z" },
+ { url = "https://files.pythonhosted.org/packages/7a/e7/4e19062e95d3701c0d32c228aa848ba4a1cc97651e53628d978dba8e1267/onnxruntime_gpu-1.24.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:db9acb0d0e59d93b4fa6b7fd44284ece4408d0acee73235d43ed343f8cee7ee5", size = 252629216, upload-time = "2026-02-05T17:24:24.604Z" },
+ { url = "https://files.pythonhosted.org/packages/c4/82/223d7120d8a98b07c104ddecfb0cc2536188e566a4e9c2dee7572453f89c/onnxruntime_gpu-1.24.1-cp313-cp313-win_amd64.whl", hash = "sha256:59fdb40743f0722f3b859209f649ea160ca6bb42799e43f49b70a3ec5fc8c4ad", size = 207089285, upload-time = "2026-02-05T17:24:18.497Z" },
+ { url = "https://files.pythonhosted.org/packages/ac/82/3159e57f09d7e6c8ad47d8ba8d5bd7494f383bc1071481cf38c9c8142bf9/onnxruntime_gpu-1.24.1-cp313-cp313t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:88ca04e1dffea2d4c3c79cf4de7f429e99059d085f21b3e775a8d36380cd5186", size = 252633977, upload-time = "2026-02-05T17:24:33.568Z" },
+]
+
+[[package]]
+name = "opencc"
+version = "1.2.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/fa/92/92f4519221b833801be1d037cde747f04c4e29e33bd7574b36b898d9e2bf/opencc-1.2.0.tar.gz", hash = "sha256:2bb913c7ed388466b26d38af4c8c4bb419ddb503235d070f0ee1b24998ef8bca", size = 3420630, upload-time = "2026-01-22T09:23:12.382Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/c7/ee/cbb613d82921d214fb789b4b0a539d8be6b5392e1b6591cf566dcd13be92/opencc-1.2.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:909a7902d09333509a4bf31f3bb5dd21c5cbdde966601a3ae69a3f38c1d8a6c0", size = 1375849, upload-time = "2026-01-22T09:22:59.977Z" },
+ { url = "https://files.pythonhosted.org/packages/03/ab/7f73fc8a7d62091d7b01fb2b21708dfd38df429b058b9767abddce7d0b87/opencc-1.2.0-cp310-cp310-manylinux2014_x86_64.whl", hash = "sha256:cd62b27d50d057194fea66e066b558362d0c543739a32a4d2ccef11a3b7c2a07", size = 1655518, upload-time = "2026-01-22T09:23:01.558Z" },
+ { url = "https://files.pythonhosted.org/packages/dd/63/1d1a91d1b913e600c8d65c302ba445a22bcbba9f38f23addbc5a77ca6e66/opencc-1.2.0-cp310-cp310-win_amd64.whl", hash = "sha256:127437a9173bea7be78bb722a2705238ec7a53cf576a7e20312407abe0a28a45", size = 1762084, upload-time = "2026-01-22T09:53:10.97Z" },
+ { url = "https://files.pythonhosted.org/packages/ab/f9/9c70995ba3b9839b5754bd3fe4b7bad46b252a343601e17bcac21d86ce6a/opencc-1.2.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:696fc0fd0fe4ee1d678c4783af07733425299bc1ed70e55595275d15087006dd", size = 1376952, upload-time = "2026-01-22T09:23:01.865Z" },
+ { url = "https://files.pythonhosted.org/packages/2f/e9/fa3308bae32fd4f2c5539703a96500aee8006cfcfa975a77106c0fd1e553/opencc-1.2.0-cp311-cp311-manylinux2014_x86_64.whl", hash = "sha256:6ab92dc34be23a710e98162347287d152bb8ac2ed62fc646dc70a1ab44e2540f", size = 1656415, upload-time = "2026-01-22T09:23:02.726Z" },
+ { url = "https://files.pythonhosted.org/packages/21/d2/d25fce5e58204fbe7722684b49cfd896bd01e11f1a31cec417c19b39bea5/opencc-1.2.0-cp311-cp311-win_amd64.whl", hash = "sha256:f6b631419fae0a1d590eb605699c0507d7f3e43b4e601555d12bf59043dc34d1", size = 1763274, upload-time = "2026-01-22T09:53:12.551Z" },
+ { url = "https://files.pythonhosted.org/packages/f2/89/c3654977ae86211342356c5f455a26d93dd47222c2444e945aab6a4f91cc/opencc-1.2.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:c9851a7b7d50e4c5d52c71972cedbb618542a342ed57ce396be8988bfefdf040", size = 1376098, upload-time = "2026-01-22T09:23:04.052Z" },
+ { url = "https://files.pythonhosted.org/packages/f3/f8/fc8c5f25243a886dcf15329060e3596e4ab967ee2e277920e4feb6067211/opencc-1.2.0-cp312-cp312-manylinux2014_x86_64.whl", hash = "sha256:1f105a05fc76c29a1090cb613996aef26b60525e745e8471dc4485dfe17f2e08", size = 1655493, upload-time = "2026-01-22T09:23:05.387Z" },
+ { url = "https://files.pythonhosted.org/packages/d0/f6/0900195298326bd038469f3db571afd73b893a30fe92648f6418162a4cb8/opencc-1.2.0-cp312-cp312-win_amd64.whl", hash = "sha256:76cf42a9666ac5402478f7fad2f603d253096aa5c41199b173e08d49a9af8046", size = 1763621, upload-time = "2026-01-22T09:53:13.748Z" },
+]
+
+[[package]]
+name = "orjson"
+version = "3.11.7"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/53/45/b268004f745ede84e5798b48ee12b05129d19235d0e15267aa57dcdb400b/orjson-3.11.7.tar.gz", hash = "sha256:9b1a67243945819ce55d24a30b59d6a168e86220452d2c96f4d1f093e71c0c49", size = 6144992, upload-time = "2026-02-02T15:38:49.29Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/de/1a/a373746fa6d0e116dd9e54371a7b54622c44d12296d5d0f3ad5e3ff33490/orjson-3.11.7-cp310-cp310-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:a02c833f38f36546ba65a452127633afce4cf0dd7296b753d3bb54e55e5c0174", size = 229140, upload-time = "2026-02-02T15:37:06.082Z" },
+ { url = "https://files.pythonhosted.org/packages/52/a2/fa129e749d500f9b183e8a3446a193818a25f60261e9ce143ad61e975208/orjson-3.11.7-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b63c6e6738d7c3470ad01601e23376aa511e50e1f3931395b9f9c722406d1a67", size = 128670, upload-time = "2026-02-02T15:37:08.002Z" },
+ { url = "https://files.pythonhosted.org/packages/08/93/1e82011cd1e0bd051ef9d35bed1aa7fb4ea1f0a055dc2c841b46b43a9ebd/orjson-3.11.7-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:043d3006b7d32c7e233b8cfb1f01c651013ea079e08dcef7189a29abd8befe11", size = 123832, upload-time = "2026-02-02T15:37:09.191Z" },
+ { url = "https://files.pythonhosted.org/packages/fe/d8/a26b431ef962c7d55736674dddade876822f3e33223c1f47a36879350d04/orjson-3.11.7-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:57036b27ac8a25d81112eb0cc9835cd4833c5b16e1467816adc0015f59e870dc", size = 129171, upload-time = "2026-02-02T15:37:11.112Z" },
+ { url = "https://files.pythonhosted.org/packages/a7/19/f47819b84a580f490da260c3ee9ade214cf4cf78ac9ce8c1c758f80fdfc9/orjson-3.11.7-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:733ae23ada68b804b222c44affed76b39e30806d38660bf1eb200520d259cc16", size = 141967, upload-time = "2026-02-02T15:37:12.282Z" },
+ { url = "https://files.pythonhosted.org/packages/5b/cd/37ece39a0777ba077fdcdbe4cccae3be8ed00290c14bf8afdc548befc260/orjson-3.11.7-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5fdfad2093bdd08245f2e204d977facd5f871c88c4a71230d5bcbd0e43bf6222", size = 130991, upload-time = "2026-02-02T15:37:13.465Z" },
+ { url = "https://files.pythonhosted.org/packages/8f/ed/f2b5d66aa9b6b5c02ff5f120efc7b38c7c4962b21e6be0f00fd99a5c348e/orjson-3.11.7-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cededd6738e1c153530793998e31c05086582b08315db48ab66649768f326baa", size = 133674, upload-time = "2026-02-02T15:37:14.694Z" },
+ { url = "https://files.pythonhosted.org/packages/c4/6e/baa83e68d1aa09fa8c3e5b2c087d01d0a0bd45256de719ed7bc22c07052d/orjson-3.11.7-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:14f440c7268c8f8633d1b3d443a434bd70cb15686117ea6beff8fdc8f5917a1e", size = 138722, upload-time = "2026-02-02T15:37:16.501Z" },
+ { url = "https://files.pythonhosted.org/packages/0c/47/7f8ef4963b772cd56999b535e553f7eb5cd27e9dd6c049baee6f18bfa05d/orjson-3.11.7-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:3a2479753bbb95b0ebcf7969f562cdb9668e6d12416a35b0dda79febf89cdea2", size = 409056, upload-time = "2026-02-02T15:37:17.895Z" },
+ { url = "https://files.pythonhosted.org/packages/38/eb/2df104dd2244b3618f25325a656f85cc3277f74bbd91224752410a78f3c7/orjson-3.11.7-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:71924496986275a737f38e3f22b4e0878882b3f7a310d2ff4dc96e812789120c", size = 144196, upload-time = "2026-02-02T15:37:19.349Z" },
+ { url = "https://files.pythonhosted.org/packages/b6/2a/ee41de0aa3a6686598661eae2b4ebdff1340c65bfb17fcff8b87138aab21/orjson-3.11.7-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:b4a9eefdc70bf8bf9857f0290f973dec534ac84c35cd6a7f4083be43e7170a8f", size = 134979, upload-time = "2026-02-02T15:37:20.906Z" },
+ { url = "https://files.pythonhosted.org/packages/4c/fa/92fc5d3d402b87a8b28277a9ed35386218a6a5287c7fe5ee9b9f02c53fb2/orjson-3.11.7-cp310-cp310-win32.whl", hash = "sha256:ae9e0b37a834cef7ce8f99de6498f8fad4a2c0bf6bfc3d02abd8ed56aa15b2de", size = 127968, upload-time = "2026-02-02T15:37:23.178Z" },
+ { url = "https://files.pythonhosted.org/packages/07/29/a576bf36d73d60df06904d3844a9df08e25d59eba64363aaf8ec2f9bff41/orjson-3.11.7-cp310-cp310-win_amd64.whl", hash = "sha256:d772afdb22555f0c58cfc741bdae44180122b3616faa1ecadb595cd526e4c993", size = 125128, upload-time = "2026-02-02T15:37:24.329Z" },
+ { url = "https://files.pythonhosted.org/packages/37/02/da6cb01fc6087048d7f61522c327edf4250f1683a58a839fdcc435746dd5/orjson-3.11.7-cp311-cp311-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:9487abc2c2086e7c8eb9a211d2ce8855bae0e92586279d0d27b341d5ad76c85c", size = 228664, upload-time = "2026-02-02T15:37:25.542Z" },
+ { url = "https://files.pythonhosted.org/packages/c1/c2/5885e7a5881dba9a9af51bc564e8967225a642b3e03d089289a35054e749/orjson-3.11.7-cp311-cp311-macosx_15_0_arm64.whl", hash = "sha256:79cacb0b52f6004caf92405a7e1f11e6e2de8bdf9019e4f76b44ba045125cd6b", size = 125344, upload-time = "2026-02-02T15:37:26.92Z" },
+ { url = "https://files.pythonhosted.org/packages/a4/1d/4e7688de0a92d1caf600dfd5fb70b4c5bfff51dfa61ac555072ef2d0d32a/orjson-3.11.7-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c2e85fe4698b6a56d5e2ebf7ae87544d668eb6bde1ad1226c13f44663f20ec9e", size = 128404, upload-time = "2026-02-02T15:37:28.108Z" },
+ { url = "https://files.pythonhosted.org/packages/2f/b2/ec04b74ae03a125db7bd69cffd014b227b7f341e3261bf75b5eb88a1aa92/orjson-3.11.7-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:b8d14b71c0b12963fe8a62aac87119f1afdf4cb88a400f61ca5ae581449efcb5", size = 123677, upload-time = "2026-02-02T15:37:30.287Z" },
+ { url = "https://files.pythonhosted.org/packages/4c/69/f95bdf960605f08f827f6e3291fe243d8aa9c5c9ff017a8d7232209184c3/orjson-3.11.7-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:91c81ef070c8f3220054115e1ef468b1c9ce8497b4e526cb9f68ab4dc0a7ac62", size = 128950, upload-time = "2026-02-02T15:37:31.595Z" },
+ { url = "https://files.pythonhosted.org/packages/a4/1b/de59c57bae1d148ef298852abd31909ac3089cff370dfd4cd84cc99cbc42/orjson-3.11.7-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:411ebaf34d735e25e358a6d9e7978954a9c9d58cfb47bc6683cdc3964cd2f910", size = 141756, upload-time = "2026-02-02T15:37:32.985Z" },
+ { url = "https://files.pythonhosted.org/packages/ee/9e/9decc59f4499f695f65c650f6cfa6cd4c37a3fbe8fa235a0a3614cb54386/orjson-3.11.7-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a16bcd08ab0bcdfc7e8801d9c4a9cc17e58418e4d48ddc6ded4e9e4b1a94062b", size = 130812, upload-time = "2026-02-02T15:37:34.204Z" },
+ { url = "https://files.pythonhosted.org/packages/28/e6/59f932bcabd1eac44e334fe8e3281a92eacfcb450586e1f4bde0423728d8/orjson-3.11.7-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9c0b51672e466fd7e56230ffbae7f1639e18d0ce023351fb75da21b71bc2c960", size = 133444, upload-time = "2026-02-02T15:37:35.446Z" },
+ { url = "https://files.pythonhosted.org/packages/f1/36/b0f05c0eaa7ca30bc965e37e6a2956b0d67adb87a9872942d3568da846ae/orjson-3.11.7-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:136dcd6a2e796dfd9ffca9fc027d778567b0b7c9968d092842d3c323cef88aa8", size = 138609, upload-time = "2026-02-02T15:37:36.657Z" },
+ { url = "https://files.pythonhosted.org/packages/b8/03/58ec7d302b8d86944c60c7b4b82975d5161fcce4c9bc8c6cb1d6741b6115/orjson-3.11.7-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:7ba61079379b0ae29e117db13bda5f28d939766e410d321ec1624afc6a0b0504", size = 408918, upload-time = "2026-02-02T15:37:38.076Z" },
+ { url = "https://files.pythonhosted.org/packages/06/3a/868d65ef9a8b99be723bd510de491349618abd9f62c826cf206d962db295/orjson-3.11.7-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:0527a4510c300e3b406591b0ba69b5dc50031895b0a93743526a3fc45f59d26e", size = 143998, upload-time = "2026-02-02T15:37:39.706Z" },
+ { url = "https://files.pythonhosted.org/packages/5b/c7/1e18e1c83afe3349f4f6dc9e14910f0ae5f82eac756d1412ea4018938535/orjson-3.11.7-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:a709e881723c9b18acddcfb8ba357322491ad553e277cf467e1e7e20e2d90561", size = 134802, upload-time = "2026-02-02T15:37:41.002Z" },
+ { url = "https://files.pythonhosted.org/packages/d4/0b/ccb7ee1a65b37e8eeb8b267dc953561d72370e85185e459616d4345bab34/orjson-3.11.7-cp311-cp311-win32.whl", hash = "sha256:c43b8b5bab288b6b90dac410cca7e986a4fa747a2e8f94615aea407da706980d", size = 127828, upload-time = "2026-02-02T15:37:42.241Z" },
+ { url = "https://files.pythonhosted.org/packages/af/9e/55c776dffda3f381e0f07d010a4f5f3902bf48eaba1bb7684d301acd4924/orjson-3.11.7-cp311-cp311-win_amd64.whl", hash = "sha256:6543001328aa857187f905308a028935864aefe9968af3848401b6fe80dbb471", size = 124941, upload-time = "2026-02-02T15:37:43.444Z" },
+ { url = "https://files.pythonhosted.org/packages/aa/8e/424a620fa7d263b880162505fb107ef5e0afaa765b5b06a88312ac291560/orjson-3.11.7-cp311-cp311-win_arm64.whl", hash = "sha256:1ee5cc7160a821dfe14f130bc8e63e7611051f964b463d9e2a3a573204446a4d", size = 126245, upload-time = "2026-02-02T15:37:45.18Z" },
+ { url = "https://files.pythonhosted.org/packages/80/bf/76f4f1665f6983385938f0e2a5d7efa12a58171b8456c252f3bae8a4cf75/orjson-3.11.7-cp312-cp312-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:bd03ea7606833655048dab1a00734a2875e3e86c276e1d772b2a02556f0d895f", size = 228545, upload-time = "2026-02-02T15:37:46.376Z" },
+ { url = "https://files.pythonhosted.org/packages/79/53/6c72c002cb13b5a978a068add59b25a8bdf2800ac1c9c8ecdb26d6d97064/orjson-3.11.7-cp312-cp312-macosx_15_0_arm64.whl", hash = "sha256:89e440ebc74ce8ab5c7bc4ce6757b4a6b1041becb127df818f6997b5c71aa60b", size = 125224, upload-time = "2026-02-02T15:37:47.697Z" },
+ { url = "https://files.pythonhosted.org/packages/2c/83/10e48852865e5dd151bdfe652c06f7da484578ed02c5fca938e3632cb0b8/orjson-3.11.7-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5ede977b5fe5ac91b1dffc0a517ca4542d2ec8a6a4ff7b2652d94f640796342a", size = 128154, upload-time = "2026-02-02T15:37:48.954Z" },
+ { url = "https://files.pythonhosted.org/packages/6e/52/a66e22a2b9abaa374b4a081d410edab6d1e30024707b87eab7c734afe28d/orjson-3.11.7-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:b7b1dae39230a393df353827c855a5f176271c23434cfd2db74e0e424e693e10", size = 123548, upload-time = "2026-02-02T15:37:50.187Z" },
+ { url = "https://files.pythonhosted.org/packages/de/38/605d371417021359f4910c496f764c48ceb8997605f8c25bf1dfe58c0ebe/orjson-3.11.7-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ed46f17096e28fb28d2975834836a639af7278aa87c84f68ab08fbe5b8bd75fa", size = 129000, upload-time = "2026-02-02T15:37:51.426Z" },
+ { url = "https://files.pythonhosted.org/packages/44/98/af32e842b0ffd2335c89714d48ca4e3917b42f5d6ee5537832e069a4b3ac/orjson-3.11.7-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3726be79e36e526e3d9c1aceaadbfb4a04ee80a72ab47b3f3c17fefb9812e7b8", size = 141686, upload-time = "2026-02-02T15:37:52.607Z" },
+ { url = "https://files.pythonhosted.org/packages/96/0b/fc793858dfa54be6feee940c1463370ece34b3c39c1ca0aa3845f5ba9892/orjson-3.11.7-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:0724e265bc548af1dedebd9cb3d24b4e1c1e685a343be43e87ba922a5c5fff2f", size = 130812, upload-time = "2026-02-02T15:37:53.944Z" },
+ { url = "https://files.pythonhosted.org/packages/dc/91/98a52415059db3f374757d0b7f0f16e3b5cd5976c90d1c2b56acaea039e6/orjson-3.11.7-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e7745312efa9e11c17fbd3cb3097262d079da26930ae9ae7ba28fb738367cbad", size = 133440, upload-time = "2026-02-02T15:37:55.615Z" },
+ { url = "https://files.pythonhosted.org/packages/dc/b6/cb540117bda61791f46381f8c26c8f93e802892830a6055748d3bb1925ab/orjson-3.11.7-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:f904c24bdeabd4298f7a977ef14ca2a022ca921ed670b92ecd16ab6f3d01f867", size = 138386, upload-time = "2026-02-02T15:37:56.814Z" },
+ { url = "https://files.pythonhosted.org/packages/63/1a/50a3201c334a7f17c231eee5f841342190723794e3b06293f26e7cf87d31/orjson-3.11.7-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:b9fc4d0f81f394689e0814617aadc4f2ea0e8025f38c226cbf22d3b5ddbf025d", size = 408853, upload-time = "2026-02-02T15:37:58.291Z" },
+ { url = "https://files.pythonhosted.org/packages/87/cd/8de1c67d0be44fdc22701e5989c0d015a2adf391498ad42c4dc589cd3013/orjson-3.11.7-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:849e38203e5be40b776ed2718e587faf204d184fc9a008ae441f9442320c0cab", size = 144130, upload-time = "2026-02-02T15:38:00.163Z" },
+ { url = "https://files.pythonhosted.org/packages/0f/fe/d605d700c35dd55f51710d159fc54516a280923cd1b7e47508982fbb387d/orjson-3.11.7-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:4682d1db3bcebd2b64757e0ddf9e87ae5f00d29d16c5cdf3a62f561d08cc3dd2", size = 134818, upload-time = "2026-02-02T15:38:01.507Z" },
+ { url = "https://files.pythonhosted.org/packages/e4/e4/15ecc67edb3ddb3e2f46ae04475f2d294e8b60c1825fbe28a428b93b3fbd/orjson-3.11.7-cp312-cp312-win32.whl", hash = "sha256:f4f7c956b5215d949a1f65334cf9d7612dde38f20a95f2315deef167def91a6f", size = 127923, upload-time = "2026-02-02T15:38:02.75Z" },
+ { url = "https://files.pythonhosted.org/packages/34/70/2e0855361f76198a3965273048c8e50a9695d88cd75811a5b46444895845/orjson-3.11.7-cp312-cp312-win_amd64.whl", hash = "sha256:bf742e149121dc5648ba0a08ea0871e87b660467ef168a3a5e53bc1fbd64bb74", size = 125007, upload-time = "2026-02-02T15:38:04.032Z" },
+ { url = "https://files.pythonhosted.org/packages/68/40/c2051bd19fc467610fed469dc29e43ac65891571138f476834ca192bc290/orjson-3.11.7-cp312-cp312-win_arm64.whl", hash = "sha256:26c3b9132f783b7d7903bf1efb095fed8d4a3a85ec0d334ee8beff3d7a4749d5", size = 126089, upload-time = "2026-02-02T15:38:05.297Z" },
+ { url = "https://files.pythonhosted.org/packages/89/25/6e0e52cac5aab51d7b6dcd257e855e1dec1c2060f6b28566c509b4665f62/orjson-3.11.7-cp313-cp313-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:1d98b30cc1313d52d4af17d9c3d307b08389752ec5f2e5febdfada70b0f8c733", size = 228390, upload-time = "2026-02-02T15:38:06.8Z" },
+ { url = "https://files.pythonhosted.org/packages/a5/29/a77f48d2fc8a05bbc529e5ff481fb43d914f9e383ea2469d4f3d51df3d00/orjson-3.11.7-cp313-cp313-macosx_15_0_arm64.whl", hash = "sha256:d897e81f8d0cbd2abb82226d1860ad2e1ab3ff16d7b08c96ca00df9d45409ef4", size = 125189, upload-time = "2026-02-02T15:38:08.181Z" },
+ { url = "https://files.pythonhosted.org/packages/89/25/0a16e0729a0e6a1504f9d1a13cdd365f030068aab64cec6958396b9969d7/orjson-3.11.7-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:814be4b49b228cfc0b3c565acf642dd7d13538f966e3ccde61f4f55be3e20785", size = 128106, upload-time = "2026-02-02T15:38:09.41Z" },
+ { url = "https://files.pythonhosted.org/packages/66/da/a2e505469d60666a05ab373f1a6322eb671cb2ba3a0ccfc7d4bc97196787/orjson-3.11.7-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:d06e5c5fed5caedd2e540d62e5b1c25e8c82431b9e577c33537e5fa4aa909539", size = 123363, upload-time = "2026-02-02T15:38:10.73Z" },
+ { url = "https://files.pythonhosted.org/packages/23/bf/ed73f88396ea35c71b38961734ea4a4746f7ca0768bf28fd551d37e48dd0/orjson-3.11.7-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:31c80ce534ac4ea3739c5ee751270646cbc46e45aea7576a38ffec040b4029a1", size = 129007, upload-time = "2026-02-02T15:38:12.138Z" },
+ { url = "https://files.pythonhosted.org/packages/73/3c/b05d80716f0225fc9008fbf8ab22841dcc268a626aa550561743714ce3bf/orjson-3.11.7-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f50979824bde13d32b4320eedd513431c921102796d86be3eee0b58e58a3ecd1", size = 141667, upload-time = "2026-02-02T15:38:13.398Z" },
+ { url = "https://files.pythonhosted.org/packages/61/e8/0be9b0addd9bf86abfc938e97441dcd0375d494594b1c8ad10fe57479617/orjson-3.11.7-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9e54f3808e2b6b945078c41aa8d9b5834b28c50843846e97807e5adb75fa9705", size = 130832, upload-time = "2026-02-02T15:38:14.698Z" },
+ { url = "https://files.pythonhosted.org/packages/c9/ec/c68e3b9021a31d9ec15a94931db1410136af862955854ed5dd7e7e4f5bff/orjson-3.11.7-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a12b80df61aab7b98b490fe9e4879925ba666fccdfcd175252ce4d9035865ace", size = 133373, upload-time = "2026-02-02T15:38:16.109Z" },
+ { url = "https://files.pythonhosted.org/packages/d2/45/f3466739aaafa570cc8e77c6dbb853c48bf56e3b43738020e2661e08b0ac/orjson-3.11.7-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:996b65230271f1a97026fd0e6a753f51fbc0c335d2ad0c6201f711b0da32693b", size = 138307, upload-time = "2026-02-02T15:38:17.453Z" },
+ { url = "https://files.pythonhosted.org/packages/e1/84/9f7f02288da1ffb31405c1be07657afd1eecbcb4b64ee2817b6fe0f785fa/orjson-3.11.7-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:ab49d4b2a6a1d415ddb9f37a21e02e0d5dbfe10b7870b21bf779fc21e9156157", size = 408695, upload-time = "2026-02-02T15:38:18.831Z" },
+ { url = "https://files.pythonhosted.org/packages/18/07/9dd2f0c0104f1a0295ffbe912bc8d63307a539b900dd9e2c48ef7810d971/orjson-3.11.7-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:390a1dce0c055ddf8adb6aa94a73b45a4a7d7177b5c584b8d1c1947f2ba60fb3", size = 144099, upload-time = "2026-02-02T15:38:20.28Z" },
+ { url = "https://files.pythonhosted.org/packages/a5/66/857a8e4a3292e1f7b1b202883bcdeb43a91566cf59a93f97c53b44bd6801/orjson-3.11.7-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:1eb80451a9c351a71dfaf5b7ccc13ad065405217726b59fdbeadbcc544f9d223", size = 134806, upload-time = "2026-02-02T15:38:22.186Z" },
+ { url = "https://files.pythonhosted.org/packages/0a/5b/6ebcf3defc1aab3a338ca777214966851e92efb1f30dc7fc8285216e6d1b/orjson-3.11.7-cp313-cp313-win32.whl", hash = "sha256:7477aa6a6ec6139c5cb1cc7b214643592169a5494d200397c7fc95d740d5fcf3", size = 127914, upload-time = "2026-02-02T15:38:23.511Z" },
+ { url = "https://files.pythonhosted.org/packages/00/04/c6f72daca5092e3117840a1b1e88dfc809cc1470cf0734890d0366b684a1/orjson-3.11.7-cp313-cp313-win_amd64.whl", hash = "sha256:b9f95dcdea9d4f805daa9ddf02617a89e484c6985fa03055459f90e87d7a0757", size = 124986, upload-time = "2026-02-02T15:38:24.836Z" },
+ { url = "https://files.pythonhosted.org/packages/03/ba/077a0f6f1085d6b806937246860fafbd5b17f3919c70ee3f3d8d9c713f38/orjson-3.11.7-cp313-cp313-win_arm64.whl", hash = "sha256:800988273a014a0541483dc81021247d7eacb0c845a9d1a34a422bc718f41539", size = 126045, upload-time = "2026-02-02T15:38:26.216Z" },
+]
+
+[[package]]
+name = "oss2"
+version = "2.19.1"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "aliyun-python-sdk-core" },
+ { name = "aliyun-python-sdk-kms" },
+ { name = "crcmod" },
+ { name = "pycryptodome" },
+ { name = "requests" },
+ { name = "six" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/df/b5/f2cb1950dda46ac2284d6c950489fdacd0e743c2d79a347924d3cc44b86f/oss2-2.19.1.tar.gz", hash = "sha256:a8ab9ee7eb99e88a7e1382edc6ea641d219d585a7e074e3776e9dec9473e59c1", size = 298845, upload-time = "2024-10-25T11:37:46.638Z" }
+
+[[package]]
+name = "packaging"
+version = "26.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/65/ee/299d360cdc32edc7d2cf530f3accf79c4fca01e96ffc950d8a52213bd8e4/packaging-26.0.tar.gz", hash = "sha256:00243ae351a257117b6a241061796684b084ed1c516a08c48a3f7e147a9d80b4", size = 143416, upload-time = "2026-01-21T20:50:39.064Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/b7/b9/c538f279a4e237a006a2c98387d081e9eb060d203d8ed34467cc0f0b9b53/packaging-26.0-py3-none-any.whl", hash = "sha256:b36f1fef9334a5588b4166f8bcd26a14e521f2b55e6b9de3aaa80d3ff7a37529", size = 74366, upload-time = "2026-01-21T20:50:37.788Z" },
+]
+
+[[package]]
+name = "pandas"
+version = "2.3.3"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11' or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "numpy", version = "2.3.5", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11' or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "python-dateutil" },
+ { name = "pytz" },
+ { name = "tzdata" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/33/01/d40b85317f86cf08d853a4f495195c73815fdf205eef3993821720274518/pandas-2.3.3.tar.gz", hash = "sha256:e05e1af93b977f7eafa636d043f9f94c7ee3ac81af99c13508215942e64c993b", size = 4495223, upload-time = "2025-09-29T23:34:51.853Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/3d/f7/f425a00df4fcc22b292c6895c6831c0c8ae1d9fac1e024d16f98a9ce8749/pandas-2.3.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:376c6446ae31770764215a6c937f72d917f214b43560603cd60da6408f183b6c", size = 11555763, upload-time = "2025-09-29T23:16:53.287Z" },
+ { url = "https://files.pythonhosted.org/packages/13/4f/66d99628ff8ce7857aca52fed8f0066ce209f96be2fede6cef9f84e8d04f/pandas-2.3.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:e19d192383eab2f4ceb30b412b22ea30690c9e618f78870357ae1d682912015a", size = 10801217, upload-time = "2025-09-29T23:17:04.522Z" },
+ { url = "https://files.pythonhosted.org/packages/1d/03/3fc4a529a7710f890a239cc496fc6d50ad4a0995657dccc1d64695adb9f4/pandas-2.3.3-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:5caf26f64126b6c7aec964f74266f435afef1c1b13da3b0636c7518a1fa3e2b1", size = 12148791, upload-time = "2025-09-29T23:17:18.444Z" },
+ { url = "https://files.pythonhosted.org/packages/40/a8/4dac1f8f8235e5d25b9955d02ff6f29396191d4e665d71122c3722ca83c5/pandas-2.3.3-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:dd7478f1463441ae4ca7308a70e90b33470fa593429f9d4c578dd00d1fa78838", size = 12769373, upload-time = "2025-09-29T23:17:35.846Z" },
+ { url = "https://files.pythonhosted.org/packages/df/91/82cc5169b6b25440a7fc0ef3a694582418d875c8e3ebf796a6d6470aa578/pandas-2.3.3-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:4793891684806ae50d1288c9bae9330293ab4e083ccd1c5e383c34549c6e4250", size = 13200444, upload-time = "2025-09-29T23:17:49.341Z" },
+ { url = "https://files.pythonhosted.org/packages/10/ae/89b3283800ab58f7af2952704078555fa60c807fff764395bb57ea0b0dbd/pandas-2.3.3-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:28083c648d9a99a5dd035ec125d42439c6c1c525098c58af0fc38dd1a7a1b3d4", size = 13858459, upload-time = "2025-09-29T23:18:03.722Z" },
+ { url = "https://files.pythonhosted.org/packages/85/72/530900610650f54a35a19476eca5104f38555afccda1aa11a92ee14cb21d/pandas-2.3.3-cp310-cp310-win_amd64.whl", hash = "sha256:503cf027cf9940d2ceaa1a93cfb5f8c8c7e6e90720a2850378f0b3f3b1e06826", size = 11346086, upload-time = "2025-09-29T23:18:18.505Z" },
+ { url = "https://files.pythonhosted.org/packages/c1/fa/7ac648108144a095b4fb6aa3de1954689f7af60a14cf25583f4960ecb878/pandas-2.3.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:602b8615ebcc4a0c1751e71840428ddebeb142ec02c786e8ad6b1ce3c8dec523", size = 11578790, upload-time = "2025-09-29T23:18:30.065Z" },
+ { url = "https://files.pythonhosted.org/packages/9b/35/74442388c6cf008882d4d4bdfc4109be87e9b8b7ccd097ad1e7f006e2e95/pandas-2.3.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:8fe25fc7b623b0ef6b5009149627e34d2a4657e880948ec3c840e9402e5c1b45", size = 10833831, upload-time = "2025-09-29T23:38:56.071Z" },
+ { url = "https://files.pythonhosted.org/packages/fe/e4/de154cbfeee13383ad58d23017da99390b91d73f8c11856f2095e813201b/pandas-2.3.3-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:b468d3dad6ff947df92dcb32ede5b7bd41a9b3cceef0a30ed925f6d01fb8fa66", size = 12199267, upload-time = "2025-09-29T23:18:41.627Z" },
+ { url = "https://files.pythonhosted.org/packages/bf/c9/63f8d545568d9ab91476b1818b4741f521646cbdd151c6efebf40d6de6f7/pandas-2.3.3-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:b98560e98cb334799c0b07ca7967ac361a47326e9b4e5a7dfb5ab2b1c9d35a1b", size = 12789281, upload-time = "2025-09-29T23:18:56.834Z" },
+ { url = "https://files.pythonhosted.org/packages/f2/00/a5ac8c7a0e67fd1a6059e40aa08fa1c52cc00709077d2300e210c3ce0322/pandas-2.3.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:1d37b5848ba49824e5c30bedb9c830ab9b7751fd049bc7914533e01c65f79791", size = 13240453, upload-time = "2025-09-29T23:19:09.247Z" },
+ { url = "https://files.pythonhosted.org/packages/27/4d/5c23a5bc7bd209231618dd9e606ce076272c9bc4f12023a70e03a86b4067/pandas-2.3.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:db4301b2d1f926ae677a751eb2bd0e8c5f5319c9cb3f88b0becbbb0b07b34151", size = 13890361, upload-time = "2025-09-29T23:19:25.342Z" },
+ { url = "https://files.pythonhosted.org/packages/8e/59/712db1d7040520de7a4965df15b774348980e6df45c129b8c64d0dbe74ef/pandas-2.3.3-cp311-cp311-win_amd64.whl", hash = "sha256:f086f6fe114e19d92014a1966f43a3e62285109afe874f067f5abbdcbb10e59c", size = 11348702, upload-time = "2025-09-29T23:19:38.296Z" },
+ { url = "https://files.pythonhosted.org/packages/9c/fb/231d89e8637c808b997d172b18e9d4a4bc7bf31296196c260526055d1ea0/pandas-2.3.3-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:6d21f6d74eb1725c2efaa71a2bfc661a0689579b58e9c0ca58a739ff0b002b53", size = 11597846, upload-time = "2025-09-29T23:19:48.856Z" },
+ { url = "https://files.pythonhosted.org/packages/5c/bd/bf8064d9cfa214294356c2d6702b716d3cf3bb24be59287a6a21e24cae6b/pandas-2.3.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:3fd2f887589c7aa868e02632612ba39acb0b8948faf5cc58f0850e165bd46f35", size = 10729618, upload-time = "2025-09-29T23:39:08.659Z" },
+ { url = "https://files.pythonhosted.org/packages/57/56/cf2dbe1a3f5271370669475ead12ce77c61726ffd19a35546e31aa8edf4e/pandas-2.3.3-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:ecaf1e12bdc03c86ad4a7ea848d66c685cb6851d807a26aa245ca3d2017a1908", size = 11737212, upload-time = "2025-09-29T23:19:59.765Z" },
+ { url = "https://files.pythonhosted.org/packages/e5/63/cd7d615331b328e287d8233ba9fdf191a9c2d11b6af0c7a59cfcec23de68/pandas-2.3.3-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:b3d11d2fda7eb164ef27ffc14b4fcab16a80e1ce67e9f57e19ec0afaf715ba89", size = 12362693, upload-time = "2025-09-29T23:20:14.098Z" },
+ { url = "https://files.pythonhosted.org/packages/a6/de/8b1895b107277d52f2b42d3a6806e69cfef0d5cf1d0ba343470b9d8e0a04/pandas-2.3.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:a68e15f780eddf2b07d242e17a04aa187a7ee12b40b930bfdd78070556550e98", size = 12771002, upload-time = "2025-09-29T23:20:26.76Z" },
+ { url = "https://files.pythonhosted.org/packages/87/21/84072af3187a677c5893b170ba2c8fbe450a6ff911234916da889b698220/pandas-2.3.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:371a4ab48e950033bcf52b6527eccb564f52dc826c02afd9a1bc0ab731bba084", size = 13450971, upload-time = "2025-09-29T23:20:41.344Z" },
+ { url = "https://files.pythonhosted.org/packages/86/41/585a168330ff063014880a80d744219dbf1dd7a1c706e75ab3425a987384/pandas-2.3.3-cp312-cp312-win_amd64.whl", hash = "sha256:a16dcec078a01eeef8ee61bf64074b4e524a2a3f4b3be9326420cabe59c4778b", size = 10992722, upload-time = "2025-09-29T23:20:54.139Z" },
+ { url = "https://files.pythonhosted.org/packages/cd/4b/18b035ee18f97c1040d94debd8f2e737000ad70ccc8f5513f4eefad75f4b/pandas-2.3.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:56851a737e3470de7fa88e6131f41281ed440d29a9268dcbf0002da5ac366713", size = 11544671, upload-time = "2025-09-29T23:21:05.024Z" },
+ { url = "https://files.pythonhosted.org/packages/31/94/72fac03573102779920099bcac1c3b05975c2cb5f01eac609faf34bed1ca/pandas-2.3.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:bdcd9d1167f4885211e401b3036c0c8d9e274eee67ea8d0758a256d60704cfe8", size = 10680807, upload-time = "2025-09-29T23:21:15.979Z" },
+ { url = "https://files.pythonhosted.org/packages/16/87/9472cf4a487d848476865321de18cc8c920b8cab98453ab79dbbc98db63a/pandas-2.3.3-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:e32e7cc9af0f1cc15548288a51a3b681cc2a219faa838e995f7dc53dbab1062d", size = 11709872, upload-time = "2025-09-29T23:21:27.165Z" },
+ { url = "https://files.pythonhosted.org/packages/15/07/284f757f63f8a8d69ed4472bfd85122bd086e637bf4ed09de572d575a693/pandas-2.3.3-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:318d77e0e42a628c04dc56bcef4b40de67918f7041c2b061af1da41dcff670ac", size = 12306371, upload-time = "2025-09-29T23:21:40.532Z" },
+ { url = "https://files.pythonhosted.org/packages/33/81/a3afc88fca4aa925804a27d2676d22dcd2031c2ebe08aabd0ae55b9ff282/pandas-2.3.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:4e0a175408804d566144e170d0476b15d78458795bb18f1304fb94160cabf40c", size = 12765333, upload-time = "2025-09-29T23:21:55.77Z" },
+ { url = "https://files.pythonhosted.org/packages/8d/0f/b4d4ae743a83742f1153464cf1a8ecfafc3ac59722a0b5c8602310cb7158/pandas-2.3.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:93c2d9ab0fc11822b5eece72ec9587e172f63cff87c00b062f6e37448ced4493", size = 13418120, upload-time = "2025-09-29T23:22:10.109Z" },
+ { url = "https://files.pythonhosted.org/packages/4f/c7/e54682c96a895d0c808453269e0b5928a07a127a15704fedb643e9b0a4c8/pandas-2.3.3-cp313-cp313-win_amd64.whl", hash = "sha256:f8bfc0e12dc78f777f323f55c58649591b2cd0c43534e8355c51d3fede5f4dee", size = 10993991, upload-time = "2025-09-29T23:25:04.889Z" },
+ { url = "https://files.pythonhosted.org/packages/f9/ca/3f8d4f49740799189e1395812f3bf23b5e8fc7c190827d55a610da72ce55/pandas-2.3.3-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:75ea25f9529fdec2d2e93a42c523962261e567d250b0013b16210e1d40d7c2e5", size = 12048227, upload-time = "2025-09-29T23:22:24.343Z" },
+ { url = "https://files.pythonhosted.org/packages/0e/5a/f43efec3e8c0cc92c4663ccad372dbdff72b60bdb56b2749f04aa1d07d7e/pandas-2.3.3-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:74ecdf1d301e812db96a465a525952f4dde225fdb6d8e5a521d47e1f42041e21", size = 11411056, upload-time = "2025-09-29T23:22:37.762Z" },
+ { url = "https://files.pythonhosted.org/packages/46/b1/85331edfc591208c9d1a63a06baa67b21d332e63b7a591a5ba42a10bb507/pandas-2.3.3-cp313-cp313t-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:6435cb949cb34ec11cc9860246ccb2fdc9ecd742c12d3304989017d53f039a78", size = 11645189, upload-time = "2025-09-29T23:22:51.688Z" },
+ { url = "https://files.pythonhosted.org/packages/44/23/78d645adc35d94d1ac4f2a3c4112ab6f5b8999f4898b8cdf01252f8df4a9/pandas-2.3.3-cp313-cp313t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:900f47d8f20860de523a1ac881c4c36d65efcb2eb850e6948140fa781736e110", size = 12121912, upload-time = "2025-09-29T23:23:05.042Z" },
+ { url = "https://files.pythonhosted.org/packages/53/da/d10013df5e6aaef6b425aa0c32e1fc1f3e431e4bcabd420517dceadce354/pandas-2.3.3-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:a45c765238e2ed7d7c608fc5bc4a6f88b642f2f01e70c0c23d2224dd21829d86", size = 12712160, upload-time = "2025-09-29T23:23:28.57Z" },
+ { url = "https://files.pythonhosted.org/packages/bd/17/e756653095a083d8a37cbd816cb87148debcfcd920129b25f99dd8d04271/pandas-2.3.3-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:c4fc4c21971a1a9f4bdb4c73978c7f7256caa3e62b323f70d6cb80db583350bc", size = 13199233, upload-time = "2025-09-29T23:24:24.876Z" },
+]
+
+[[package]]
+name = "peft"
+version = "0.18.1"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "accelerate" },
+ { name = "huggingface-hub" },
+ { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11' or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "numpy", version = "2.3.5", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11' or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "packaging" },
+ { name = "psutil" },
+ { name = "pyyaml" },
+ { name = "safetensors" },
+ { name = "torch", version = "2.9.1", source = { registry = "https://download.pytorch.org/whl/cpu" }, marker = "(platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu') or (platform_machine == 'aarch64' and sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cpu') or (platform_machine == 'arm64' and sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu') or (platform_machine != 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine != 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine != 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine != 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'aarch64' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "torch", version = "2.9.1+cpu", source = { registry = "https://download.pytorch.org/whl/cpu" }, marker = "(platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'arm64' and sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine == 'aarch64' and sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'aarch64' and sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'arm64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'aarch64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine != 'aarch64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'aarch64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'aarch64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'aarch64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'linux' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (sys_platform == 'linux' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'linux' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'linux' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'linux' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'linux' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "torch", version = "2.9.1+cu129", source = { registry = "https://download.pytorch.org/whl/cu129" }, marker = "(sys_platform != 'darwin' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "torch", version = "2.9.1+rocm6.4", source = { registry = "https://download.pytorch.org/whl/rocm6.4" }, marker = "(extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "torch", version = "2.10.0", source = { registry = "https://pypi.org/simple" }, marker = "(extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "torch", version = "2.10.0+cu126", source = { registry = "https://download.pytorch.org/whl/cu126" }, marker = "extra == 'extra-15-gpt-sovits-meta-cu126' or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "torch", version = "2.10.0+cu128", source = { registry = "https://download.pytorch.org/whl/cu128" }, marker = "extra == 'extra-15-gpt-sovits-meta-cu128' or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "tqdm" },
+ { name = "transformers" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/d8/48/147b3ea999560b40a34fd78724c7777aa9d18409c2250bdcaf9c4f2db7fc/peft-0.18.1.tar.gz", hash = "sha256:2dd0d6bfce936d1850e48aaddbd250941c5c02fc8ef3237cd8fd5aac35e0bae2", size = 635030, upload-time = "2026-01-09T13:08:01.136Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/b3/14/b4e3f574acf349ae6f61f9c000a77f97a3b315b4bb6ad03791e79ae4a568/peft-0.18.1-py3-none-any.whl", hash = "sha256:0bf06847a3551e3019fc58c440cffc9a6b73e6e2962c95b52e224f77bbdb50f1", size = 556960, upload-time = "2026-01-09T13:07:55.865Z" },
+]
+
+[[package]]
+name = "pillow"
+version = "11.3.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/f3/0d/d0d6dea55cd152ce3d6767bb38a8fc10e33796ba4ba210cbab9354b6d238/pillow-11.3.0.tar.gz", hash = "sha256:3828ee7586cd0b2091b6209e5ad53e20d0649bbe87164a459d0676e035e8f523", size = 47113069, upload-time = "2025-07-01T09:16:30.666Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/4c/5d/45a3553a253ac8763f3561371432a90bdbe6000fbdcf1397ffe502aa206c/pillow-11.3.0-cp310-cp310-macosx_10_10_x86_64.whl", hash = "sha256:1b9c17fd4ace828b3003dfd1e30bff24863e0eb59b535e8f80194d9cc7ecf860", size = 5316554, upload-time = "2025-07-01T09:13:39.342Z" },
+ { url = "https://files.pythonhosted.org/packages/7c/c8/67c12ab069ef586a25a4a79ced553586748fad100c77c0ce59bb4983ac98/pillow-11.3.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:65dc69160114cdd0ca0f35cb434633c75e8e7fad4cf855177a05bf38678f73ad", size = 4686548, upload-time = "2025-07-01T09:13:41.835Z" },
+ { url = "https://files.pythonhosted.org/packages/2f/bd/6741ebd56263390b382ae4c5de02979af7f8bd9807346d068700dd6d5cf9/pillow-11.3.0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:7107195ddc914f656c7fc8e4a5e1c25f32e9236ea3ea860f257b0436011fddd0", size = 5859742, upload-time = "2025-07-03T13:09:47.439Z" },
+ { url = "https://files.pythonhosted.org/packages/ca/0b/c412a9e27e1e6a829e6ab6c2dca52dd563efbedf4c9c6aa453d9a9b77359/pillow-11.3.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:cc3e831b563b3114baac7ec2ee86819eb03caa1a2cef0b481a5675b59c4fe23b", size = 7633087, upload-time = "2025-07-03T13:09:51.796Z" },
+ { url = "https://files.pythonhosted.org/packages/59/9d/9b7076aaf30f5dd17e5e5589b2d2f5a5d7e30ff67a171eb686e4eecc2adf/pillow-11.3.0-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:f1f182ebd2303acf8c380a54f615ec883322593320a9b00438eb842c1f37ae50", size = 5963350, upload-time = "2025-07-01T09:13:43.865Z" },
+ { url = "https://files.pythonhosted.org/packages/f0/16/1a6bf01fb622fb9cf5c91683823f073f053005c849b1f52ed613afcf8dae/pillow-11.3.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:4445fa62e15936a028672fd48c4c11a66d641d2c05726c7ec1f8ba6a572036ae", size = 6631840, upload-time = "2025-07-01T09:13:46.161Z" },
+ { url = "https://files.pythonhosted.org/packages/7b/e6/6ff7077077eb47fde78739e7d570bdcd7c10495666b6afcd23ab56b19a43/pillow-11.3.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:71f511f6b3b91dd543282477be45a033e4845a40278fa8dcdbfdb07109bf18f9", size = 6074005, upload-time = "2025-07-01T09:13:47.829Z" },
+ { url = "https://files.pythonhosted.org/packages/c3/3a/b13f36832ea6d279a697231658199e0a03cd87ef12048016bdcc84131601/pillow-11.3.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:040a5b691b0713e1f6cbe222e0f4f74cd233421e105850ae3b3c0ceda520f42e", size = 6708372, upload-time = "2025-07-01T09:13:52.145Z" },
+ { url = "https://files.pythonhosted.org/packages/6c/e4/61b2e1a7528740efbc70b3d581f33937e38e98ef3d50b05007267a55bcb2/pillow-11.3.0-cp310-cp310-win32.whl", hash = "sha256:89bd777bc6624fe4115e9fac3352c79ed60f3bb18651420635f26e643e3dd1f6", size = 6277090, upload-time = "2025-07-01T09:13:53.915Z" },
+ { url = "https://files.pythonhosted.org/packages/a9/d3/60c781c83a785d6afbd6a326ed4d759d141de43aa7365725cbcd65ce5e54/pillow-11.3.0-cp310-cp310-win_amd64.whl", hash = "sha256:19d2ff547c75b8e3ff46f4d9ef969a06c30ab2d4263a9e287733aa8b2429ce8f", size = 6985988, upload-time = "2025-07-01T09:13:55.699Z" },
+ { url = "https://files.pythonhosted.org/packages/9f/28/4f4a0203165eefb3763939c6789ba31013a2e90adffb456610f30f613850/pillow-11.3.0-cp310-cp310-win_arm64.whl", hash = "sha256:819931d25e57b513242859ce1876c58c59dc31587847bf74cfe06b2e0cb22d2f", size = 2422899, upload-time = "2025-07-01T09:13:57.497Z" },
+ { url = "https://files.pythonhosted.org/packages/db/26/77f8ed17ca4ffd60e1dcd220a6ec6d71210ba398cfa33a13a1cd614c5613/pillow-11.3.0-cp311-cp311-macosx_10_10_x86_64.whl", hash = "sha256:1cd110edf822773368b396281a2293aeb91c90a2db00d78ea43e7e861631b722", size = 5316531, upload-time = "2025-07-01T09:13:59.203Z" },
+ { url = "https://files.pythonhosted.org/packages/cb/39/ee475903197ce709322a17a866892efb560f57900d9af2e55f86db51b0a5/pillow-11.3.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:9c412fddd1b77a75aa904615ebaa6001f169b26fd467b4be93aded278266b288", size = 4686560, upload-time = "2025-07-01T09:14:01.101Z" },
+ { url = "https://files.pythonhosted.org/packages/d5/90/442068a160fd179938ba55ec8c97050a612426fae5ec0a764e345839f76d/pillow-11.3.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:7d1aa4de119a0ecac0a34a9c8bde33f34022e2e8f99104e47a3ca392fd60e37d", size = 5870978, upload-time = "2025-07-03T13:09:55.638Z" },
+ { url = "https://files.pythonhosted.org/packages/13/92/dcdd147ab02daf405387f0218dcf792dc6dd5b14d2573d40b4caeef01059/pillow-11.3.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:91da1d88226663594e3f6b4b8c3c8d85bd504117d043740a8e0ec449087cc494", size = 7641168, upload-time = "2025-07-03T13:10:00.37Z" },
+ { url = "https://files.pythonhosted.org/packages/6e/db/839d6ba7fd38b51af641aa904e2960e7a5644d60ec754c046b7d2aee00e5/pillow-11.3.0-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:643f189248837533073c405ec2f0bb250ba54598cf80e8c1e043381a60632f58", size = 5973053, upload-time = "2025-07-01T09:14:04.491Z" },
+ { url = "https://files.pythonhosted.org/packages/f2/2f/d7675ecae6c43e9f12aa8d58b6012683b20b6edfbdac7abcb4e6af7a3784/pillow-11.3.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:106064daa23a745510dabce1d84f29137a37224831d88eb4ce94bb187b1d7e5f", size = 6640273, upload-time = "2025-07-01T09:14:06.235Z" },
+ { url = "https://files.pythonhosted.org/packages/45/ad/931694675ede172e15b2ff03c8144a0ddaea1d87adb72bb07655eaffb654/pillow-11.3.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:cd8ff254faf15591e724dc7c4ddb6bf4793efcbe13802a4ae3e863cd300b493e", size = 6082043, upload-time = "2025-07-01T09:14:07.978Z" },
+ { url = "https://files.pythonhosted.org/packages/3a/04/ba8f2b11fc80d2dd462d7abec16351b45ec99cbbaea4387648a44190351a/pillow-11.3.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:932c754c2d51ad2b2271fd01c3d121daaa35e27efae2a616f77bf164bc0b3e94", size = 6715516, upload-time = "2025-07-01T09:14:10.233Z" },
+ { url = "https://files.pythonhosted.org/packages/48/59/8cd06d7f3944cc7d892e8533c56b0acb68399f640786313275faec1e3b6f/pillow-11.3.0-cp311-cp311-win32.whl", hash = "sha256:b4b8f3efc8d530a1544e5962bd6b403d5f7fe8b9e08227c6b255f98ad82b4ba0", size = 6274768, upload-time = "2025-07-01T09:14:11.921Z" },
+ { url = "https://files.pythonhosted.org/packages/f1/cc/29c0f5d64ab8eae20f3232da8f8571660aa0ab4b8f1331da5c2f5f9a938e/pillow-11.3.0-cp311-cp311-win_amd64.whl", hash = "sha256:1a992e86b0dd7aeb1f053cd506508c0999d710a8f07b4c791c63843fc6a807ac", size = 6986055, upload-time = "2025-07-01T09:14:13.623Z" },
+ { url = "https://files.pythonhosted.org/packages/c6/df/90bd886fabd544c25addd63e5ca6932c86f2b701d5da6c7839387a076b4a/pillow-11.3.0-cp311-cp311-win_arm64.whl", hash = "sha256:30807c931ff7c095620fe04448e2c2fc673fcbb1ffe2a7da3fb39613489b1ddd", size = 2423079, upload-time = "2025-07-01T09:14:15.268Z" },
+ { url = "https://files.pythonhosted.org/packages/40/fe/1bc9b3ee13f68487a99ac9529968035cca2f0a51ec36892060edcc51d06a/pillow-11.3.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:fdae223722da47b024b867c1ea0be64e0df702c5e0a60e27daad39bf960dd1e4", size = 5278800, upload-time = "2025-07-01T09:14:17.648Z" },
+ { url = "https://files.pythonhosted.org/packages/2c/32/7e2ac19b5713657384cec55f89065fb306b06af008cfd87e572035b27119/pillow-11.3.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:921bd305b10e82b4d1f5e802b6850677f965d8394203d182f078873851dada69", size = 4686296, upload-time = "2025-07-01T09:14:19.828Z" },
+ { url = "https://files.pythonhosted.org/packages/8e/1e/b9e12bbe6e4c2220effebc09ea0923a07a6da1e1f1bfbc8d7d29a01ce32b/pillow-11.3.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:eb76541cba2f958032d79d143b98a3a6b3ea87f0959bbe256c0b5e416599fd5d", size = 5871726, upload-time = "2025-07-03T13:10:04.448Z" },
+ { url = "https://files.pythonhosted.org/packages/8d/33/e9200d2bd7ba00dc3ddb78df1198a6e80d7669cce6c2bdbeb2530a74ec58/pillow-11.3.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:67172f2944ebba3d4a7b54f2e95c786a3a50c21b88456329314caaa28cda70f6", size = 7644652, upload-time = "2025-07-03T13:10:10.391Z" },
+ { url = "https://files.pythonhosted.org/packages/41/f1/6f2427a26fc683e00d985bc391bdd76d8dd4e92fac33d841127eb8fb2313/pillow-11.3.0-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:97f07ed9f56a3b9b5f49d3661dc9607484e85c67e27f3e8be2c7d28ca032fec7", size = 5977787, upload-time = "2025-07-01T09:14:21.63Z" },
+ { url = "https://files.pythonhosted.org/packages/e4/c9/06dd4a38974e24f932ff5f98ea3c546ce3f8c995d3f0985f8e5ba48bba19/pillow-11.3.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:676b2815362456b5b3216b4fd5bd89d362100dc6f4945154ff172e206a22c024", size = 6645236, upload-time = "2025-07-01T09:14:23.321Z" },
+ { url = "https://files.pythonhosted.org/packages/40/e7/848f69fb79843b3d91241bad658e9c14f39a32f71a301bcd1d139416d1be/pillow-11.3.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:3e184b2f26ff146363dd07bde8b711833d7b0202e27d13540bfe2e35a323a809", size = 6086950, upload-time = "2025-07-01T09:14:25.237Z" },
+ { url = "https://files.pythonhosted.org/packages/0b/1a/7cff92e695a2a29ac1958c2a0fe4c0b2393b60aac13b04a4fe2735cad52d/pillow-11.3.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:6be31e3fc9a621e071bc17bb7de63b85cbe0bfae91bb0363c893cbe67247780d", size = 6723358, upload-time = "2025-07-01T09:14:27.053Z" },
+ { url = "https://files.pythonhosted.org/packages/26/7d/73699ad77895f69edff76b0f332acc3d497f22f5d75e5360f78cbcaff248/pillow-11.3.0-cp312-cp312-win32.whl", hash = "sha256:7b161756381f0918e05e7cb8a371fff367e807770f8fe92ecb20d905d0e1c149", size = 6275079, upload-time = "2025-07-01T09:14:30.104Z" },
+ { url = "https://files.pythonhosted.org/packages/8c/ce/e7dfc873bdd9828f3b6e5c2bbb74e47a98ec23cc5c74fc4e54462f0d9204/pillow-11.3.0-cp312-cp312-win_amd64.whl", hash = "sha256:a6444696fce635783440b7f7a9fc24b3ad10a9ea3f0ab66c5905be1c19ccf17d", size = 6986324, upload-time = "2025-07-01T09:14:31.899Z" },
+ { url = "https://files.pythonhosted.org/packages/16/8f/b13447d1bf0b1f7467ce7d86f6e6edf66c0ad7cf44cf5c87a37f9bed9936/pillow-11.3.0-cp312-cp312-win_arm64.whl", hash = "sha256:2aceea54f957dd4448264f9bf40875da0415c83eb85f55069d89c0ed436e3542", size = 2423067, upload-time = "2025-07-01T09:14:33.709Z" },
+ { url = "https://files.pythonhosted.org/packages/1e/93/0952f2ed8db3a5a4c7a11f91965d6184ebc8cd7cbb7941a260d5f018cd2d/pillow-11.3.0-cp313-cp313-ios_13_0_arm64_iphoneos.whl", hash = "sha256:1c627742b539bba4309df89171356fcb3cc5a9178355b2727d1b74a6cf155fbd", size = 2128328, upload-time = "2025-07-01T09:14:35.276Z" },
+ { url = "https://files.pythonhosted.org/packages/4b/e8/100c3d114b1a0bf4042f27e0f87d2f25e857e838034e98ca98fe7b8c0a9c/pillow-11.3.0-cp313-cp313-ios_13_0_arm64_iphonesimulator.whl", hash = "sha256:30b7c02f3899d10f13d7a48163c8969e4e653f8b43416d23d13d1bbfdc93b9f8", size = 2170652, upload-time = "2025-07-01T09:14:37.203Z" },
+ { url = "https://files.pythonhosted.org/packages/aa/86/3f758a28a6e381758545f7cdb4942e1cb79abd271bea932998fc0db93cb6/pillow-11.3.0-cp313-cp313-ios_13_0_x86_64_iphonesimulator.whl", hash = "sha256:7859a4cc7c9295f5838015d8cc0a9c215b77e43d07a25e460f35cf516df8626f", size = 2227443, upload-time = "2025-07-01T09:14:39.344Z" },
+ { url = "https://files.pythonhosted.org/packages/01/f4/91d5b3ffa718df2f53b0dc109877993e511f4fd055d7e9508682e8aba092/pillow-11.3.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:ec1ee50470b0d050984394423d96325b744d55c701a439d2bd66089bff963d3c", size = 5278474, upload-time = "2025-07-01T09:14:41.843Z" },
+ { url = "https://files.pythonhosted.org/packages/f9/0e/37d7d3eca6c879fbd9dba21268427dffda1ab00d4eb05b32923d4fbe3b12/pillow-11.3.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:7db51d222548ccfd274e4572fdbf3e810a5e66b00608862f947b163e613b67dd", size = 4686038, upload-time = "2025-07-01T09:14:44.008Z" },
+ { url = "https://files.pythonhosted.org/packages/ff/b0/3426e5c7f6565e752d81221af9d3676fdbb4f352317ceafd42899aaf5d8a/pillow-11.3.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:2d6fcc902a24ac74495df63faad1884282239265c6839a0a6416d33faedfae7e", size = 5864407, upload-time = "2025-07-03T13:10:15.628Z" },
+ { url = "https://files.pythonhosted.org/packages/fc/c1/c6c423134229f2a221ee53f838d4be9d82bab86f7e2f8e75e47b6bf6cd77/pillow-11.3.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:f0f5d8f4a08090c6d6d578351a2b91acf519a54986c055af27e7a93feae6d3f1", size = 7639094, upload-time = "2025-07-03T13:10:21.857Z" },
+ { url = "https://files.pythonhosted.org/packages/ba/c9/09e6746630fe6372c67c648ff9deae52a2bc20897d51fa293571977ceb5d/pillow-11.3.0-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:c37d8ba9411d6003bba9e518db0db0c58a680ab9fe5179f040b0463644bc9805", size = 5973503, upload-time = "2025-07-01T09:14:45.698Z" },
+ { url = "https://files.pythonhosted.org/packages/d5/1c/a2a29649c0b1983d3ef57ee87a66487fdeb45132df66ab30dd37f7dbe162/pillow-11.3.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:13f87d581e71d9189ab21fe0efb5a23e9f28552d5be6979e84001d3b8505abe8", size = 6642574, upload-time = "2025-07-01T09:14:47.415Z" },
+ { url = "https://files.pythonhosted.org/packages/36/de/d5cc31cc4b055b6c6fd990e3e7f0f8aaf36229a2698501bcb0cdf67c7146/pillow-11.3.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:023f6d2d11784a465f09fd09a34b150ea4672e85fb3d05931d89f373ab14abb2", size = 6084060, upload-time = "2025-07-01T09:14:49.636Z" },
+ { url = "https://files.pythonhosted.org/packages/d5/ea/502d938cbaeec836ac28a9b730193716f0114c41325db428e6b280513f09/pillow-11.3.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:45dfc51ac5975b938e9809451c51734124e73b04d0f0ac621649821a63852e7b", size = 6721407, upload-time = "2025-07-01T09:14:51.962Z" },
+ { url = "https://files.pythonhosted.org/packages/45/9c/9c5e2a73f125f6cbc59cc7087c8f2d649a7ae453f83bd0362ff7c9e2aee2/pillow-11.3.0-cp313-cp313-win32.whl", hash = "sha256:a4d336baed65d50d37b88ca5b60c0fa9d81e3a87d4a7930d3880d1624d5b31f3", size = 6273841, upload-time = "2025-07-01T09:14:54.142Z" },
+ { url = "https://files.pythonhosted.org/packages/23/85/397c73524e0cd212067e0c969aa245b01d50183439550d24d9f55781b776/pillow-11.3.0-cp313-cp313-win_amd64.whl", hash = "sha256:0bce5c4fd0921f99d2e858dc4d4d64193407e1b99478bc5cacecba2311abde51", size = 6978450, upload-time = "2025-07-01T09:14:56.436Z" },
+ { url = "https://files.pythonhosted.org/packages/17/d2/622f4547f69cd173955194b78e4d19ca4935a1b0f03a302d655c9f6aae65/pillow-11.3.0-cp313-cp313-win_arm64.whl", hash = "sha256:1904e1264881f682f02b7f8167935cce37bc97db457f8e7849dc3a6a52b99580", size = 2423055, upload-time = "2025-07-01T09:14:58.072Z" },
+ { url = "https://files.pythonhosted.org/packages/dd/80/a8a2ac21dda2e82480852978416cfacd439a4b490a501a288ecf4fe2532d/pillow-11.3.0-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:4c834a3921375c48ee6b9624061076bc0a32a60b5532b322cc0ea64e639dd50e", size = 5281110, upload-time = "2025-07-01T09:14:59.79Z" },
+ { url = "https://files.pythonhosted.org/packages/44/d6/b79754ca790f315918732e18f82a8146d33bcd7f4494380457ea89eb883d/pillow-11.3.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:5e05688ccef30ea69b9317a9ead994b93975104a677a36a8ed8106be9260aa6d", size = 4689547, upload-time = "2025-07-01T09:15:01.648Z" },
+ { url = "https://files.pythonhosted.org/packages/49/20/716b8717d331150cb00f7fdd78169c01e8e0c219732a78b0e59b6bdb2fd6/pillow-11.3.0-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:1019b04af07fc0163e2810167918cb5add8d74674b6267616021ab558dc98ced", size = 5901554, upload-time = "2025-07-03T13:10:27.018Z" },
+ { url = "https://files.pythonhosted.org/packages/74/cf/a9f3a2514a65bb071075063a96f0a5cf949c2f2fce683c15ccc83b1c1cab/pillow-11.3.0-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:f944255db153ebb2b19c51fe85dd99ef0ce494123f21b9db4877ffdfc5590c7c", size = 7669132, upload-time = "2025-07-03T13:10:33.01Z" },
+ { url = "https://files.pythonhosted.org/packages/98/3c/da78805cbdbee9cb43efe8261dd7cc0b4b93f2ac79b676c03159e9db2187/pillow-11.3.0-cp313-cp313t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:1f85acb69adf2aaee8b7da124efebbdb959a104db34d3a2cb0f3793dbae422a8", size = 6005001, upload-time = "2025-07-01T09:15:03.365Z" },
+ { url = "https://files.pythonhosted.org/packages/6c/fa/ce044b91faecf30e635321351bba32bab5a7e034c60187fe9698191aef4f/pillow-11.3.0-cp313-cp313t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:05f6ecbeff5005399bb48d198f098a9b4b6bdf27b8487c7f38ca16eeb070cd59", size = 6668814, upload-time = "2025-07-01T09:15:05.655Z" },
+ { url = "https://files.pythonhosted.org/packages/7b/51/90f9291406d09bf93686434f9183aba27b831c10c87746ff49f127ee80cb/pillow-11.3.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:a7bc6e6fd0395bc052f16b1a8670859964dbd7003bd0af2ff08342eb6e442cfe", size = 6113124, upload-time = "2025-07-01T09:15:07.358Z" },
+ { url = "https://files.pythonhosted.org/packages/cd/5a/6fec59b1dfb619234f7636d4157d11fb4e196caeee220232a8d2ec48488d/pillow-11.3.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:83e1b0161c9d148125083a35c1c5a89db5b7054834fd4387499e06552035236c", size = 6747186, upload-time = "2025-07-01T09:15:09.317Z" },
+ { url = "https://files.pythonhosted.org/packages/49/6b/00187a044f98255225f172de653941e61da37104a9ea60e4f6887717e2b5/pillow-11.3.0-cp313-cp313t-win32.whl", hash = "sha256:2a3117c06b8fb646639dce83694f2f9eac405472713fcb1ae887469c0d4f6788", size = 6277546, upload-time = "2025-07-01T09:15:11.311Z" },
+ { url = "https://files.pythonhosted.org/packages/e8/5c/6caaba7e261c0d75bab23be79f1d06b5ad2a2ae49f028ccec801b0e853d6/pillow-11.3.0-cp313-cp313t-win_amd64.whl", hash = "sha256:857844335c95bea93fb39e0fa2726b4d9d758850b34075a7e3ff4f4fa3aa3b31", size = 6985102, upload-time = "2025-07-01T09:15:13.164Z" },
+ { url = "https://files.pythonhosted.org/packages/f3/7e/b623008460c09a0cb38263c93b828c666493caee2eb34ff67f778b87e58c/pillow-11.3.0-cp313-cp313t-win_arm64.whl", hash = "sha256:8797edc41f3e8536ae4b10897ee2f637235c94f27404cac7297f7b607dd0716e", size = 2424803, upload-time = "2025-07-01T09:15:15.695Z" },
+ { url = "https://files.pythonhosted.org/packages/6f/8b/209bd6b62ce8367f47e68a218bffac88888fdf2c9fcf1ecadc6c3ec1ebc7/pillow-11.3.0-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:3cee80663f29e3843b68199b9d6f4f54bd1d4a6b59bdd91bceefc51238bcb967", size = 5270556, upload-time = "2025-07-01T09:16:09.961Z" },
+ { url = "https://files.pythonhosted.org/packages/2e/e6/231a0b76070c2cfd9e260a7a5b504fb72da0a95279410fa7afd99d9751d6/pillow-11.3.0-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:b5f56c3f344f2ccaf0dd875d3e180f631dc60a51b314295a3e681fe8cf851fbe", size = 4654625, upload-time = "2025-07-01T09:16:11.913Z" },
+ { url = "https://files.pythonhosted.org/packages/13/f4/10cf94fda33cb12765f2397fc285fa6d8eb9c29de7f3185165b702fc7386/pillow-11.3.0-pp310-pypy310_pp73-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:e67d793d180c9df62f1f40aee3accca4829d3794c95098887edc18af4b8b780c", size = 4874207, upload-time = "2025-07-03T13:11:10.201Z" },
+ { url = "https://files.pythonhosted.org/packages/72/c9/583821097dc691880c92892e8e2d41fe0a5a3d6021f4963371d2f6d57250/pillow-11.3.0-pp310-pypy310_pp73-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:d000f46e2917c705e9fb93a3606ee4a819d1e3aa7a9b442f6444f07e77cf5e25", size = 6583939, upload-time = "2025-07-03T13:11:15.68Z" },
+ { url = "https://files.pythonhosted.org/packages/3b/8e/5c9d410f9217b12320efc7c413e72693f48468979a013ad17fd690397b9a/pillow-11.3.0-pp310-pypy310_pp73-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:527b37216b6ac3a12d7838dc3bd75208ec57c1c6d11ef01902266a5a0c14fc27", size = 4957166, upload-time = "2025-07-01T09:16:13.74Z" },
+ { url = "https://files.pythonhosted.org/packages/62/bb/78347dbe13219991877ffb3a91bf09da8317fbfcd4b5f9140aeae020ad71/pillow-11.3.0-pp310-pypy310_pp73-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:be5463ac478b623b9dd3937afd7fb7ab3d79dd290a28e2b6df292dc75063eb8a", size = 5581482, upload-time = "2025-07-01T09:16:16.107Z" },
+ { url = "https://files.pythonhosted.org/packages/d9/28/1000353d5e61498aaeaaf7f1e4b49ddb05f2c6575f9d4f9f914a3538b6e1/pillow-11.3.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:8dc70ca24c110503e16918a658b869019126ecfe03109b754c402daff12b3d9f", size = 6984596, upload-time = "2025-07-01T09:16:18.07Z" },
+ { url = "https://files.pythonhosted.org/packages/9e/e3/6fa84033758276fb31da12e5fb66ad747ae83b93c67af17f8c6ff4cc8f34/pillow-11.3.0-pp311-pypy311_pp73-macosx_10_15_x86_64.whl", hash = "sha256:7c8ec7a017ad1bd562f93dbd8505763e688d388cde6e4a010ae1486916e713e6", size = 5270566, upload-time = "2025-07-01T09:16:19.801Z" },
+ { url = "https://files.pythonhosted.org/packages/5b/ee/e8d2e1ab4892970b561e1ba96cbd59c0d28cf66737fc44abb2aec3795a4e/pillow-11.3.0-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:9ab6ae226de48019caa8074894544af5b53a117ccb9d3b3dcb2871464c829438", size = 4654618, upload-time = "2025-07-01T09:16:21.818Z" },
+ { url = "https://files.pythonhosted.org/packages/f2/6d/17f80f4e1f0761f02160fc433abd4109fa1548dcfdca46cfdadaf9efa565/pillow-11.3.0-pp311-pypy311_pp73-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:fe27fb049cdcca11f11a7bfda64043c37b30e6b91f10cb5bab275806c32f6ab3", size = 4874248, upload-time = "2025-07-03T13:11:20.738Z" },
+ { url = "https://files.pythonhosted.org/packages/de/5f/c22340acd61cef960130585bbe2120e2fd8434c214802f07e8c03596b17e/pillow-11.3.0-pp311-pypy311_pp73-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:465b9e8844e3c3519a983d58b80be3f668e2a7a5db97f2784e7079fbc9f9822c", size = 6583963, upload-time = "2025-07-03T13:11:26.283Z" },
+ { url = "https://files.pythonhosted.org/packages/31/5e/03966aedfbfcbb4d5f8aa042452d3361f325b963ebbadddac05b122e47dd/pillow-11.3.0-pp311-pypy311_pp73-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:5418b53c0d59b3824d05e029669efa023bbef0f3e92e75ec8428f3799487f361", size = 4957170, upload-time = "2025-07-01T09:16:23.762Z" },
+ { url = "https://files.pythonhosted.org/packages/cc/2d/e082982aacc927fc2cab48e1e731bdb1643a1406acace8bed0900a61464e/pillow-11.3.0-pp311-pypy311_pp73-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:504b6f59505f08ae014f724b6207ff6222662aab5cc9542577fb084ed0676ac7", size = 5581505, upload-time = "2025-07-01T09:16:25.593Z" },
+ { url = "https://files.pythonhosted.org/packages/34/e7/ae39f538fd6844e982063c3a5e4598b8ced43b9633baa3a85ef33af8c05c/pillow-11.3.0-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:c84d689db21a1c397d001aa08241044aa2069e7587b398c8cc63020390b1c1b8", size = 6984598, upload-time = "2025-07-01T09:16:27.732Z" },
+]
+
+[[package]]
+name = "pip"
+version = "26.0.1"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/48/83/0d7d4e9efe3344b8e2fe25d93be44f64b65364d3c8d7bc6dc90198d5422e/pip-26.0.1.tar.gz", hash = "sha256:c4037d8a277c89b320abe636d59f91e6d0922d08a05b60e85e53b296613346d8", size = 1812747, upload-time = "2026-02-05T02:20:18.702Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/de/f0/c81e05b613866b76d2d1066490adf1a3dbc4ee9d9c839961c3fc8a6997af/pip-26.0.1-py3-none-any.whl", hash = "sha256:bdb1b08f4274833d62c1aa29e20907365a2ceb950410df15fc9521bad440122b", size = 1787723, upload-time = "2026-02-05T02:20:16.416Z" },
+]
+
+[[package]]
+name = "platformdirs"
+version = "4.9.2"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/1b/04/fea538adf7dbbd6d186f551d595961e564a3b6715bdf276b477460858672/platformdirs-4.9.2.tar.gz", hash = "sha256:9a33809944b9db043ad67ca0db94b14bf452cc6aeaac46a88ea55b26e2e9d291", size = 28394, upload-time = "2026-02-16T03:56:10.574Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/48/31/05e764397056194206169869b50cf2fee4dbbbc71b344705b9c0d878d4d8/platformdirs-4.9.2-py3-none-any.whl", hash = "sha256:9170634f126f8efdae22fb58ae8a0eaa86f38365bc57897a6c4f781d1f5875bd", size = 21168, upload-time = "2026-02-16T03:56:08.891Z" },
+]
+
+[[package]]
+name = "pooch"
+version = "1.9.0"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "packaging" },
+ { name = "platformdirs" },
+ { name = "requests" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/83/43/85ef45e8b36c6a48546af7b266592dc32d7f67837a6514d111bced6d7d75/pooch-1.9.0.tar.gz", hash = "sha256:de46729579b9857ffd3e741987a2f6d5e0e03219892c167c6578c0091fb511ed", size = 61788, upload-time = "2026-01-30T19:15:09.649Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/2a/2d/d4bf65e47cea8ff2c794a600c4fd1273a7902f268757c531e0ee9f18aa58/pooch-1.9.0-py3-none-any.whl", hash = "sha256:f265597baa9f760d25ceb29d0beb8186c243d6607b0f60b83ecf14078dbc703b", size = 67175, upload-time = "2026-01-30T19:15:08.36Z" },
+]
+
+[[package]]
+name = "pre-commit"
+version = "4.5.1"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "cfgv" },
+ { name = "identify" },
+ { name = "nodeenv" },
+ { name = "pyyaml" },
+ { name = "virtualenv" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/40/f1/6d86a29246dfd2e9b6237f0b5823717f60cad94d47ddc26afa916d21f525/pre_commit-4.5.1.tar.gz", hash = "sha256:eb545fcff725875197837263e977ea257a402056661f09dae08e4b149b030a61", size = 198232, upload-time = "2025-12-16T21:14:33.552Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/5d/19/fd3ef348460c80af7bb4669ea7926651d1f95c23ff2df18b9d24bab4f3fa/pre_commit-4.5.1-py2.py3-none-any.whl", hash = "sha256:3b3afd891e97337708c1674210f8eba659b52a38ea5f822ff142d10786221f77", size = 226437, upload-time = "2025-12-16T21:14:32.409Z" },
+]
+
+[[package]]
+name = "proces"
+version = "0.1.7"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/2c/3d/4159b57736ced0fd22553226df20a985ef7655519c80ffcb8a9fb49ebeee/proces-0.1.7.tar.gz", hash = "sha256:70a05d9e973dd685f7a9092c58be695a8181a411d63796c213232fd3fdc43775", size = 31188, upload-time = "2023-09-09T03:27:38.158Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/6f/88/06cc0c7d890ed8d7e16ef0e56880dea516a21643fb1f3a69a50f4cc6f716/proces-0.1.7-py3-none-any.whl", hash = "sha256:308325bbc96877263f06e57e5e9c760c4b42cc722887ad60be6b18fc37d68762", size = 137718, upload-time = "2023-09-09T03:27:35.463Z" },
+]
+
+[[package]]
+name = "propcache"
+version = "0.4.1"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/9e/da/e9fc233cf63743258bff22b3dfa7ea5baef7b5bc324af47a0ad89b8ffc6f/propcache-0.4.1.tar.gz", hash = "sha256:f48107a8c637e80362555f37ecf49abe20370e557cc4ab374f04ec4423c97c3d", size = 46442, upload-time = "2025-10-08T19:49:02.291Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/3c/0e/934b541323035566a9af292dba85a195f7b78179114f2c6ebb24551118a9/propcache-0.4.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:7c2d1fa3201efaf55d730400d945b5b3ab6e672e100ba0f9a409d950ab25d7db", size = 79534, upload-time = "2025-10-08T19:46:02.083Z" },
+ { url = "https://files.pythonhosted.org/packages/a1/6b/db0d03d96726d995dc7171286c6ba9d8d14251f37433890f88368951a44e/propcache-0.4.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:1eb2994229cc8ce7fe9b3db88f5465f5fd8651672840b2e426b88cdb1a30aac8", size = 45526, upload-time = "2025-10-08T19:46:03.884Z" },
+ { url = "https://files.pythonhosted.org/packages/e4/c3/82728404aea669e1600f304f2609cde9e665c18df5a11cdd57ed73c1dceb/propcache-0.4.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:66c1f011f45a3b33d7bcb22daed4b29c0c9e2224758b6be00686731e1b46f925", size = 47263, upload-time = "2025-10-08T19:46:05.405Z" },
+ { url = "https://files.pythonhosted.org/packages/df/1b/39313ddad2bf9187a1432654c38249bab4562ef535ef07f5eb6eb04d0b1b/propcache-0.4.1-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:9a52009f2adffe195d0b605c25ec929d26b36ef986ba85244891dee3b294df21", size = 201012, upload-time = "2025-10-08T19:46:07.165Z" },
+ { url = "https://files.pythonhosted.org/packages/5b/01/f1d0b57d136f294a142acf97f4ed58c8e5b974c21e543000968357115011/propcache-0.4.1-cp310-cp310-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:5d4e2366a9c7b837555cf02fb9be2e3167d333aff716332ef1b7c3a142ec40c5", size = 209491, upload-time = "2025-10-08T19:46:08.909Z" },
+ { url = "https://files.pythonhosted.org/packages/a1/c8/038d909c61c5bb039070b3fb02ad5cccdb1dde0d714792e251cdb17c9c05/propcache-0.4.1-cp310-cp310-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:9d2b6caef873b4f09e26ea7e33d65f42b944837563a47a94719cc3544319a0db", size = 215319, upload-time = "2025-10-08T19:46:10.7Z" },
+ { url = "https://files.pythonhosted.org/packages/08/57/8c87e93142b2c1fa2408e45695205a7ba05fb5db458c0bf5c06ba0e09ea6/propcache-0.4.1-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:2b16ec437a8c8a965ecf95739448dd938b5c7f56e67ea009f4300d8df05f32b7", size = 196856, upload-time = "2025-10-08T19:46:12.003Z" },
+ { url = "https://files.pythonhosted.org/packages/42/df/5615fec76aa561987a534759b3686008a288e73107faa49a8ae5795a9f7a/propcache-0.4.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:296f4c8ed03ca7476813fe666c9ea97869a8d7aec972618671b33a38a5182ef4", size = 193241, upload-time = "2025-10-08T19:46:13.495Z" },
+ { url = "https://files.pythonhosted.org/packages/d5/21/62949eb3a7a54afe8327011c90aca7e03547787a88fb8bd9726806482fea/propcache-0.4.1-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:1f0978529a418ebd1f49dad413a2b68af33f85d5c5ca5c6ca2a3bed375a7ac60", size = 190552, upload-time = "2025-10-08T19:46:14.938Z" },
+ { url = "https://files.pythonhosted.org/packages/30/ee/ab4d727dd70806e5b4de96a798ae7ac6e4d42516f030ee60522474b6b332/propcache-0.4.1-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:fd138803047fb4c062b1c1dd95462f5209456bfab55c734458f15d11da288f8f", size = 200113, upload-time = "2025-10-08T19:46:16.695Z" },
+ { url = "https://files.pythonhosted.org/packages/8a/0b/38b46208e6711b016aa8966a3ac793eee0d05c7159d8342aa27fc0bc365e/propcache-0.4.1-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:8c9b3cbe4584636d72ff556d9036e0c9317fa27b3ac1f0f558e7e84d1c9c5900", size = 200778, upload-time = "2025-10-08T19:46:18.023Z" },
+ { url = "https://files.pythonhosted.org/packages/cf/81/5abec54355ed344476bee711e9f04815d4b00a311ab0535599204eecc257/propcache-0.4.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:f93243fdc5657247533273ac4f86ae106cc6445a0efacb9a1bfe982fcfefd90c", size = 193047, upload-time = "2025-10-08T19:46:19.449Z" },
+ { url = "https://files.pythonhosted.org/packages/ec/b6/1f237c04e32063cb034acd5f6ef34ef3a394f75502e72703545631ab1ef6/propcache-0.4.1-cp310-cp310-win32.whl", hash = "sha256:a0ee98db9c5f80785b266eb805016e36058ac72c51a064040f2bc43b61101cdb", size = 38093, upload-time = "2025-10-08T19:46:20.643Z" },
+ { url = "https://files.pythonhosted.org/packages/a6/67/354aac4e0603a15f76439caf0427781bcd6797f370377f75a642133bc954/propcache-0.4.1-cp310-cp310-win_amd64.whl", hash = "sha256:1cdb7988c4e5ac7f6d175a28a9aa0c94cb6f2ebe52756a3c0cda98d2809a9e37", size = 41638, upload-time = "2025-10-08T19:46:21.935Z" },
+ { url = "https://files.pythonhosted.org/packages/e0/e1/74e55b9fd1a4c209ff1a9a824bf6c8b3d1fc5a1ac3eabe23462637466785/propcache-0.4.1-cp310-cp310-win_arm64.whl", hash = "sha256:d82ad62b19645419fe79dd63b3f9253e15b30e955c0170e5cebc350c1844e581", size = 38229, upload-time = "2025-10-08T19:46:23.368Z" },
+ { url = "https://files.pythonhosted.org/packages/8c/d4/4e2c9aaf7ac2242b9358f98dccd8f90f2605402f5afeff6c578682c2c491/propcache-0.4.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:60a8fda9644b7dfd5dece8c61d8a85e271cb958075bfc4e01083c148b61a7caf", size = 80208, upload-time = "2025-10-08T19:46:24.597Z" },
+ { url = "https://files.pythonhosted.org/packages/c2/21/d7b68e911f9c8e18e4ae43bdbc1e1e9bbd971f8866eb81608947b6f585ff/propcache-0.4.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:c30b53e7e6bda1d547cabb47c825f3843a0a1a42b0496087bb58d8fedf9f41b5", size = 45777, upload-time = "2025-10-08T19:46:25.733Z" },
+ { url = "https://files.pythonhosted.org/packages/d3/1d/11605e99ac8ea9435651ee71ab4cb4bf03f0949586246476a25aadfec54a/propcache-0.4.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:6918ecbd897443087a3b7cd978d56546a812517dcaaca51b49526720571fa93e", size = 47647, upload-time = "2025-10-08T19:46:27.304Z" },
+ { url = "https://files.pythonhosted.org/packages/58/1a/3c62c127a8466c9c843bccb503d40a273e5cc69838805f322e2826509e0d/propcache-0.4.1-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:3d902a36df4e5989763425a8ab9e98cd8ad5c52c823b34ee7ef307fd50582566", size = 214929, upload-time = "2025-10-08T19:46:28.62Z" },
+ { url = "https://files.pythonhosted.org/packages/56/b9/8fa98f850960b367c4b8fe0592e7fc341daa7a9462e925228f10a60cf74f/propcache-0.4.1-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:a9695397f85973bb40427dedddf70d8dc4a44b22f1650dd4af9eedf443d45165", size = 221778, upload-time = "2025-10-08T19:46:30.358Z" },
+ { url = "https://files.pythonhosted.org/packages/46/a6/0ab4f660eb59649d14b3d3d65c439421cf2f87fe5dd68591cbe3c1e78a89/propcache-0.4.1-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:2bb07ffd7eaad486576430c89f9b215f9e4be68c4866a96e97db9e97fead85dc", size = 228144, upload-time = "2025-10-08T19:46:32.607Z" },
+ { url = "https://files.pythonhosted.org/packages/52/6a/57f43e054fb3d3a56ac9fc532bc684fc6169a26c75c353e65425b3e56eef/propcache-0.4.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:fd6f30fdcf9ae2a70abd34da54f18da086160e4d7d9251f81f3da0ff84fc5a48", size = 210030, upload-time = "2025-10-08T19:46:33.969Z" },
+ { url = "https://files.pythonhosted.org/packages/40/e2/27e6feebb5f6b8408fa29f5efbb765cd54c153ac77314d27e457a3e993b7/propcache-0.4.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:fc38cba02d1acba4e2869eef1a57a43dfbd3d49a59bf90dda7444ec2be6a5570", size = 208252, upload-time = "2025-10-08T19:46:35.309Z" },
+ { url = "https://files.pythonhosted.org/packages/9e/f8/91c27b22ccda1dbc7967f921c42825564fa5336a01ecd72eb78a9f4f53c2/propcache-0.4.1-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:67fad6162281e80e882fb3ec355398cf72864a54069d060321f6cd0ade95fe85", size = 202064, upload-time = "2025-10-08T19:46:36.993Z" },
+ { url = "https://files.pythonhosted.org/packages/f2/26/7f00bd6bd1adba5aafe5f4a66390f243acab58eab24ff1a08bebb2ef9d40/propcache-0.4.1-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:f10207adf04d08bec185bae14d9606a1444715bc99180f9331c9c02093e1959e", size = 212429, upload-time = "2025-10-08T19:46:38.398Z" },
+ { url = "https://files.pythonhosted.org/packages/84/89/fd108ba7815c1117ddca79c228f3f8a15fc82a73bca8b142eb5de13b2785/propcache-0.4.1-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:e9b0d8d0845bbc4cfcdcbcdbf5086886bc8157aa963c31c777ceff7846c77757", size = 216727, upload-time = "2025-10-08T19:46:39.732Z" },
+ { url = "https://files.pythonhosted.org/packages/79/37/3ec3f7e3173e73f1d600495d8b545b53802cbf35506e5732dd8578db3724/propcache-0.4.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:981333cb2f4c1896a12f4ab92a9cc8f09ea664e9b7dbdc4eff74627af3a11c0f", size = 205097, upload-time = "2025-10-08T19:46:41.025Z" },
+ { url = "https://files.pythonhosted.org/packages/61/b0/b2631c19793f869d35f47d5a3a56fb19e9160d3c119f15ac7344fc3ccae7/propcache-0.4.1-cp311-cp311-win32.whl", hash = "sha256:f1d2f90aeec838a52f1c1a32fe9a619fefd5e411721a9117fbf82aea638fe8a1", size = 38084, upload-time = "2025-10-08T19:46:42.693Z" },
+ { url = "https://files.pythonhosted.org/packages/f4/78/6cce448e2098e9f3bfc91bb877f06aa24b6ccace872e39c53b2f707c4648/propcache-0.4.1-cp311-cp311-win_amd64.whl", hash = "sha256:364426a62660f3f699949ac8c621aad6977be7126c5807ce48c0aeb8e7333ea6", size = 41637, upload-time = "2025-10-08T19:46:43.778Z" },
+ { url = "https://files.pythonhosted.org/packages/9c/e9/754f180cccd7f51a39913782c74717c581b9cc8177ad0e949f4d51812383/propcache-0.4.1-cp311-cp311-win_arm64.whl", hash = "sha256:e53f3a38d3510c11953f3e6a33f205c6d1b001129f972805ca9b42fc308bc239", size = 38064, upload-time = "2025-10-08T19:46:44.872Z" },
+ { url = "https://files.pythonhosted.org/packages/a2/0f/f17b1b2b221d5ca28b4b876e8bb046ac40466513960646bda8e1853cdfa2/propcache-0.4.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:e153e9cd40cc8945138822807139367f256f89c6810c2634a4f6902b52d3b4e2", size = 80061, upload-time = "2025-10-08T19:46:46.075Z" },
+ { url = "https://files.pythonhosted.org/packages/76/47/8ccf75935f51448ba9a16a71b783eb7ef6b9ee60f5d14c7f8a8a79fbeed7/propcache-0.4.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:cd547953428f7abb73c5ad82cbb32109566204260d98e41e5dfdc682eb7f8403", size = 46037, upload-time = "2025-10-08T19:46:47.23Z" },
+ { url = "https://files.pythonhosted.org/packages/0a/b6/5c9a0e42df4d00bfb4a3cbbe5cf9f54260300c88a0e9af1f47ca5ce17ac0/propcache-0.4.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:f048da1b4f243fc44f205dfd320933a951b8d89e0afd4c7cacc762a8b9165207", size = 47324, upload-time = "2025-10-08T19:46:48.384Z" },
+ { url = "https://files.pythonhosted.org/packages/9e/d3/6c7ee328b39a81ee877c962469f1e795f9db87f925251efeb0545e0020d0/propcache-0.4.1-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:ec17c65562a827bba85e3872ead335f95405ea1674860d96483a02f5c698fa72", size = 225505, upload-time = "2025-10-08T19:46:50.055Z" },
+ { url = "https://files.pythonhosted.org/packages/01/5d/1c53f4563490b1d06a684742cc6076ef944bc6457df6051b7d1a877c057b/propcache-0.4.1-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:405aac25c6394ef275dee4c709be43745d36674b223ba4eb7144bf4d691b7367", size = 230242, upload-time = "2025-10-08T19:46:51.815Z" },
+ { url = "https://files.pythonhosted.org/packages/20/e1/ce4620633b0e2422207c3cb774a0ee61cac13abc6217763a7b9e2e3f4a12/propcache-0.4.1-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:0013cb6f8dde4b2a2f66903b8ba740bdfe378c943c4377a200551ceb27f379e4", size = 238474, upload-time = "2025-10-08T19:46:53.208Z" },
+ { url = "https://files.pythonhosted.org/packages/46/4b/3aae6835b8e5f44ea6a68348ad90f78134047b503765087be2f9912140ea/propcache-0.4.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:15932ab57837c3368b024473a525e25d316d8353016e7cc0e5ba9eb343fbb1cf", size = 221575, upload-time = "2025-10-08T19:46:54.511Z" },
+ { url = "https://files.pythonhosted.org/packages/6e/a5/8a5e8678bcc9d3a1a15b9a29165640d64762d424a16af543f00629c87338/propcache-0.4.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:031dce78b9dc099f4c29785d9cf5577a3faf9ebf74ecbd3c856a7b92768c3df3", size = 216736, upload-time = "2025-10-08T19:46:56.212Z" },
+ { url = "https://files.pythonhosted.org/packages/f1/63/b7b215eddeac83ca1c6b934f89d09a625aa9ee4ba158338854c87210cc36/propcache-0.4.1-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:ab08df6c9a035bee56e31af99be621526bd237bea9f32def431c656b29e41778", size = 213019, upload-time = "2025-10-08T19:46:57.595Z" },
+ { url = "https://files.pythonhosted.org/packages/57/74/f580099a58c8af587cac7ba19ee7cb418506342fbbe2d4a4401661cca886/propcache-0.4.1-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:4d7af63f9f93fe593afbf104c21b3b15868efb2c21d07d8732c0c4287e66b6a6", size = 220376, upload-time = "2025-10-08T19:46:59.067Z" },
+ { url = "https://files.pythonhosted.org/packages/c4/ee/542f1313aff7eaf19c2bb758c5d0560d2683dac001a1c96d0774af799843/propcache-0.4.1-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:cfc27c945f422e8b5071b6e93169679e4eb5bf73bbcbf1ba3ae3a83d2f78ebd9", size = 226988, upload-time = "2025-10-08T19:47:00.544Z" },
+ { url = "https://files.pythonhosted.org/packages/8f/18/9c6b015dd9c6930f6ce2229e1f02fb35298b847f2087ea2b436a5bfa7287/propcache-0.4.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:35c3277624a080cc6ec6f847cbbbb5b49affa3598c4535a0a4682a697aaa5c75", size = 215615, upload-time = "2025-10-08T19:47:01.968Z" },
+ { url = "https://files.pythonhosted.org/packages/80/9e/e7b85720b98c45a45e1fca6a177024934dc9bc5f4d5dd04207f216fc33ed/propcache-0.4.1-cp312-cp312-win32.whl", hash = "sha256:671538c2262dadb5ba6395e26c1731e1d52534bfe9ae56d0b5573ce539266aa8", size = 38066, upload-time = "2025-10-08T19:47:03.503Z" },
+ { url = "https://files.pythonhosted.org/packages/54/09/d19cff2a5aaac632ec8fc03737b223597b1e347416934c1b3a7df079784c/propcache-0.4.1-cp312-cp312-win_amd64.whl", hash = "sha256:cb2d222e72399fcf5890d1d5cc1060857b9b236adff2792ff48ca2dfd46c81db", size = 41655, upload-time = "2025-10-08T19:47:04.973Z" },
+ { url = "https://files.pythonhosted.org/packages/68/ab/6b5c191bb5de08036a8c697b265d4ca76148efb10fa162f14af14fb5f076/propcache-0.4.1-cp312-cp312-win_arm64.whl", hash = "sha256:204483131fb222bdaaeeea9f9e6c6ed0cac32731f75dfc1d4a567fc1926477c1", size = 37789, upload-time = "2025-10-08T19:47:06.077Z" },
+ { url = "https://files.pythonhosted.org/packages/bf/df/6d9c1b6ac12b003837dde8a10231a7344512186e87b36e855bef32241942/propcache-0.4.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:43eedf29202c08550aac1d14e0ee619b0430aaef78f85864c1a892294fbc28cf", size = 77750, upload-time = "2025-10-08T19:47:07.648Z" },
+ { url = "https://files.pythonhosted.org/packages/8b/e8/677a0025e8a2acf07d3418a2e7ba529c9c33caf09d3c1f25513023c1db56/propcache-0.4.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:d62cdfcfd89ccb8de04e0eda998535c406bf5e060ffd56be6c586cbcc05b3311", size = 44780, upload-time = "2025-10-08T19:47:08.851Z" },
+ { url = "https://files.pythonhosted.org/packages/89/a4/92380f7ca60f99ebae761936bc48a72a639e8a47b29050615eef757cb2a7/propcache-0.4.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:cae65ad55793da34db5f54e4029b89d3b9b9490d8abe1b4c7ab5d4b8ec7ebf74", size = 46308, upload-time = "2025-10-08T19:47:09.982Z" },
+ { url = "https://files.pythonhosted.org/packages/2d/48/c5ac64dee5262044348d1d78a5f85dd1a57464a60d30daee946699963eb3/propcache-0.4.1-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:333ddb9031d2704a301ee3e506dc46b1fe5f294ec198ed6435ad5b6a085facfe", size = 208182, upload-time = "2025-10-08T19:47:11.319Z" },
+ { url = "https://files.pythonhosted.org/packages/c6/0c/cd762dd011a9287389a6a3eb43aa30207bde253610cca06824aeabfe9653/propcache-0.4.1-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:fd0858c20f078a32cf55f7e81473d96dcf3b93fd2ccdb3d40fdf54b8573df3af", size = 211215, upload-time = "2025-10-08T19:47:13.146Z" },
+ { url = "https://files.pythonhosted.org/packages/30/3e/49861e90233ba36890ae0ca4c660e95df565b2cd15d4a68556ab5865974e/propcache-0.4.1-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:678ae89ebc632c5c204c794f8dab2837c5f159aeb59e6ed0539500400577298c", size = 218112, upload-time = "2025-10-08T19:47:14.913Z" },
+ { url = "https://files.pythonhosted.org/packages/f1/8b/544bc867e24e1bd48f3118cecd3b05c694e160a168478fa28770f22fd094/propcache-0.4.1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:d472aeb4fbf9865e0c6d622d7f4d54a4e101a89715d8904282bb5f9a2f476c3f", size = 204442, upload-time = "2025-10-08T19:47:16.277Z" },
+ { url = "https://files.pythonhosted.org/packages/50/a6/4282772fd016a76d3e5c0df58380a5ea64900afd836cec2c2f662d1b9bb3/propcache-0.4.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:4d3df5fa7e36b3225954fba85589da77a0fe6a53e3976de39caf04a0db4c36f1", size = 199398, upload-time = "2025-10-08T19:47:17.962Z" },
+ { url = "https://files.pythonhosted.org/packages/3e/ec/d8a7cd406ee1ddb705db2139f8a10a8a427100347bd698e7014351c7af09/propcache-0.4.1-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:ee17f18d2498f2673e432faaa71698032b0127ebf23ae5974eeaf806c279df24", size = 196920, upload-time = "2025-10-08T19:47:19.355Z" },
+ { url = "https://files.pythonhosted.org/packages/f6/6c/f38ab64af3764f431e359f8baf9e0a21013e24329e8b85d2da32e8ed07ca/propcache-0.4.1-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:580e97762b950f993ae618e167e7be9256b8353c2dcd8b99ec100eb50f5286aa", size = 203748, upload-time = "2025-10-08T19:47:21.338Z" },
+ { url = "https://files.pythonhosted.org/packages/d6/e3/fa846bd70f6534d647886621388f0a265254d30e3ce47e5c8e6e27dbf153/propcache-0.4.1-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:501d20b891688eb8e7aa903021f0b72d5a55db40ffaab27edefd1027caaafa61", size = 205877, upload-time = "2025-10-08T19:47:23.059Z" },
+ { url = "https://files.pythonhosted.org/packages/e2/39/8163fc6f3133fea7b5f2827e8eba2029a0277ab2c5beee6c1db7b10fc23d/propcache-0.4.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:9a0bd56e5b100aef69bd8562b74b46254e7c8812918d3baa700c8a8009b0af66", size = 199437, upload-time = "2025-10-08T19:47:24.445Z" },
+ { url = "https://files.pythonhosted.org/packages/93/89/caa9089970ca49c7c01662bd0eeedfe85494e863e8043565aeb6472ce8fe/propcache-0.4.1-cp313-cp313-win32.whl", hash = "sha256:bcc9aaa5d80322bc2fb24bb7accb4a30f81e90ab8d6ba187aec0744bc302ad81", size = 37586, upload-time = "2025-10-08T19:47:25.736Z" },
+ { url = "https://files.pythonhosted.org/packages/f5/ab/f76ec3c3627c883215b5c8080debb4394ef5a7a29be811f786415fc1e6fd/propcache-0.4.1-cp313-cp313-win_amd64.whl", hash = "sha256:381914df18634f5494334d201e98245c0596067504b9372d8cf93f4bb23e025e", size = 40790, upload-time = "2025-10-08T19:47:26.847Z" },
+ { url = "https://files.pythonhosted.org/packages/59/1b/e71ae98235f8e2ba5004d8cb19765a74877abf189bc53fc0c80d799e56c3/propcache-0.4.1-cp313-cp313-win_arm64.whl", hash = "sha256:8873eb4460fd55333ea49b7d189749ecf6e55bf85080f11b1c4530ed3034cba1", size = 37158, upload-time = "2025-10-08T19:47:27.961Z" },
+ { url = "https://files.pythonhosted.org/packages/83/ce/a31bbdfc24ee0dcbba458c8175ed26089cf109a55bbe7b7640ed2470cfe9/propcache-0.4.1-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:92d1935ee1f8d7442da9c0c4fa7ac20d07e94064184811b685f5c4fada64553b", size = 81451, upload-time = "2025-10-08T19:47:29.445Z" },
+ { url = "https://files.pythonhosted.org/packages/25/9c/442a45a470a68456e710d96cacd3573ef26a1d0a60067e6a7d5e655621ed/propcache-0.4.1-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:473c61b39e1460d386479b9b2f337da492042447c9b685f28be4f74d3529e566", size = 46374, upload-time = "2025-10-08T19:47:30.579Z" },
+ { url = "https://files.pythonhosted.org/packages/f4/bf/b1d5e21dbc3b2e889ea4327044fb16312a736d97640fb8b6aa3f9c7b3b65/propcache-0.4.1-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:c0ef0aaafc66fbd87842a3fe3902fd889825646bc21149eafe47be6072725835", size = 48396, upload-time = "2025-10-08T19:47:31.79Z" },
+ { url = "https://files.pythonhosted.org/packages/f4/04/5b4c54a103d480e978d3c8a76073502b18db0c4bc17ab91b3cb5092ad949/propcache-0.4.1-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:f95393b4d66bfae908c3ca8d169d5f79cd65636ae15b5e7a4f6e67af675adb0e", size = 275950, upload-time = "2025-10-08T19:47:33.481Z" },
+ { url = "https://files.pythonhosted.org/packages/b4/c1/86f846827fb969c4b78b0af79bba1d1ea2156492e1b83dea8b8a6ae27395/propcache-0.4.1-cp313-cp313t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:c07fda85708bc48578467e85099645167a955ba093be0a2dcba962195676e859", size = 273856, upload-time = "2025-10-08T19:47:34.906Z" },
+ { url = "https://files.pythonhosted.org/packages/36/1d/fc272a63c8d3bbad6878c336c7a7dea15e8f2d23a544bda43205dfa83ada/propcache-0.4.1-cp313-cp313t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:af223b406d6d000830c6f65f1e6431783fc3f713ba3e6cc8c024d5ee96170a4b", size = 280420, upload-time = "2025-10-08T19:47:36.338Z" },
+ { url = "https://files.pythonhosted.org/packages/07/0c/01f2219d39f7e53d52e5173bcb09c976609ba30209912a0680adfb8c593a/propcache-0.4.1-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:a78372c932c90ee474559c5ddfffd718238e8673c340dc21fe45c5b8b54559a0", size = 263254, upload-time = "2025-10-08T19:47:37.692Z" },
+ { url = "https://files.pythonhosted.org/packages/2d/18/cd28081658ce597898f0c4d174d4d0f3c5b6d4dc27ffafeef835c95eb359/propcache-0.4.1-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:564d9f0d4d9509e1a870c920a89b2fec951b44bf5ba7d537a9e7c1ccec2c18af", size = 261205, upload-time = "2025-10-08T19:47:39.659Z" },
+ { url = "https://files.pythonhosted.org/packages/7a/71/1f9e22eb8b8316701c2a19fa1f388c8a3185082607da8e406a803c9b954e/propcache-0.4.1-cp313-cp313t-musllinux_1_2_armv7l.whl", hash = "sha256:17612831fda0138059cc5546f4d12a2aacfb9e47068c06af35c400ba58ba7393", size = 247873, upload-time = "2025-10-08T19:47:41.084Z" },
+ { url = "https://files.pythonhosted.org/packages/4a/65/3d4b61f36af2b4eddba9def857959f1016a51066b4f1ce348e0cf7881f58/propcache-0.4.1-cp313-cp313t-musllinux_1_2_ppc64le.whl", hash = "sha256:41a89040cb10bd345b3c1a873b2bf36413d48da1def52f268a055f7398514874", size = 262739, upload-time = "2025-10-08T19:47:42.51Z" },
+ { url = "https://files.pythonhosted.org/packages/2a/42/26746ab087faa77c1c68079b228810436ccd9a5ce9ac85e2b7307195fd06/propcache-0.4.1-cp313-cp313t-musllinux_1_2_s390x.whl", hash = "sha256:e35b88984e7fa64aacecea39236cee32dd9bd8c55f57ba8a75cf2399553f9bd7", size = 263514, upload-time = "2025-10-08T19:47:43.927Z" },
+ { url = "https://files.pythonhosted.org/packages/94/13/630690fe201f5502d2403dd3cfd451ed8858fe3c738ee88d095ad2ff407b/propcache-0.4.1-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:6f8b465489f927b0df505cbe26ffbeed4d6d8a2bbc61ce90eb074ff129ef0ab1", size = 257781, upload-time = "2025-10-08T19:47:45.448Z" },
+ { url = "https://files.pythonhosted.org/packages/92/f7/1d4ec5841505f423469efbfc381d64b7b467438cd5a4bbcbb063f3b73d27/propcache-0.4.1-cp313-cp313t-win32.whl", hash = "sha256:2ad890caa1d928c7c2965b48f3a3815c853180831d0e5503d35cf00c472f4717", size = 41396, upload-time = "2025-10-08T19:47:47.202Z" },
+ { url = "https://files.pythonhosted.org/packages/48/f0/615c30622316496d2cbbc29f5985f7777d3ada70f23370608c1d3e081c1f/propcache-0.4.1-cp313-cp313t-win_amd64.whl", hash = "sha256:f7ee0e597f495cf415bcbd3da3caa3bd7e816b74d0d52b8145954c5e6fd3ff37", size = 44897, upload-time = "2025-10-08T19:47:48.336Z" },
+ { url = "https://files.pythonhosted.org/packages/fd/ca/6002e46eccbe0e33dcd4069ef32f7f1c9e243736e07adca37ae8c4830ec3/propcache-0.4.1-cp313-cp313t-win_arm64.whl", hash = "sha256:929d7cbe1f01bb7baffb33dc14eb5691c95831450a26354cd210a8155170c93a", size = 39789, upload-time = "2025-10-08T19:47:49.876Z" },
+ { url = "https://files.pythonhosted.org/packages/5b/5a/bc7b4a4ef808fa59a816c17b20c4bef6884daebbdf627ff2a161da67da19/propcache-0.4.1-py3-none-any.whl", hash = "sha256:af2a6052aeb6cf17d3e46ee169099044fd8224cbaf75c76a2ef596e8163e2237", size = 13305, upload-time = "2025-10-08T19:49:00.792Z" },
+]
+
+[[package]]
+name = "protobuf"
+version = "6.33.5"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/ba/25/7c72c307aafc96fa87062aa6291d9f7c94836e43214d43722e86037aac02/protobuf-6.33.5.tar.gz", hash = "sha256:6ddcac2a081f8b7b9642c09406bc6a4290128fce5f471cddd165960bb9119e5c", size = 444465, upload-time = "2026-01-29T21:51:33.494Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/b1/79/af92d0a8369732b027e6d6084251dd8e782c685c72da161bd4a2e00fbabb/protobuf-6.33.5-cp310-abi3-win32.whl", hash = "sha256:d71b040839446bac0f4d162e758bea99c8251161dae9d0983a3b88dee345153b", size = 425769, upload-time = "2026-01-29T21:51:21.751Z" },
+ { url = "https://files.pythonhosted.org/packages/55/75/bb9bc917d10e9ee13dee8607eb9ab963b7cf8be607c46e7862c748aa2af7/protobuf-6.33.5-cp310-abi3-win_amd64.whl", hash = "sha256:3093804752167bcab3998bec9f1048baae6e29505adaf1afd14a37bddede533c", size = 437118, upload-time = "2026-01-29T21:51:24.022Z" },
+ { url = "https://files.pythonhosted.org/packages/a2/6b/e48dfc1191bc5b52950246275bf4089773e91cb5ba3592621723cdddca62/protobuf-6.33.5-cp39-abi3-macosx_10_9_universal2.whl", hash = "sha256:a5cb85982d95d906df1e2210e58f8e4f1e3cdc088e52c921a041f9c9a0386de5", size = 427766, upload-time = "2026-01-29T21:51:25.413Z" },
+ { url = "https://files.pythonhosted.org/packages/4e/b1/c79468184310de09d75095ed1314b839eb2f72df71097db9d1404a1b2717/protobuf-6.33.5-cp39-abi3-manylinux2014_aarch64.whl", hash = "sha256:9b71e0281f36f179d00cbcb119cb19dec4d14a81393e5ea220f64b286173e190", size = 324638, upload-time = "2026-01-29T21:51:26.423Z" },
+ { url = "https://files.pythonhosted.org/packages/c5/f5/65d838092fd01c44d16037953fd4c2cc851e783de9b8f02b27ec4ffd906f/protobuf-6.33.5-cp39-abi3-manylinux2014_s390x.whl", hash = "sha256:8afa18e1d6d20af15b417e728e9f60f3aa108ee76f23c3b2c07a2c3b546d3afd", size = 339411, upload-time = "2026-01-29T21:51:27.446Z" },
+ { url = "https://files.pythonhosted.org/packages/9b/53/a9443aa3ca9ba8724fdfa02dd1887c1bcd8e89556b715cfbacca6b63dbec/protobuf-6.33.5-cp39-abi3-manylinux2014_x86_64.whl", hash = "sha256:cbf16ba3350fb7b889fca858fb215967792dc125b35c7976ca4818bee3521cf0", size = 323465, upload-time = "2026-01-29T21:51:28.925Z" },
+ { url = "https://files.pythonhosted.org/packages/57/bf/2086963c69bdac3d7cff1cc7ff79b8ce5ea0bec6797a017e1be338a46248/protobuf-6.33.5-py3-none-any.whl", hash = "sha256:69915a973dd0f60f31a08b8318b73eab2bd6a392c79184b3612226b0a3f8ec02", size = 170687, upload-time = "2026-01-29T21:51:32.557Z" },
+]
+
+[[package]]
+name = "psutil"
+version = "7.2.2"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/aa/c6/d1ddf4abb55e93cebc4f2ed8b5d6dbad109ecb8d63748dd2b20ab5e57ebe/psutil-7.2.2.tar.gz", hash = "sha256:0746f5f8d406af344fd547f1c8daa5f5c33dbc293bb8d6a16d80b4bb88f59372", size = 493740, upload-time = "2026-01-28T18:14:54.428Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/51/08/510cbdb69c25a96f4ae523f733cdc963ae654904e8db864c07585ef99875/psutil-7.2.2-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:2edccc433cbfa046b980b0df0171cd25bcaeb3a68fe9022db0979e7aa74a826b", size = 130595, upload-time = "2026-01-28T18:14:57.293Z" },
+ { url = "https://files.pythonhosted.org/packages/d6/f5/97baea3fe7a5a9af7436301f85490905379b1c6f2dd51fe3ecf24b4c5fbf/psutil-7.2.2-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:e78c8603dcd9a04c7364f1a3e670cea95d51ee865e4efb3556a3a63adef958ea", size = 131082, upload-time = "2026-01-28T18:14:59.732Z" },
+ { url = "https://files.pythonhosted.org/packages/37/d6/246513fbf9fa174af531f28412297dd05241d97a75911ac8febefa1a53c6/psutil-7.2.2-cp313-cp313t-manylinux2010_x86_64.manylinux_2_12_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:1a571f2330c966c62aeda00dd24620425d4b0cc86881c89861fbc04549e5dc63", size = 181476, upload-time = "2026-01-28T18:15:01.884Z" },
+ { url = "https://files.pythonhosted.org/packages/b8/b5/9182c9af3836cca61696dabe4fd1304e17bc56cb62f17439e1154f225dd3/psutil-7.2.2-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:917e891983ca3c1887b4ef36447b1e0873e70c933afc831c6b6da078ba474312", size = 184062, upload-time = "2026-01-28T18:15:04.436Z" },
+ { url = "https://files.pythonhosted.org/packages/16/ba/0756dca669f5a9300d0cbcbfae9a4c30e446dfc7440ffe43ded5724bfd93/psutil-7.2.2-cp313-cp313t-win_amd64.whl", hash = "sha256:ab486563df44c17f5173621c7b198955bd6b613fb87c71c161f827d3fb149a9b", size = 139893, upload-time = "2026-01-28T18:15:06.378Z" },
+ { url = "https://files.pythonhosted.org/packages/1c/61/8fa0e26f33623b49949346de05ec1ddaad02ed8ba64af45f40a147dbfa97/psutil-7.2.2-cp313-cp313t-win_arm64.whl", hash = "sha256:ae0aefdd8796a7737eccea863f80f81e468a1e4cf14d926bd9b6f5f2d5f90ca9", size = 135589, upload-time = "2026-01-28T18:15:08.03Z" },
+ { url = "https://files.pythonhosted.org/packages/e7/36/5ee6e05c9bd427237b11b3937ad82bb8ad2752d72c6969314590dd0c2f6e/psutil-7.2.2-cp36-abi3-macosx_10_9_x86_64.whl", hash = "sha256:ed0cace939114f62738d808fdcecd4c869222507e266e574799e9c0faa17d486", size = 129090, upload-time = "2026-01-28T18:15:22.168Z" },
+ { url = "https://files.pythonhosted.org/packages/80/c4/f5af4c1ca8c1eeb2e92ccca14ce8effdeec651d5ab6053c589b074eda6e1/psutil-7.2.2-cp36-abi3-macosx_11_0_arm64.whl", hash = "sha256:1a7b04c10f32cc88ab39cbf606e117fd74721c831c98a27dc04578deb0c16979", size = 129859, upload-time = "2026-01-28T18:15:23.795Z" },
+ { url = "https://files.pythonhosted.org/packages/b5/70/5d8df3b09e25bce090399cf48e452d25c935ab72dad19406c77f4e828045/psutil-7.2.2-cp36-abi3-manylinux2010_x86_64.manylinux_2_12_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:076a2d2f923fd4821644f5ba89f059523da90dc9014e85f8e45a5774ca5bc6f9", size = 155560, upload-time = "2026-01-28T18:15:25.976Z" },
+ { url = "https://files.pythonhosted.org/packages/63/65/37648c0c158dc222aba51c089eb3bdfa238e621674dc42d48706e639204f/psutil-7.2.2-cp36-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:b0726cecd84f9474419d67252add4ac0cd9811b04d61123054b9fb6f57df6e9e", size = 156997, upload-time = "2026-01-28T18:15:27.794Z" },
+ { url = "https://files.pythonhosted.org/packages/8e/13/125093eadae863ce03c6ffdbae9929430d116a246ef69866dad94da3bfbc/psutil-7.2.2-cp36-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:fd04ef36b4a6d599bbdb225dd1d3f51e00105f6d48a28f006da7f9822f2606d8", size = 148972, upload-time = "2026-01-28T18:15:29.342Z" },
+ { url = "https://files.pythonhosted.org/packages/04/78/0acd37ca84ce3ddffaa92ef0f571e073faa6d8ff1f0559ab1272188ea2be/psutil-7.2.2-cp36-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:b58fabe35e80b264a4e3bb23e6b96f9e45a3df7fb7eed419ac0e5947c61e47cc", size = 148266, upload-time = "2026-01-28T18:15:31.597Z" },
+ { url = "https://files.pythonhosted.org/packages/b4/90/e2159492b5426be0c1fef7acba807a03511f97c5f86b3caeda6ad92351a7/psutil-7.2.2-cp37-abi3-win_amd64.whl", hash = "sha256:eb7e81434c8d223ec4a219b5fc1c47d0417b12be7ea866e24fb5ad6e84b3d988", size = 137737, upload-time = "2026-01-28T18:15:33.849Z" },
+ { url = "https://files.pythonhosted.org/packages/8c/c7/7bb2e321574b10df20cbde462a94e2b71d05f9bbda251ef27d104668306a/psutil-7.2.2-cp37-abi3-win_arm64.whl", hash = "sha256:8c233660f575a5a89e6d4cb65d9f938126312bca76d8fe087b947b3a1aaac9ee", size = 134617, upload-time = "2026-01-28T18:15:36.514Z" },
+]
+
+[[package]]
+name = "py-cpuinfo"
+version = "9.0.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/37/a8/d832f7293ebb21690860d2e01d8115e5ff6f2ae8bbdc953f0eb0fa4bd2c7/py-cpuinfo-9.0.0.tar.gz", hash = "sha256:3cdbbf3fac90dc6f118bfd64384f309edeadd902d7c8fb17f02ffa1fc3f49690", size = 104716, upload-time = "2022-10-25T20:38:06.303Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/e0/a9/023730ba63db1e494a271cb018dcd361bd2c917ba7004c3e49d5daf795a2/py_cpuinfo-9.0.0-py3-none-any.whl", hash = "sha256:859625bc251f64e21f077d099d4162689c762b5d6a4c3c97553d56241c9674d5", size = 22335, upload-time = "2022-10-25T20:38:27.636Z" },
+]
+
+[[package]]
+name = "pycparser"
+version = "3.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/1b/7d/92392ff7815c21062bea51aa7b87d45576f649f16458d78b7cf94b9ab2e6/pycparser-3.0.tar.gz", hash = "sha256:600f49d217304a5902ac3c37e1281c9fe94e4d0489de643a9504c5cdfdfc6b29", size = 103492, upload-time = "2026-01-21T14:26:51.89Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/0c/c3/44f3fbbfa403ea2a7c779186dc20772604442dde72947e7d01069cbe98e3/pycparser-3.0-py3-none-any.whl", hash = "sha256:b727414169a36b7d524c1c3e31839a521725078d7b2ff038656844266160a992", size = 48172, upload-time = "2026-01-21T14:26:50.693Z" },
+]
+
+[[package]]
+name = "pycryptodome"
+version = "3.23.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/8e/a6/8452177684d5e906854776276ddd34eca30d1b1e15aa1ee9cefc289a33f5/pycryptodome-3.23.0.tar.gz", hash = "sha256:447700a657182d60338bab09fdb27518f8856aecd80ae4c6bdddb67ff5da44ef", size = 4921276, upload-time = "2025-05-17T17:21:45.242Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/04/5d/bdb09489b63cd34a976cc9e2a8d938114f7a53a74d3dd4f125ffa49dce82/pycryptodome-3.23.0-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:0011f7f00cdb74879142011f95133274741778abba114ceca229adbf8e62c3e4", size = 2495152, upload-time = "2025-05-17T17:20:20.833Z" },
+ { url = "https://files.pythonhosted.org/packages/a7/ce/7840250ed4cc0039c433cd41715536f926d6e86ce84e904068eb3244b6a6/pycryptodome-3.23.0-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:90460fc9e088ce095f9ee8356722d4f10f86e5be06e2354230a9880b9c549aae", size = 1639348, upload-time = "2025-05-17T17:20:23.171Z" },
+ { url = "https://files.pythonhosted.org/packages/ee/f0/991da24c55c1f688d6a3b5a11940567353f74590734ee4a64294834ae472/pycryptodome-3.23.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4764e64b269fc83b00f682c47443c2e6e85b18273712b98aa43bcb77f8570477", size = 2184033, upload-time = "2025-05-17T17:20:25.424Z" },
+ { url = "https://files.pythonhosted.org/packages/54/16/0e11882deddf00f68b68dd4e8e442ddc30641f31afeb2bc25588124ac8de/pycryptodome-3.23.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:eb8f24adb74984aa0e5d07a2368ad95276cf38051fe2dc6605cbcf482e04f2a7", size = 2270142, upload-time = "2025-05-17T17:20:27.808Z" },
+ { url = "https://files.pythonhosted.org/packages/d5/fc/4347fea23a3f95ffb931f383ff28b3f7b1fe868739182cb76718c0da86a1/pycryptodome-3.23.0-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d97618c9c6684a97ef7637ba43bdf6663a2e2e77efe0f863cce97a76af396446", size = 2309384, upload-time = "2025-05-17T17:20:30.765Z" },
+ { url = "https://files.pythonhosted.org/packages/6e/d9/c5261780b69ce66d8cfab25d2797bd6e82ba0241804694cd48be41add5eb/pycryptodome-3.23.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:9a53a4fe5cb075075d515797d6ce2f56772ea7e6a1e5e4b96cf78a14bac3d265", size = 2183237, upload-time = "2025-05-17T17:20:33.736Z" },
+ { url = "https://files.pythonhosted.org/packages/5a/6f/3af2ffedd5cfa08c631f89452c6648c4d779e7772dfc388c77c920ca6bbf/pycryptodome-3.23.0-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:763d1d74f56f031788e5d307029caef067febf890cd1f8bf61183ae142f1a77b", size = 2343898, upload-time = "2025-05-17T17:20:36.086Z" },
+ { url = "https://files.pythonhosted.org/packages/9a/dc/9060d807039ee5de6e2f260f72f3d70ac213993a804f5e67e0a73a56dd2f/pycryptodome-3.23.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:954af0e2bd7cea83ce72243b14e4fb518b18f0c1649b576d114973e2073b273d", size = 2269197, upload-time = "2025-05-17T17:20:38.414Z" },
+ { url = "https://files.pythonhosted.org/packages/f9/34/e6c8ca177cb29dcc4967fef73f5de445912f93bd0343c9c33c8e5bf8cde8/pycryptodome-3.23.0-cp313-cp313t-win32.whl", hash = "sha256:257bb3572c63ad8ba40b89f6fc9d63a2a628e9f9708d31ee26560925ebe0210a", size = 1768600, upload-time = "2025-05-17T17:20:40.688Z" },
+ { url = "https://files.pythonhosted.org/packages/e4/1d/89756b8d7ff623ad0160f4539da571d1f594d21ee6d68be130a6eccb39a4/pycryptodome-3.23.0-cp313-cp313t-win_amd64.whl", hash = "sha256:6501790c5b62a29fcb227bd6b62012181d886a767ce9ed03b303d1f22eb5c625", size = 1799740, upload-time = "2025-05-17T17:20:42.413Z" },
+ { url = "https://files.pythonhosted.org/packages/5d/61/35a64f0feaea9fd07f0d91209e7be91726eb48c0f1bfc6720647194071e4/pycryptodome-3.23.0-cp313-cp313t-win_arm64.whl", hash = "sha256:9a77627a330ab23ca43b48b130e202582e91cc69619947840ea4d2d1be21eb39", size = 1703685, upload-time = "2025-05-17T17:20:44.388Z" },
+ { url = "https://files.pythonhosted.org/packages/db/6c/a1f71542c969912bb0e106f64f60a56cc1f0fabecf9396f45accbe63fa68/pycryptodome-3.23.0-cp37-abi3-macosx_10_9_universal2.whl", hash = "sha256:187058ab80b3281b1de11c2e6842a357a1f71b42cb1e15bce373f3d238135c27", size = 2495627, upload-time = "2025-05-17T17:20:47.139Z" },
+ { url = "https://files.pythonhosted.org/packages/6e/4e/a066527e079fc5002390c8acdd3aca431e6ea0a50ffd7201551175b47323/pycryptodome-3.23.0-cp37-abi3-macosx_10_9_x86_64.whl", hash = "sha256:cfb5cd445280c5b0a4e6187a7ce8de5a07b5f3f897f235caa11f1f435f182843", size = 1640362, upload-time = "2025-05-17T17:20:50.392Z" },
+ { url = "https://files.pythonhosted.org/packages/50/52/adaf4c8c100a8c49d2bd058e5b551f73dfd8cb89eb4911e25a0c469b6b4e/pycryptodome-3.23.0-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:67bd81fcbe34f43ad9422ee8fd4843c8e7198dd88dd3d40e6de42ee65fbe1490", size = 2182625, upload-time = "2025-05-17T17:20:52.866Z" },
+ { url = "https://files.pythonhosted.org/packages/5f/e9/a09476d436d0ff1402ac3867d933c61805ec2326c6ea557aeeac3825604e/pycryptodome-3.23.0-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c8987bd3307a39bc03df5c8e0e3d8be0c4c3518b7f044b0f4c15d1aa78f52575", size = 2268954, upload-time = "2025-05-17T17:20:55.027Z" },
+ { url = "https://files.pythonhosted.org/packages/f9/c5/ffe6474e0c551d54cab931918127c46d70cab8f114e0c2b5a3c071c2f484/pycryptodome-3.23.0-cp37-abi3-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:aa0698f65e5b570426fc31b8162ed4603b0c2841cbb9088e2b01641e3065915b", size = 2308534, upload-time = "2025-05-17T17:20:57.279Z" },
+ { url = "https://files.pythonhosted.org/packages/18/28/e199677fc15ecf43010f2463fde4c1a53015d1fe95fb03bca2890836603a/pycryptodome-3.23.0-cp37-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:53ecbafc2b55353edcebd64bf5da94a2a2cdf5090a6915bcca6eca6cc452585a", size = 2181853, upload-time = "2025-05-17T17:20:59.322Z" },
+ { url = "https://files.pythonhosted.org/packages/ce/ea/4fdb09f2165ce1365c9eaefef36625583371ee514db58dc9b65d3a255c4c/pycryptodome-3.23.0-cp37-abi3-musllinux_1_2_i686.whl", hash = "sha256:156df9667ad9f2ad26255926524e1c136d6664b741547deb0a86a9acf5ea631f", size = 2342465, upload-time = "2025-05-17T17:21:03.83Z" },
+ { url = "https://files.pythonhosted.org/packages/22/82/6edc3fc42fe9284aead511394bac167693fb2b0e0395b28b8bedaa07ef04/pycryptodome-3.23.0-cp37-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:dea827b4d55ee390dc89b2afe5927d4308a8b538ae91d9c6f7a5090f397af1aa", size = 2267414, upload-time = "2025-05-17T17:21:06.72Z" },
+ { url = "https://files.pythonhosted.org/packages/59/fe/aae679b64363eb78326c7fdc9d06ec3de18bac68be4b612fc1fe8902693c/pycryptodome-3.23.0-cp37-abi3-win32.whl", hash = "sha256:507dbead45474b62b2bbe318eb1c4c8ee641077532067fec9c1aa82c31f84886", size = 1768484, upload-time = "2025-05-17T17:21:08.535Z" },
+ { url = "https://files.pythonhosted.org/packages/54/2f/e97a1b8294db0daaa87012c24a7bb714147c7ade7656973fd6c736b484ff/pycryptodome-3.23.0-cp37-abi3-win_amd64.whl", hash = "sha256:c75b52aacc6c0c260f204cbdd834f76edc9fb0d8e0da9fbf8352ef58202564e2", size = 1799636, upload-time = "2025-05-17T17:21:10.393Z" },
+ { url = "https://files.pythonhosted.org/packages/18/3d/f9441a0d798bf2b1e645adc3265e55706aead1255ccdad3856dbdcffec14/pycryptodome-3.23.0-cp37-abi3-win_arm64.whl", hash = "sha256:11eeeb6917903876f134b56ba11abe95c0b0fd5e3330def218083c7d98bbcb3c", size = 1703675, upload-time = "2025-05-17T17:21:13.146Z" },
+ { url = "https://files.pythonhosted.org/packages/d9/12/e33935a0709c07de084d7d58d330ec3f4daf7910a18e77937affdb728452/pycryptodome-3.23.0-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:ddb95b49df036ddd264a0ad246d1be5b672000f12d6961ea2c267083a5e19379", size = 1623886, upload-time = "2025-05-17T17:21:20.614Z" },
+ { url = "https://files.pythonhosted.org/packages/22/0b/aa8f9419f25870889bebf0b26b223c6986652bdf071f000623df11212c90/pycryptodome-3.23.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d8e95564beb8782abfd9e431c974e14563a794a4944c29d6d3b7b5ea042110b4", size = 1672151, upload-time = "2025-05-17T17:21:22.666Z" },
+ { url = "https://files.pythonhosted.org/packages/d4/5e/63f5cbde2342b7f70a39e591dbe75d9809d6338ce0b07c10406f1a140cdc/pycryptodome-3.23.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:14e15c081e912c4b0d75632acd8382dfce45b258667aa3c67caf7a4d4c13f630", size = 1664461, upload-time = "2025-05-17T17:21:25.225Z" },
+ { url = "https://files.pythonhosted.org/packages/d6/92/608fbdad566ebe499297a86aae5f2a5263818ceeecd16733006f1600403c/pycryptodome-3.23.0-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a7fc76bf273353dc7e5207d172b83f569540fc9a28d63171061c42e361d22353", size = 1702440, upload-time = "2025-05-17T17:21:27.991Z" },
+ { url = "https://files.pythonhosted.org/packages/d1/92/2eadd1341abd2989cce2e2740b4423608ee2014acb8110438244ee97d7ff/pycryptodome-3.23.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:45c69ad715ca1a94f778215a11e66b7ff989d792a4d63b68dc586a1da1392ff5", size = 1803005, upload-time = "2025-05-17T17:21:31.37Z" },
+]
+
+[[package]]
+name = "pydantic"
+version = "2.11.10"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "annotated-types" },
+ { name = "pydantic-core" },
+ { name = "typing-extensions" },
+ { name = "typing-inspection" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/ae/54/ecab642b3bed45f7d5f59b38443dcb36ef50f85af192e6ece103dbfe9587/pydantic-2.11.10.tar.gz", hash = "sha256:dc280f0982fbda6c38fada4e476dc0a4f3aeaf9c6ad4c28df68a666ec3c61423", size = 788494, upload-time = "2025-10-04T10:40:41.338Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/bd/1f/73c53fcbfb0b5a78f91176df41945ca466e71e9d9d836e5c522abda39ee7/pydantic-2.11.10-py3-none-any.whl", hash = "sha256:802a655709d49bd004c31e865ef37da30b540786a46bfce02333e0e24b5fe29a", size = 444823, upload-time = "2025-10-04T10:40:39.055Z" },
+]
+
+[package.optional-dependencies]
+email = [
+ { name = "email-validator" },
+]
+
+[[package]]
+name = "pydantic-core"
+version = "2.33.2"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "typing-extensions" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/ad/88/5f2260bdfae97aabf98f1778d43f69574390ad787afb646292a638c923d4/pydantic_core-2.33.2.tar.gz", hash = "sha256:7cb8bc3605c29176e1b105350d2e6474142d7c1bd1d9327c4a9bdb46bf827acc", size = 435195, upload-time = "2025-04-23T18:33:52.104Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/e5/92/b31726561b5dae176c2d2c2dc43a9c5bfba5d32f96f8b4c0a600dd492447/pydantic_core-2.33.2-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:2b3d326aaef0c0399d9afffeb6367d5e26ddc24d351dbc9c636840ac355dc5d8", size = 2028817, upload-time = "2025-04-23T18:30:43.919Z" },
+ { url = "https://files.pythonhosted.org/packages/a3/44/3f0b95fafdaca04a483c4e685fe437c6891001bf3ce8b2fded82b9ea3aa1/pydantic_core-2.33.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:0e5b2671f05ba48b94cb90ce55d8bdcaaedb8ba00cc5359f6810fc918713983d", size = 1861357, upload-time = "2025-04-23T18:30:46.372Z" },
+ { url = "https://files.pythonhosted.org/packages/30/97/e8f13b55766234caae05372826e8e4b3b96e7b248be3157f53237682e43c/pydantic_core-2.33.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0069c9acc3f3981b9ff4cdfaf088e98d83440a4c7ea1bc07460af3d4dc22e72d", size = 1898011, upload-time = "2025-04-23T18:30:47.591Z" },
+ { url = "https://files.pythonhosted.org/packages/9b/a3/99c48cf7bafc991cc3ee66fd544c0aae8dc907b752f1dad2d79b1b5a471f/pydantic_core-2.33.2-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:d53b22f2032c42eaaf025f7c40c2e3b94568ae077a606f006d206a463bc69572", size = 1982730, upload-time = "2025-04-23T18:30:49.328Z" },
+ { url = "https://files.pythonhosted.org/packages/de/8e/a5b882ec4307010a840fb8b58bd9bf65d1840c92eae7534c7441709bf54b/pydantic_core-2.33.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:0405262705a123b7ce9f0b92f123334d67b70fd1f20a9372b907ce1080c7ba02", size = 2136178, upload-time = "2025-04-23T18:30:50.907Z" },
+ { url = "https://files.pythonhosted.org/packages/e4/bb/71e35fc3ed05af6834e890edb75968e2802fe98778971ab5cba20a162315/pydantic_core-2.33.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:4b25d91e288e2c4e0662b8038a28c6a07eaac3e196cfc4ff69de4ea3db992a1b", size = 2736462, upload-time = "2025-04-23T18:30:52.083Z" },
+ { url = "https://files.pythonhosted.org/packages/31/0d/c8f7593e6bc7066289bbc366f2235701dcbebcd1ff0ef8e64f6f239fb47d/pydantic_core-2.33.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6bdfe4b3789761f3bcb4b1ddf33355a71079858958e3a552f16d5af19768fef2", size = 2005652, upload-time = "2025-04-23T18:30:53.389Z" },
+ { url = "https://files.pythonhosted.org/packages/d2/7a/996d8bd75f3eda405e3dd219ff5ff0a283cd8e34add39d8ef9157e722867/pydantic_core-2.33.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:efec8db3266b76ef9607c2c4c419bdb06bf335ae433b80816089ea7585816f6a", size = 2113306, upload-time = "2025-04-23T18:30:54.661Z" },
+ { url = "https://files.pythonhosted.org/packages/ff/84/daf2a6fb2db40ffda6578a7e8c5a6e9c8affb251a05c233ae37098118788/pydantic_core-2.33.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:031c57d67ca86902726e0fae2214ce6770bbe2f710dc33063187a68744a5ecac", size = 2073720, upload-time = "2025-04-23T18:30:56.11Z" },
+ { url = "https://files.pythonhosted.org/packages/77/fb/2258da019f4825128445ae79456a5499c032b55849dbd5bed78c95ccf163/pydantic_core-2.33.2-cp310-cp310-musllinux_1_1_armv7l.whl", hash = "sha256:f8de619080e944347f5f20de29a975c2d815d9ddd8be9b9b7268e2e3ef68605a", size = 2244915, upload-time = "2025-04-23T18:30:57.501Z" },
+ { url = "https://files.pythonhosted.org/packages/d8/7a/925ff73756031289468326e355b6fa8316960d0d65f8b5d6b3a3e7866de7/pydantic_core-2.33.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:73662edf539e72a9440129f231ed3757faab89630d291b784ca99237fb94db2b", size = 2241884, upload-time = "2025-04-23T18:30:58.867Z" },
+ { url = "https://files.pythonhosted.org/packages/0b/b0/249ee6d2646f1cdadcb813805fe76265745c4010cf20a8eba7b0e639d9b2/pydantic_core-2.33.2-cp310-cp310-win32.whl", hash = "sha256:0a39979dcbb70998b0e505fb1556a1d550a0781463ce84ebf915ba293ccb7e22", size = 1910496, upload-time = "2025-04-23T18:31:00.078Z" },
+ { url = "https://files.pythonhosted.org/packages/66/ff/172ba8f12a42d4b552917aa65d1f2328990d3ccfc01d5b7c943ec084299f/pydantic_core-2.33.2-cp310-cp310-win_amd64.whl", hash = "sha256:b0379a2b24882fef529ec3b4987cb5d003b9cda32256024e6fe1586ac45fc640", size = 1955019, upload-time = "2025-04-23T18:31:01.335Z" },
+ { url = "https://files.pythonhosted.org/packages/3f/8d/71db63483d518cbbf290261a1fc2839d17ff89fce7089e08cad07ccfce67/pydantic_core-2.33.2-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:4c5b0a576fb381edd6d27f0a85915c6daf2f8138dc5c267a57c08a62900758c7", size = 2028584, upload-time = "2025-04-23T18:31:03.106Z" },
+ { url = "https://files.pythonhosted.org/packages/24/2f/3cfa7244ae292dd850989f328722d2aef313f74ffc471184dc509e1e4e5a/pydantic_core-2.33.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:e799c050df38a639db758c617ec771fd8fb7a5f8eaaa4b27b101f266b216a246", size = 1855071, upload-time = "2025-04-23T18:31:04.621Z" },
+ { url = "https://files.pythonhosted.org/packages/b3/d3/4ae42d33f5e3f50dd467761304be2fa0a9417fbf09735bc2cce003480f2a/pydantic_core-2.33.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dc46a01bf8d62f227d5ecee74178ffc448ff4e5197c756331f71efcc66dc980f", size = 1897823, upload-time = "2025-04-23T18:31:06.377Z" },
+ { url = "https://files.pythonhosted.org/packages/f4/f3/aa5976e8352b7695ff808599794b1fba2a9ae2ee954a3426855935799488/pydantic_core-2.33.2-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:a144d4f717285c6d9234a66778059f33a89096dfb9b39117663fd8413d582dcc", size = 1983792, upload-time = "2025-04-23T18:31:07.93Z" },
+ { url = "https://files.pythonhosted.org/packages/d5/7a/cda9b5a23c552037717f2b2a5257e9b2bfe45e687386df9591eff7b46d28/pydantic_core-2.33.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:73cf6373c21bc80b2e0dc88444f41ae60b2f070ed02095754eb5a01df12256de", size = 2136338, upload-time = "2025-04-23T18:31:09.283Z" },
+ { url = "https://files.pythonhosted.org/packages/2b/9f/b8f9ec8dd1417eb9da784e91e1667d58a2a4a7b7b34cf4af765ef663a7e5/pydantic_core-2.33.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3dc625f4aa79713512d1976fe9f0bc99f706a9dee21dfd1810b4bbbf228d0e8a", size = 2730998, upload-time = "2025-04-23T18:31:11.7Z" },
+ { url = "https://files.pythonhosted.org/packages/47/bc/cd720e078576bdb8255d5032c5d63ee5c0bf4b7173dd955185a1d658c456/pydantic_core-2.33.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:881b21b5549499972441da4758d662aeea93f1923f953e9cbaff14b8b9565aef", size = 2003200, upload-time = "2025-04-23T18:31:13.536Z" },
+ { url = "https://files.pythonhosted.org/packages/ca/22/3602b895ee2cd29d11a2b349372446ae9727c32e78a94b3d588a40fdf187/pydantic_core-2.33.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:bdc25f3681f7b78572699569514036afe3c243bc3059d3942624e936ec93450e", size = 2113890, upload-time = "2025-04-23T18:31:15.011Z" },
+ { url = "https://files.pythonhosted.org/packages/ff/e6/e3c5908c03cf00d629eb38393a98fccc38ee0ce8ecce32f69fc7d7b558a7/pydantic_core-2.33.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:fe5b32187cbc0c862ee201ad66c30cf218e5ed468ec8dc1cf49dec66e160cc4d", size = 2073359, upload-time = "2025-04-23T18:31:16.393Z" },
+ { url = "https://files.pythonhosted.org/packages/12/e7/6a36a07c59ebefc8777d1ffdaf5ae71b06b21952582e4b07eba88a421c79/pydantic_core-2.33.2-cp311-cp311-musllinux_1_1_armv7l.whl", hash = "sha256:bc7aee6f634a6f4a95676fcb5d6559a2c2a390330098dba5e5a5f28a2e4ada30", size = 2245883, upload-time = "2025-04-23T18:31:17.892Z" },
+ { url = "https://files.pythonhosted.org/packages/16/3f/59b3187aaa6cc0c1e6616e8045b284de2b6a87b027cce2ffcea073adf1d2/pydantic_core-2.33.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:235f45e5dbcccf6bd99f9f472858849f73d11120d76ea8707115415f8e5ebebf", size = 2241074, upload-time = "2025-04-23T18:31:19.205Z" },
+ { url = "https://files.pythonhosted.org/packages/e0/ed/55532bb88f674d5d8f67ab121a2a13c385df382de2a1677f30ad385f7438/pydantic_core-2.33.2-cp311-cp311-win32.whl", hash = "sha256:6368900c2d3ef09b69cb0b913f9f8263b03786e5b2a387706c5afb66800efd51", size = 1910538, upload-time = "2025-04-23T18:31:20.541Z" },
+ { url = "https://files.pythonhosted.org/packages/fe/1b/25b7cccd4519c0b23c2dd636ad39d381abf113085ce4f7bec2b0dc755eb1/pydantic_core-2.33.2-cp311-cp311-win_amd64.whl", hash = "sha256:1e063337ef9e9820c77acc768546325ebe04ee38b08703244c1309cccc4f1bab", size = 1952909, upload-time = "2025-04-23T18:31:22.371Z" },
+ { url = "https://files.pythonhosted.org/packages/49/a9/d809358e49126438055884c4366a1f6227f0f84f635a9014e2deb9b9de54/pydantic_core-2.33.2-cp311-cp311-win_arm64.whl", hash = "sha256:6b99022f1d19bc32a4c2a0d544fc9a76e3be90f0b3f4af413f87d38749300e65", size = 1897786, upload-time = "2025-04-23T18:31:24.161Z" },
+ { url = "https://files.pythonhosted.org/packages/18/8a/2b41c97f554ec8c71f2a8a5f85cb56a8b0956addfe8b0efb5b3d77e8bdc3/pydantic_core-2.33.2-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:a7ec89dc587667f22b6a0b6579c249fca9026ce7c333fc142ba42411fa243cdc", size = 2009000, upload-time = "2025-04-23T18:31:25.863Z" },
+ { url = "https://files.pythonhosted.org/packages/a1/02/6224312aacb3c8ecbaa959897af57181fb6cf3a3d7917fd44d0f2917e6f2/pydantic_core-2.33.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:3c6db6e52c6d70aa0d00d45cdb9b40f0433b96380071ea80b09277dba021ddf7", size = 1847996, upload-time = "2025-04-23T18:31:27.341Z" },
+ { url = "https://files.pythonhosted.org/packages/d6/46/6dcdf084a523dbe0a0be59d054734b86a981726f221f4562aed313dbcb49/pydantic_core-2.33.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4e61206137cbc65e6d5256e1166f88331d3b6238e082d9f74613b9b765fb9025", size = 1880957, upload-time = "2025-04-23T18:31:28.956Z" },
+ { url = "https://files.pythonhosted.org/packages/ec/6b/1ec2c03837ac00886ba8160ce041ce4e325b41d06a034adbef11339ae422/pydantic_core-2.33.2-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:eb8c529b2819c37140eb51b914153063d27ed88e3bdc31b71198a198e921e011", size = 1964199, upload-time = "2025-04-23T18:31:31.025Z" },
+ { url = "https://files.pythonhosted.org/packages/2d/1d/6bf34d6adb9debd9136bd197ca72642203ce9aaaa85cfcbfcf20f9696e83/pydantic_core-2.33.2-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c52b02ad8b4e2cf14ca7b3d918f3eb0ee91e63b3167c32591e57c4317e134f8f", size = 2120296, upload-time = "2025-04-23T18:31:32.514Z" },
+ { url = "https://files.pythonhosted.org/packages/e0/94/2bd0aaf5a591e974b32a9f7123f16637776c304471a0ab33cf263cf5591a/pydantic_core-2.33.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:96081f1605125ba0855dfda83f6f3df5ec90c61195421ba72223de35ccfb2f88", size = 2676109, upload-time = "2025-04-23T18:31:33.958Z" },
+ { url = "https://files.pythonhosted.org/packages/f9/41/4b043778cf9c4285d59742281a769eac371b9e47e35f98ad321349cc5d61/pydantic_core-2.33.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8f57a69461af2a5fa6e6bbd7a5f60d3b7e6cebb687f55106933188e79ad155c1", size = 2002028, upload-time = "2025-04-23T18:31:39.095Z" },
+ { url = "https://files.pythonhosted.org/packages/cb/d5/7bb781bf2748ce3d03af04d5c969fa1308880e1dca35a9bd94e1a96a922e/pydantic_core-2.33.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:572c7e6c8bb4774d2ac88929e3d1f12bc45714ae5ee6d9a788a9fb35e60bb04b", size = 2100044, upload-time = "2025-04-23T18:31:41.034Z" },
+ { url = "https://files.pythonhosted.org/packages/fe/36/def5e53e1eb0ad896785702a5bbfd25eed546cdcf4087ad285021a90ed53/pydantic_core-2.33.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:db4b41f9bd95fbe5acd76d89920336ba96f03e149097365afe1cb092fceb89a1", size = 2058881, upload-time = "2025-04-23T18:31:42.757Z" },
+ { url = "https://files.pythonhosted.org/packages/01/6c/57f8d70b2ee57fc3dc8b9610315949837fa8c11d86927b9bb044f8705419/pydantic_core-2.33.2-cp312-cp312-musllinux_1_1_armv7l.whl", hash = "sha256:fa854f5cf7e33842a892e5c73f45327760bc7bc516339fda888c75ae60edaeb6", size = 2227034, upload-time = "2025-04-23T18:31:44.304Z" },
+ { url = "https://files.pythonhosted.org/packages/27/b9/9c17f0396a82b3d5cbea4c24d742083422639e7bb1d5bf600e12cb176a13/pydantic_core-2.33.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:5f483cfb75ff703095c59e365360cb73e00185e01aaea067cd19acffd2ab20ea", size = 2234187, upload-time = "2025-04-23T18:31:45.891Z" },
+ { url = "https://files.pythonhosted.org/packages/b0/6a/adf5734ffd52bf86d865093ad70b2ce543415e0e356f6cacabbc0d9ad910/pydantic_core-2.33.2-cp312-cp312-win32.whl", hash = "sha256:9cb1da0f5a471435a7bc7e439b8a728e8b61e59784b2af70d7c169f8dd8ae290", size = 1892628, upload-time = "2025-04-23T18:31:47.819Z" },
+ { url = "https://files.pythonhosted.org/packages/43/e4/5479fecb3606c1368d496a825d8411e126133c41224c1e7238be58b87d7e/pydantic_core-2.33.2-cp312-cp312-win_amd64.whl", hash = "sha256:f941635f2a3d96b2973e867144fde513665c87f13fe0e193c158ac51bfaaa7b2", size = 1955866, upload-time = "2025-04-23T18:31:49.635Z" },
+ { url = "https://files.pythonhosted.org/packages/0d/24/8b11e8b3e2be9dd82df4b11408a67c61bb4dc4f8e11b5b0fc888b38118b5/pydantic_core-2.33.2-cp312-cp312-win_arm64.whl", hash = "sha256:cca3868ddfaccfbc4bfb1d608e2ccaaebe0ae628e1416aeb9c4d88c001bb45ab", size = 1888894, upload-time = "2025-04-23T18:31:51.609Z" },
+ { url = "https://files.pythonhosted.org/packages/46/8c/99040727b41f56616573a28771b1bfa08a3d3fe74d3d513f01251f79f172/pydantic_core-2.33.2-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:1082dd3e2d7109ad8b7da48e1d4710c8d06c253cbc4a27c1cff4fbcaa97a9e3f", size = 2015688, upload-time = "2025-04-23T18:31:53.175Z" },
+ { url = "https://files.pythonhosted.org/packages/3a/cc/5999d1eb705a6cefc31f0b4a90e9f7fc400539b1a1030529700cc1b51838/pydantic_core-2.33.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:f517ca031dfc037a9c07e748cefd8d96235088b83b4f4ba8939105d20fa1dcd6", size = 1844808, upload-time = "2025-04-23T18:31:54.79Z" },
+ { url = "https://files.pythonhosted.org/packages/6f/5e/a0a7b8885c98889a18b6e376f344da1ef323d270b44edf8174d6bce4d622/pydantic_core-2.33.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0a9f2c9dd19656823cb8250b0724ee9c60a82f3cdf68a080979d13092a3b0fef", size = 1885580, upload-time = "2025-04-23T18:31:57.393Z" },
+ { url = "https://files.pythonhosted.org/packages/3b/2a/953581f343c7d11a304581156618c3f592435523dd9d79865903272c256a/pydantic_core-2.33.2-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:2b0a451c263b01acebe51895bfb0e1cc842a5c666efe06cdf13846c7418caa9a", size = 1973859, upload-time = "2025-04-23T18:31:59.065Z" },
+ { url = "https://files.pythonhosted.org/packages/e6/55/f1a813904771c03a3f97f676c62cca0c0a4138654107c1b61f19c644868b/pydantic_core-2.33.2-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1ea40a64d23faa25e62a70ad163571c0b342b8bf66d5fa612ac0dec4f069d916", size = 2120810, upload-time = "2025-04-23T18:32:00.78Z" },
+ { url = "https://files.pythonhosted.org/packages/aa/c3/053389835a996e18853ba107a63caae0b9deb4a276c6b472931ea9ae6e48/pydantic_core-2.33.2-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:0fb2d542b4d66f9470e8065c5469ec676978d625a8b7a363f07d9a501a9cb36a", size = 2676498, upload-time = "2025-04-23T18:32:02.418Z" },
+ { url = "https://files.pythonhosted.org/packages/eb/3c/f4abd740877a35abade05e437245b192f9d0ffb48bbbbd708df33d3cda37/pydantic_core-2.33.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9fdac5d6ffa1b5a83bca06ffe7583f5576555e6c8b3a91fbd25ea7780f825f7d", size = 2000611, upload-time = "2025-04-23T18:32:04.152Z" },
+ { url = "https://files.pythonhosted.org/packages/59/a7/63ef2fed1837d1121a894d0ce88439fe3e3b3e48c7543b2a4479eb99c2bd/pydantic_core-2.33.2-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:04a1a413977ab517154eebb2d326da71638271477d6ad87a769102f7c2488c56", size = 2107924, upload-time = "2025-04-23T18:32:06.129Z" },
+ { url = "https://files.pythonhosted.org/packages/04/8f/2551964ef045669801675f1cfc3b0d74147f4901c3ffa42be2ddb1f0efc4/pydantic_core-2.33.2-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:c8e7af2f4e0194c22b5b37205bfb293d166a7344a5b0d0eaccebc376546d77d5", size = 2063196, upload-time = "2025-04-23T18:32:08.178Z" },
+ { url = "https://files.pythonhosted.org/packages/26/bd/d9602777e77fc6dbb0c7db9ad356e9a985825547dce5ad1d30ee04903918/pydantic_core-2.33.2-cp313-cp313-musllinux_1_1_armv7l.whl", hash = "sha256:5c92edd15cd58b3c2d34873597a1e20f13094f59cf88068adb18947df5455b4e", size = 2236389, upload-time = "2025-04-23T18:32:10.242Z" },
+ { url = "https://files.pythonhosted.org/packages/42/db/0e950daa7e2230423ab342ae918a794964b053bec24ba8af013fc7c94846/pydantic_core-2.33.2-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:65132b7b4a1c0beded5e057324b7e16e10910c106d43675d9bd87d4f38dde162", size = 2239223, upload-time = "2025-04-23T18:32:12.382Z" },
+ { url = "https://files.pythonhosted.org/packages/58/4d/4f937099c545a8a17eb52cb67fe0447fd9a373b348ccfa9a87f141eeb00f/pydantic_core-2.33.2-cp313-cp313-win32.whl", hash = "sha256:52fb90784e0a242bb96ec53f42196a17278855b0f31ac7c3cc6f5c1ec4811849", size = 1900473, upload-time = "2025-04-23T18:32:14.034Z" },
+ { url = "https://files.pythonhosted.org/packages/a0/75/4a0a9bac998d78d889def5e4ef2b065acba8cae8c93696906c3a91f310ca/pydantic_core-2.33.2-cp313-cp313-win_amd64.whl", hash = "sha256:c083a3bdd5a93dfe480f1125926afcdbf2917ae714bdb80b36d34318b2bec5d9", size = 1955269, upload-time = "2025-04-23T18:32:15.783Z" },
+ { url = "https://files.pythonhosted.org/packages/f9/86/1beda0576969592f1497b4ce8e7bc8cbdf614c352426271b1b10d5f0aa64/pydantic_core-2.33.2-cp313-cp313-win_arm64.whl", hash = "sha256:e80b087132752f6b3d714f041ccf74403799d3b23a72722ea2e6ba2e892555b9", size = 1893921, upload-time = "2025-04-23T18:32:18.473Z" },
+ { url = "https://files.pythonhosted.org/packages/a4/7d/e09391c2eebeab681df2b74bfe6c43422fffede8dc74187b2b0bf6fd7571/pydantic_core-2.33.2-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:61c18fba8e5e9db3ab908620af374db0ac1baa69f0f32df4f61ae23f15e586ac", size = 1806162, upload-time = "2025-04-23T18:32:20.188Z" },
+ { url = "https://files.pythonhosted.org/packages/f1/3d/847b6b1fed9f8ed3bb95a9ad04fbd0b212e832d4f0f50ff4d9ee5a9f15cf/pydantic_core-2.33.2-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:95237e53bb015f67b63c91af7518a62a8660376a6a0db19b89acc77a4d6199f5", size = 1981560, upload-time = "2025-04-23T18:32:22.354Z" },
+ { url = "https://files.pythonhosted.org/packages/6f/9a/e73262f6c6656262b5fdd723ad90f518f579b7bc8622e43a942eec53c938/pydantic_core-2.33.2-cp313-cp313t-win_amd64.whl", hash = "sha256:c2fc0a768ef76c15ab9238afa6da7f69895bb5d1ee83aeea2e3509af4472d0b9", size = 1935777, upload-time = "2025-04-23T18:32:25.088Z" },
+ { url = "https://files.pythonhosted.org/packages/30/68/373d55e58b7e83ce371691f6eaa7175e3a24b956c44628eb25d7da007917/pydantic_core-2.33.2-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:5c4aa4e82353f65e548c476b37e64189783aa5384903bfea4f41580f255fddfa", size = 2023982, upload-time = "2025-04-23T18:32:53.14Z" },
+ { url = "https://files.pythonhosted.org/packages/a4/16/145f54ac08c96a63d8ed6442f9dec17b2773d19920b627b18d4f10a061ea/pydantic_core-2.33.2-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:d946c8bf0d5c24bf4fe333af284c59a19358aa3ec18cb3dc4370080da1e8ad29", size = 1858412, upload-time = "2025-04-23T18:32:55.52Z" },
+ { url = "https://files.pythonhosted.org/packages/41/b1/c6dc6c3e2de4516c0bb2c46f6a373b91b5660312342a0cf5826e38ad82fa/pydantic_core-2.33.2-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:87b31b6846e361ef83fedb187bb5b4372d0da3f7e28d85415efa92d6125d6e6d", size = 1892749, upload-time = "2025-04-23T18:32:57.546Z" },
+ { url = "https://files.pythonhosted.org/packages/12/73/8cd57e20afba760b21b742106f9dbdfa6697f1570b189c7457a1af4cd8a0/pydantic_core-2.33.2-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:aa9d91b338f2df0508606f7009fde642391425189bba6d8c653afd80fd6bb64e", size = 2067527, upload-time = "2025-04-23T18:32:59.771Z" },
+ { url = "https://files.pythonhosted.org/packages/e3/d5/0bb5d988cc019b3cba4a78f2d4b3854427fc47ee8ec8e9eaabf787da239c/pydantic_core-2.33.2-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:2058a32994f1fde4ca0480ab9d1e75a0e8c87c22b53a3ae66554f9af78f2fe8c", size = 2108225, upload-time = "2025-04-23T18:33:04.51Z" },
+ { url = "https://files.pythonhosted.org/packages/f1/c5/00c02d1571913d496aabf146106ad8239dc132485ee22efe08085084ff7c/pydantic_core-2.33.2-pp310-pypy310_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:0e03262ab796d986f978f79c943fc5f620381be7287148b8010b4097f79a39ec", size = 2069490, upload-time = "2025-04-23T18:33:06.391Z" },
+ { url = "https://files.pythonhosted.org/packages/22/a8/dccc38768274d3ed3a59b5d06f59ccb845778687652daa71df0cab4040d7/pydantic_core-2.33.2-pp310-pypy310_pp73-musllinux_1_1_armv7l.whl", hash = "sha256:1a8695a8d00c73e50bff9dfda4d540b7dee29ff9b8053e38380426a85ef10052", size = 2237525, upload-time = "2025-04-23T18:33:08.44Z" },
+ { url = "https://files.pythonhosted.org/packages/d4/e7/4f98c0b125dda7cf7ccd14ba936218397b44f50a56dd8c16a3091df116c3/pydantic_core-2.33.2-pp310-pypy310_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:fa754d1850735a0b0e03bcffd9d4b4343eb417e47196e4485d9cca326073a42c", size = 2238446, upload-time = "2025-04-23T18:33:10.313Z" },
+ { url = "https://files.pythonhosted.org/packages/ce/91/2ec36480fdb0b783cd9ef6795753c1dea13882f2e68e73bce76ae8c21e6a/pydantic_core-2.33.2-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:a11c8d26a50bfab49002947d3d237abe4d9e4b5bdc8846a63537b6488e197808", size = 2066678, upload-time = "2025-04-23T18:33:12.224Z" },
+ { url = "https://files.pythonhosted.org/packages/7b/27/d4ae6487d73948d6f20dddcd94be4ea43e74349b56eba82e9bdee2d7494c/pydantic_core-2.33.2-pp311-pypy311_pp73-macosx_10_12_x86_64.whl", hash = "sha256:dd14041875d09cc0f9308e37a6f8b65f5585cf2598a53aa0123df8b129d481f8", size = 2025200, upload-time = "2025-04-23T18:33:14.199Z" },
+ { url = "https://files.pythonhosted.org/packages/f1/b8/b3cb95375f05d33801024079b9392a5ab45267a63400bf1866e7ce0f0de4/pydantic_core-2.33.2-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:d87c561733f66531dced0da6e864f44ebf89a8fba55f31407b00c2f7f9449593", size = 1859123, upload-time = "2025-04-23T18:33:16.555Z" },
+ { url = "https://files.pythonhosted.org/packages/05/bc/0d0b5adeda59a261cd30a1235a445bf55c7e46ae44aea28f7bd6ed46e091/pydantic_core-2.33.2-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2f82865531efd18d6e07a04a17331af02cb7a651583c418df8266f17a63c6612", size = 1892852, upload-time = "2025-04-23T18:33:18.513Z" },
+ { url = "https://files.pythonhosted.org/packages/3e/11/d37bdebbda2e449cb3f519f6ce950927b56d62f0b84fd9cb9e372a26a3d5/pydantic_core-2.33.2-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2bfb5112df54209d820d7bf9317c7a6c9025ea52e49f46b6a2060104bba37de7", size = 2067484, upload-time = "2025-04-23T18:33:20.475Z" },
+ { url = "https://files.pythonhosted.org/packages/8c/55/1f95f0a05ce72ecb02a8a8a1c3be0579bbc29b1d5ab68f1378b7bebc5057/pydantic_core-2.33.2-pp311-pypy311_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:64632ff9d614e5eecfb495796ad51b0ed98c453e447a76bcbeeb69615079fc7e", size = 2108896, upload-time = "2025-04-23T18:33:22.501Z" },
+ { url = "https://files.pythonhosted.org/packages/53/89/2b2de6c81fa131f423246a9109d7b2a375e83968ad0800d6e57d0574629b/pydantic_core-2.33.2-pp311-pypy311_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:f889f7a40498cc077332c7ab6b4608d296d852182211787d4f3ee377aaae66e8", size = 2069475, upload-time = "2025-04-23T18:33:24.528Z" },
+ { url = "https://files.pythonhosted.org/packages/b8/e9/1f7efbe20d0b2b10f6718944b5d8ece9152390904f29a78e68d4e7961159/pydantic_core-2.33.2-pp311-pypy311_pp73-musllinux_1_1_armv7l.whl", hash = "sha256:de4b83bb311557e439b9e186f733f6c645b9417c84e2eb8203f3f820a4b988bf", size = 2239013, upload-time = "2025-04-23T18:33:26.621Z" },
+ { url = "https://files.pythonhosted.org/packages/3c/b2/5309c905a93811524a49b4e031e9851a6b00ff0fb668794472ea7746b448/pydantic_core-2.33.2-pp311-pypy311_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:82f68293f055f51b51ea42fafc74b6aad03e70e191799430b90c13d643059ebb", size = 2238715, upload-time = "2025-04-23T18:33:28.656Z" },
+ { url = "https://files.pythonhosted.org/packages/32/56/8a7ca5d2cd2cda1d245d34b1c9a942920a718082ae8e54e5f3e5a58b7add/pydantic_core-2.33.2-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:329467cecfb529c925cf2bbd4d60d2c509bc2fb52a20c1045bf09bb70971a9c1", size = 2066757, upload-time = "2025-04-23T18:33:30.645Z" },
+]
+
+[[package]]
+name = "pydantic-extra-types"
+version = "2.11.0"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "pydantic" },
+ { name = "typing-extensions" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/fd/35/2fee58b1316a73e025728583d3b1447218a97e621933fc776fb8c0f2ebdd/pydantic_extra_types-2.11.0.tar.gz", hash = "sha256:4e9991959d045b75feb775683437a97991d02c138e00b59176571db9ce634f0e", size = 157226, upload-time = "2025-12-31T16:18:27.944Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/fe/17/fabd56da47096d240dd45ba627bead0333b0cf0ee8ada9bec579287dadf3/pydantic_extra_types-2.11.0-py3-none-any.whl", hash = "sha256:84b864d250a0fc62535b7ec591e36f2c5b4d1325fa0017eb8cda9aeb63b374a6", size = 74296, upload-time = "2025-12-31T16:18:26.38Z" },
+]
+
+[[package]]
+name = "pydantic-settings"
+version = "2.13.0"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "pydantic" },
+ { name = "python-dotenv" },
+ { name = "typing-inspection" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/96/a1/ae859ffac5a3338a66b74c5e29e244fd3a3cc483c89feaf9f56c39898d75/pydantic_settings-2.13.0.tar.gz", hash = "sha256:95d875514610e8595672800a5c40b073e99e4aae467fa7c8f9c263061ea2e1fe", size = 222450, upload-time = "2026-02-15T12:11:23.476Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/b0/1a/dd1b9d7e627486cf8e7523d09b70010e05a4bc41414f4ae6ce184cf0afb6/pydantic_settings-2.13.0-py3-none-any.whl", hash = "sha256:d67b576fff39cd086b595441bf9c75d4193ca9c0ed643b90360694d0f1240246", size = 58429, upload-time = "2026-02-15T12:11:22.133Z" },
+]
+
+[[package]]
+name = "pydub"
+version = "0.25.1"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/fe/9a/e6bca0eed82db26562c73b5076539a4a08d3cffd19c3cc5913a3e61145fd/pydub-0.25.1.tar.gz", hash = "sha256:980a33ce9949cab2a569606b65674d748ecbca4f0796887fd6f46173a7b0d30f", size = 38326, upload-time = "2021-03-10T02:09:54.659Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/a6/53/d78dc063216e62fc55f6b2eebb447f6a4b0a59f55c8406376f76bf959b08/pydub-0.25.1-py2.py3-none-any.whl", hash = "sha256:65617e33033874b59d87db603aa1ed450633288aefead953b30bded59cb599a6", size = 32327, upload-time = "2021-03-10T02:09:53.503Z" },
+]
+
+[[package]]
+name = "pygments"
+version = "2.19.2"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/b0/77/a5b8c569bf593b0140bde72ea885a803b82086995367bf2037de0159d924/pygments-2.19.2.tar.gz", hash = "sha256:636cb2477cec7f8952536970bc533bc43743542f70392ae026374600add5b887", size = 4968631, upload-time = "2025-06-21T13:39:12.283Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/c7/21/705964c7812476f378728bdf590ca4b771ec72385c533964653c68e86bdc/pygments-2.19.2-py3-none-any.whl", hash = "sha256:86540386c03d588bb81d44bc3928634ff26449851e99741617ecb9037ee5ec0b", size = 1225217, upload-time = "2025-06-21T13:39:07.939Z" },
+]
+
+[[package]]
+name = "pynndescent"
+version = "0.6.0"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "joblib" },
+ { name = "llvmlite" },
+ { name = "numba" },
+ { name = "scikit-learn", version = "1.7.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11' or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "scikit-learn", version = "1.8.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11' or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "scipy", version = "1.15.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11' or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "scipy", version = "1.17.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11' or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/4a/fb/7f58c397fb31666756457ee2ac4c0289ef2daad57f4ae4be8dec12f80b03/pynndescent-0.6.0.tar.gz", hash = "sha256:7ffde0fb5b400741e055a9f7d377e3702e02250616834231f6c209e39aac24f5", size = 2992987, upload-time = "2026-01-08T21:29:58.943Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/b2/e6/94145d714402fd5ade00b5661f2d0ab981219e07f7db9bfa16786cdb9c04/pynndescent-0.6.0-py3-none-any.whl", hash = "sha256:dc8c74844e4c7f5cbd1e0cd6909da86fdc789e6ff4997336e344779c3d5538ef", size = 73511, upload-time = "2026-01-08T21:29:57.306Z" },
+]
+
+[[package]]
+name = "pyopenjtalk"
+version = "0.4.1"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11' or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "numpy", version = "2.3.5", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11' or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "tqdm" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/58/74/ccd31c696f047ba381f9b11a504bf1199756c3f30f3de64e3eeb83e10b4a/pyopenjtalk-0.4.1.tar.gz", hash = "sha256:d5ada46f7fc2b52c1c79c273eb9668ff6ad7ab276a8db9d8be119ef93440f0dc", size = 1397999, upload-time = "2025-04-08T06:27:46.528Z" }
+
+[[package]]
+name = "pyparsing"
+version = "3.3.2"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/f3/91/9c6ee907786a473bf81c5f53cf703ba0957b23ab84c264080fb5a450416f/pyparsing-3.3.2.tar.gz", hash = "sha256:c777f4d763f140633dcb6d8a3eda953bf7a214dc4eff598413c070bcdc117cbc", size = 6851574, upload-time = "2026-01-21T03:57:59.36Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/10/bd/c038d7cc38edc1aa5bf91ab8068b63d4308c66c4c8bb3cbba7dfbc049f9c/pyparsing-3.3.2-py3-none-any.whl", hash = "sha256:850ba148bd908d7e2411587e247a1e4f0327839c40e2e5e6d05a007ecc69911d", size = 122781, upload-time = "2026-01-21T03:57:55.912Z" },
+]
+
+[[package]]
+name = "pypinyin"
+version = "0.55.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/b4/a4/784cf98c09e0dc22776b0d7d8a4a5b761218bcae4608c2416ce1e167c8af/pypinyin-0.55.0.tar.gz", hash = "sha256:b5711b3a0c6f76e67408ec6b2e3c4987a3a806b7c528076e7c7b86fcf0eaa66b", size = 839836, upload-time = "2025-07-20T12:01:50.657Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/b9/7b/4cabc76fcc21c3c7d5c671d8783984d30ac9d3bb387c4ba784fca3cdfa3a/pypinyin-0.55.0-py2.py3-none-any.whl", hash = "sha256:d53b1e8ad2cdb815fb2cb604ed3123372f5a28c6f447571244aca36fc62a286f", size = 840203, upload-time = "2025-07-20T12:01:48.535Z" },
+]
+
+[[package]]
+name = "pyproject-hooks"
+version = "1.2.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/e7/82/28175b2414effca1cdac8dc99f76d660e7a4fb0ceefa4b4ab8f5f6742925/pyproject_hooks-1.2.0.tar.gz", hash = "sha256:1e859bd5c40fae9448642dd871adf459e5e2084186e8d2c2a79a824c970da1f8", size = 19228, upload-time = "2024-09-29T09:24:13.293Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/bd/24/12818598c362d7f300f18e74db45963dbcb85150324092410c8b49405e42/pyproject_hooks-1.2.0-py3-none-any.whl", hash = "sha256:9e5c6bfa8dcc30091c74b0cf803c81fdd29d94f01992a7707bc97babb1141913", size = 10216, upload-time = "2024-09-29T09:24:11.978Z" },
+]
+
+[[package]]
+name = "pyreadline3"
+version = "3.5.4"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/0f/49/4cea918a08f02817aabae639e3d0ac046fef9f9180518a3ad394e22da148/pyreadline3-3.5.4.tar.gz", hash = "sha256:8d57d53039a1c75adba8e50dd3d992b28143480816187ea5efbd5c78e6c885b7", size = 99839, upload-time = "2024-09-19T02:40:10.062Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/5a/dc/491b7661614ab97483abf2056be1deee4dc2490ecbf7bff9ab5cdbac86e1/pyreadline3-3.5.4-py3-none-any.whl", hash = "sha256:eaf8e6cc3c49bcccf145fc6067ba8643d1df34d604a1ec0eccbf7a18e6d3fae6", size = 83178, upload-time = "2024-09-19T02:40:08.598Z" },
+]
+
+[[package]]
+name = "python-dateutil"
+version = "2.9.0.post0"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "six" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/66/c0/0c8b6ad9f17a802ee498c46e004a0eb49bc148f2fd230864601a86dcf6db/python-dateutil-2.9.0.post0.tar.gz", hash = "sha256:37dd54208da7e1cd875388217d5e00ebd4179249f90fb72437e91a35459a0ad3", size = 342432, upload-time = "2024-03-01T18:36:20.211Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/ec/57/56b9bcc3c9c6a792fcbaf139543cee77261f3651ca9da0c93f5c1221264b/python_dateutil-2.9.0.post0-py2.py3-none-any.whl", hash = "sha256:a8b2bc7bffae282281c8140a97d3aa9c14da0b136dfe83f850eea9a5f7470427", size = 229892, upload-time = "2024-03-01T18:36:18.57Z" },
+]
+
+[[package]]
+name = "python-dotenv"
+version = "1.2.1"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/f0/26/19cadc79a718c5edbec86fd4919a6b6d3f681039a2f6d66d14be94e75fb9/python_dotenv-1.2.1.tar.gz", hash = "sha256:42667e897e16ab0d66954af0e60a9caa94f0fd4ecf3aaf6d2d260eec1aa36ad6", size = 44221, upload-time = "2025-10-26T15:12:10.434Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/14/1b/a298b06749107c305e1fe0f814c6c74aea7b2f1e10989cb30f544a1b3253/python_dotenv-1.2.1-py3-none-any.whl", hash = "sha256:b81ee9561e9ca4004139c6cbba3a238c32b03e4894671e181b671e8cb8425d61", size = 21230, upload-time = "2025-10-26T15:12:09.109Z" },
+]
+
+[[package]]
+name = "python-mecab-ko-dic"
+version = "2.1.1.post2"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/b5/cc/0188ca47e3d508c0961fb915ab9c71fd6facc821afb906e7b9080009d4ec/python-mecab-ko-dic-2.1.1.post2.tar.gz", hash = "sha256:2c423713bdc475345ec98cd084b30759458f8f06c38a9ef94ab8687942c2cd34", size = 34179115, upload-time = "2022-12-14T08:41:53.468Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/4e/63/23fb02dd36d96527eb0c93300e8db22ab42805c1a232af621c5a8f175e37/python_mecab_ko_dic-2.1.1.post2-py3-none-any.whl", hash = "sha256:ef8f4e80c8976f1340a7264abb0c96f384fe059fd897584aeba0151753c6ae9b", size = 34457665, upload-time = "2022-12-14T08:41:39.777Z" },
+]
+
+[[package]]
+name = "python-mecab-ko-py313"
+version = "1.3.7.post0"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "python-mecab-ko-dic" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/53/ba/892c1d7d2424987faf0a449e4321953d95ae1fda6cc5cbebbe56f708b046/python_mecab_ko_py313-1.3.7.post0.tar.gz", hash = "sha256:2cbed53a6521a8ad1c11ed4304c1d156a0e151c520bd17b7c174a2dd8658b0fb", size = 13910, upload-time = "2025-11-24T04:56:27.062Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/e2/69/1544b8aebf76ee8904bdebe8ce4bb9064a4815878e2ec925665cbb4fc687/python_mecab_ko_py313-1.3.7.post0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:1302e575b774a642452fe9e598f62c7dee5f82511e4c921ccaae464821de29d4", size = 389765, upload-time = "2025-11-24T04:55:37.405Z" },
+ { url = "https://files.pythonhosted.org/packages/93/50/d34fbb88189404738de600dab01f9035bdb032b981d75729b159d8e03aef/python_mecab_ko_py313-1.3.7.post0-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:a27b76e4a282c1442bea8452b07fb6d12ff7269e7f77ca86f38acea5576bdcf1", size = 564538, upload-time = "2025-11-24T04:55:39.635Z" },
+ { url = "https://files.pythonhosted.org/packages/d6/83/346688e0dbdf55c2932a46aee9940616cbefa5bd505acc9540d24f8d49d9/python_mecab_ko_py313-1.3.7.post0-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:84a4b483f41095dc8e520b8e4e44850d74900c8a1b32f8d236436ce8cd8132f5", size = 607809, upload-time = "2025-11-24T04:55:42.013Z" },
+ { url = "https://files.pythonhosted.org/packages/63/cc/87ebe24d710190aa221b8631b9a4eb7427d208283270e4a32da255f98e52/python_mecab_ko_py313-1.3.7.post0-cp310-cp310-win_amd64.whl", hash = "sha256:e9ccf1af2691a383517a16d7ea6a35fc23aba6c83b7f3cdb1a6d1345056fa9bb", size = 672452, upload-time = "2025-11-24T04:55:43.767Z" },
+ { url = "https://files.pythonhosted.org/packages/3b/36/717ae3a6cc3e8c44f897ca08be922eca74fb47eca6cd5598def1a2cd9f45/python_mecab_ko_py313-1.3.7.post0-cp310-cp310-win_arm64.whl", hash = "sha256:a5ffbac186e2feacf29aa2a0b847b2efbd0280400190b9dd475b0e850c0456d9", size = 813820, upload-time = "2025-11-24T04:55:45.467Z" },
+ { url = "https://files.pythonhosted.org/packages/f9/e4/869943ede81d2f944b10619a1c05fe43d0779bd735eb9882f31bce28d7bb/python_mecab_ko_py313-1.3.7.post0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:6de2bc98008e6463bd094f6df39abb6fb85d6473b11e8ce494d37e0de57b6563", size = 391140, upload-time = "2025-11-24T04:55:46.926Z" },
+ { url = "https://files.pythonhosted.org/packages/4a/6a/77036602581a0a497f609610fe5b61957dbd91b2bd630c2702910132f58c/python_mecab_ko_py313-1.3.7.post0-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:13c281cbb29dda7cae1e0017b7b40b1a37479caba6b1ecc7b4db03d823028f0f", size = 565893, upload-time = "2025-11-24T04:55:48.559Z" },
+ { url = "https://files.pythonhosted.org/packages/b0/03/22dbb00ce0d72930e3167651e5c4f1954f1bc1ba052703226aa1260b5233/python_mecab_ko_py313-1.3.7.post0-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:053394ff6219f6e92f347881b66c6f9eb19f9255032fe5ac07be5bcac1a9ae4f", size = 610514, upload-time = "2025-11-24T04:55:50.306Z" },
+ { url = "https://files.pythonhosted.org/packages/83/ab/ee16f878eb68550b266b6d0ba373254be639f6d5843b94e069a5980a3504/python_mecab_ko_py313-1.3.7.post0-cp311-cp311-win_amd64.whl", hash = "sha256:a3e30bc99a331fc870a56427e24d10668f8804fa9d7e44aa64621efda734e450", size = 673290, upload-time = "2025-11-24T04:55:52.198Z" },
+ { url = "https://files.pythonhosted.org/packages/77/9f/9fe90ba0d7db80ea3ad722ef7e5332999ef3bb4557c2879d75c331bd75c3/python_mecab_ko_py313-1.3.7.post0-cp311-cp311-win_arm64.whl", hash = "sha256:73a101291537362ec40127792305cd42d48d6497e91e3a4df57c683b178bc9e3", size = 814992, upload-time = "2025-11-24T04:55:53.717Z" },
+ { url = "https://files.pythonhosted.org/packages/5d/32/fd0a00186a6fd913b76eee733523a00b69ebb68a6b1d01ea0e22ef2004be/python_mecab_ko_py313-1.3.7.post0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:bfd936482868d71242219c67a083aa28e89fe6d46c11ce3dfd4a3d89c98762c5", size = 393359, upload-time = "2025-11-24T04:55:55.108Z" },
+ { url = "https://files.pythonhosted.org/packages/20/bb/0268b0eb83b70c6c9ae068e406c52d39f854b4f575e9bc6239ae622dd7d7/python_mecab_ko_py313-1.3.7.post0-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:28efc766fcdea43aaf691a2430f3088a5a95a99549a72b94189736ee7e5f5288", size = 567169, upload-time = "2025-11-24T04:55:56.7Z" },
+ { url = "https://files.pythonhosted.org/packages/72/ed/cd4e616dec54448d8d12aacb0f8bac3d29de333ec1356a88428e310418a8/python_mecab_ko_py313-1.3.7.post0-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:528c9629d922d62ff656e0e9946e13ecc03bd97e291e7c5ed4b6820bd2bdf71e", size = 614735, upload-time = "2025-11-24T04:55:58.597Z" },
+ { url = "https://files.pythonhosted.org/packages/b7/bf/98c7aec5f6ca12f8deadf4763f5e7b5635633033f2330000d1e4321b43d9/python_mecab_ko_py313-1.3.7.post0-cp312-cp312-win_amd64.whl", hash = "sha256:d8cdaef15a6f036840b0255cae61bd57dbe913c3f5f23f1e00c7a12fa10a9ed2", size = 674691, upload-time = "2025-11-24T04:56:00.102Z" },
+ { url = "https://files.pythonhosted.org/packages/bf/de/d1ae34578a520fc36d32da9936a2cac0f85392f29d3ba92a7784f486989a/python_mecab_ko_py313-1.3.7.post0-cp312-cp312-win_arm64.whl", hash = "sha256:251f414ac8c63aab98e996c0a4af3cae850c1a4ed573b01e1e9edc48d8e9838f", size = 804450, upload-time = "2025-11-24T04:56:01.833Z" },
+ { url = "https://files.pythonhosted.org/packages/7a/8b/428f5645692d42643b3a57cc5bca8d601cf67aa21f8a31126c8c499d5bf6/python_mecab_ko_py313-1.3.7.post0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:b15da1e80f2bc5564e658ca2d951e487e4e888573e28c71ae940299f78c0a773", size = 393385, upload-time = "2025-11-24T04:56:03.692Z" },
+ { url = "https://files.pythonhosted.org/packages/90/75/9a9ecdb9ee0b455053d691150e9e7feeb81571f88b7dffe46a0782690309/python_mecab_ko_py313-1.3.7.post0-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:33dede9d4f886e44fff617e628fb439768eae407adf6e262498d0320587239db", size = 567583, upload-time = "2025-11-24T04:56:05.548Z" },
+ { url = "https://files.pythonhosted.org/packages/fa/f7/cbbd4cc5a9262a2eed402fdcd7f9864c2b7d0a1dfed7ca94daf6bf3b62d2/python_mecab_ko_py313-1.3.7.post0-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:50aace5aa0c9b9448abd5d2e8d37296ab964b48bfe25fe3c5826fdd033c8e7f4", size = 614244, upload-time = "2025-11-24T04:56:06.972Z" },
+ { url = "https://files.pythonhosted.org/packages/ab/29/5ed6234fd192991d33e149ef64dab1c3f214e29f0e91497cb47e38869f12/python_mecab_ko_py313-1.3.7.post0-cp313-cp313-win_amd64.whl", hash = "sha256:bd1a30c3d4e86ab8b218825de19c617b3f8065b3f49985018e880fddb828fab1", size = 674706, upload-time = "2025-11-24T04:56:08.415Z" },
+ { url = "https://files.pythonhosted.org/packages/94/cc/0e079b8a81550c9c028c255f243ae42e430855b311003654837b676aa9f9/python_mecab_ko_py313-1.3.7.post0-cp313-cp313-win_arm64.whl", hash = "sha256:be47914463cb04aa538451c14b940d58ece013a8a0dc7de612e2a07f9a49ffc2", size = 806629, upload-time = "2025-11-24T04:56:10.128Z" },
+]
+
+[[package]]
+name = "python-multipart"
+version = "0.0.22"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/94/01/979e98d542a70714b0cb2b6728ed0b7c46792b695e3eaec3e20711271ca3/python_multipart-0.0.22.tar.gz", hash = "sha256:7340bef99a7e0032613f56dc36027b959fd3b30a787ed62d310e951f7c3a3a58", size = 37612, upload-time = "2026-01-25T10:15:56.219Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/1b/d0/397f9626e711ff749a95d96b7af99b9c566a9bb5129b8e4c10fc4d100304/python_multipart-0.0.22-py3-none-any.whl", hash = "sha256:2b2cd894c83d21bf49d702499531c7bafd057d730c201782048f7945d82de155", size = 24579, upload-time = "2026-01-25T10:15:54.811Z" },
+]
+
+[[package]]
+name = "pytorch-lightning"
+version = "2.6.1"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "fsspec", extra = ["http"] },
+ { name = "lightning-utilities" },
+ { name = "packaging" },
+ { name = "pyyaml" },
+ { name = "torch", version = "2.9.1", source = { registry = "https://download.pytorch.org/whl/cpu" }, marker = "(platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu') or (platform_machine == 'aarch64' and sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cpu') or (platform_machine == 'arm64' and sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu') or (platform_machine != 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine != 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine != 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine != 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'aarch64' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "torch", version = "2.9.1+cpu", source = { registry = "https://download.pytorch.org/whl/cpu" }, marker = "(platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'arm64' and sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine == 'aarch64' and sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'aarch64' and sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'arm64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'aarch64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine != 'aarch64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'aarch64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'aarch64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'aarch64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'linux' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (sys_platform == 'linux' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'linux' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'linux' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'linux' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'linux' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "torch", version = "2.9.1+cu129", source = { registry = "https://download.pytorch.org/whl/cu129" }, marker = "(sys_platform != 'darwin' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "torch", version = "2.9.1+rocm6.4", source = { registry = "https://download.pytorch.org/whl/rocm6.4" }, marker = "(extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "torch", version = "2.10.0", source = { registry = "https://pypi.org/simple" }, marker = "(extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "torch", version = "2.10.0+cu126", source = { registry = "https://download.pytorch.org/whl/cu126" }, marker = "extra == 'extra-15-gpt-sovits-meta-cu126' or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "torch", version = "2.10.0+cu128", source = { registry = "https://download.pytorch.org/whl/cu128" }, marker = "extra == 'extra-15-gpt-sovits-meta-cu128' or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "torchmetrics" },
+ { name = "tqdm" },
+ { name = "typing-extensions" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/8b/ac/ebd5f6f58691cbd4f73836e43e1727f3814311b960c41f88e259606ca2b2/pytorch_lightning-2.6.1.tar.gz", hash = "sha256:ba08f8901cf226fcca473046ad9346f414e99117762dc869c76e650d5b3d7bdc", size = 665563, upload-time = "2026-01-30T14:59:11.636Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/0e/93/c8c361bf0a2fe50f828f32def460e8b8a14b93955d3fd302b1a9b63b19e4/pytorch_lightning-2.6.1-py3-none-any.whl", hash = "sha256:1f8118567ec829e3055f16cf1aa320883a86a47c836951bfd9dcfa34ec7ffd59", size = 857273, upload-time = "2026-01-30T14:59:10.141Z" },
+]
+
+[[package]]
+name = "pytorch-triton-rocm"
+version = "3.5.1"
+source = { registry = "https://download.pytorch.org/whl/rocm6.4" }
+wheels = [
+ { url = "https://download.pytorch.org/whl/pytorch_triton_rocm-3.5.1-cp310-cp310-linux_x86_64.whl" },
+ { url = "https://download.pytorch.org/whl/pytorch_triton_rocm-3.5.1-cp311-cp311-linux_x86_64.whl" },
+ { url = "https://download.pytorch.org/whl/pytorch_triton_rocm-3.5.1-cp312-cp312-linux_x86_64.whl" },
+ { url = "https://download.pytorch.org/whl/pytorch_triton_rocm-3.5.1-cp313-cp313-linux_x86_64.whl" },
+ { url = "https://download.pytorch.org/whl/pytorch_triton_rocm-3.5.1-cp313-cp313t-linux_x86_64.whl" },
+]
+
+[[package]]
+name = "pytorch-wpe"
+version = "0.0.1"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11' or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "numpy", version = "2.3.5", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11' or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/db/39/8d94737fd6fab4028687575099566a125100f3ba8c638f861506747d7b7c/pytorch_wpe-0.0.1.tar.gz", hash = "sha256:fc7e706b5411800c4483fe94db7dcd82ecf6c57bc013af529ab4fb675c9cc29c", size = 4457, upload-time = "2021-03-05T10:10:09.593Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/23/de/c47967a11bfe68cb28d2f19e55c7027993c3721eba79813db65d245e4ced/pytorch_wpe-0.0.1-py3-none-any.whl", hash = "sha256:fa0dc9f818fba81b36c1a51a53331cf6ed975f29b33f23e07b0deb4bee82eaad", size = 8080, upload-time = "2021-03-05T10:10:08.686Z" },
+]
+
+[[package]]
+name = "pytz"
+version = "2025.2"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/f8/bf/abbd3cdfb8fbc7fb3d4d38d320f2441b1e7cbe29be4f23797b4a2b5d8aac/pytz-2025.2.tar.gz", hash = "sha256:360b9e3dbb49a209c21ad61809c7fb453643e048b38924c765813546746e81c3", size = 320884, upload-time = "2025-03-25T02:25:00.538Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/81/c4/34e93fe5f5429d7570ec1fa436f1986fb1f00c3e0f43a589fe2bbcd22c3f/pytz-2025.2-py2.py3-none-any.whl", hash = "sha256:5ddf76296dd8c44c26eb8f4b6f35488f3ccbf6fbbd7adee0b7262d43f0ec2f00", size = 509225, upload-time = "2025-03-25T02:24:58.468Z" },
+]
+
+[[package]]
+name = "pyyaml"
+version = "6.0.3"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/05/8e/961c0007c59b8dd7729d542c61a4d537767a59645b82a0b521206e1e25c2/pyyaml-6.0.3.tar.gz", hash = "sha256:d76623373421df22fb4cf8817020cbb7ef15c725b9d5e45f17e189bfc384190f", size = 130960, upload-time = "2025-09-25T21:33:16.546Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/f4/a0/39350dd17dd6d6c6507025c0e53aef67a9293a6d37d3511f23ea510d5800/pyyaml-6.0.3-cp310-cp310-macosx_10_13_x86_64.whl", hash = "sha256:214ed4befebe12df36bcc8bc2b64b396ca31be9304b8f59e25c11cf94a4c033b", size = 184227, upload-time = "2025-09-25T21:31:46.04Z" },
+ { url = "https://files.pythonhosted.org/packages/05/14/52d505b5c59ce73244f59c7a50ecf47093ce4765f116cdb98286a71eeca2/pyyaml-6.0.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:02ea2dfa234451bbb8772601d7b8e426c2bfa197136796224e50e35a78777956", size = 174019, upload-time = "2025-09-25T21:31:47.706Z" },
+ { url = "https://files.pythonhosted.org/packages/43/f7/0e6a5ae5599c838c696adb4e6330a59f463265bfa1e116cfd1fbb0abaaae/pyyaml-6.0.3-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:b30236e45cf30d2b8e7b3e85881719e98507abed1011bf463a8fa23e9c3e98a8", size = 740646, upload-time = "2025-09-25T21:31:49.21Z" },
+ { url = "https://files.pythonhosted.org/packages/2f/3a/61b9db1d28f00f8fd0ae760459a5c4bf1b941baf714e207b6eb0657d2578/pyyaml-6.0.3-cp310-cp310-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:66291b10affd76d76f54fad28e22e51719ef9ba22b29e1d7d03d6777a9174198", size = 840793, upload-time = "2025-09-25T21:31:50.735Z" },
+ { url = "https://files.pythonhosted.org/packages/7a/1e/7acc4f0e74c4b3d9531e24739e0ab832a5edf40e64fbae1a9c01941cabd7/pyyaml-6.0.3-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:9c7708761fccb9397fe64bbc0395abcae8c4bf7b0eac081e12b809bf47700d0b", size = 770293, upload-time = "2025-09-25T21:31:51.828Z" },
+ { url = "https://files.pythonhosted.org/packages/8b/ef/abd085f06853af0cd59fa5f913d61a8eab65d7639ff2a658d18a25d6a89d/pyyaml-6.0.3-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:418cf3f2111bc80e0933b2cd8cd04f286338bb88bdc7bc8e6dd775ebde60b5e0", size = 732872, upload-time = "2025-09-25T21:31:53.282Z" },
+ { url = "https://files.pythonhosted.org/packages/1f/15/2bc9c8faf6450a8b3c9fc5448ed869c599c0a74ba2669772b1f3a0040180/pyyaml-6.0.3-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:5e0b74767e5f8c593e8c9b5912019159ed0533c70051e9cce3e8b6aa699fcd69", size = 758828, upload-time = "2025-09-25T21:31:54.807Z" },
+ { url = "https://files.pythonhosted.org/packages/a3/00/531e92e88c00f4333ce359e50c19b8d1de9fe8d581b1534e35ccfbc5f393/pyyaml-6.0.3-cp310-cp310-win32.whl", hash = "sha256:28c8d926f98f432f88adc23edf2e6d4921ac26fb084b028c733d01868d19007e", size = 142415, upload-time = "2025-09-25T21:31:55.885Z" },
+ { url = "https://files.pythonhosted.org/packages/2a/fa/926c003379b19fca39dd4634818b00dec6c62d87faf628d1394e137354d4/pyyaml-6.0.3-cp310-cp310-win_amd64.whl", hash = "sha256:bdb2c67c6c1390b63c6ff89f210c8fd09d9a1217a465701eac7316313c915e4c", size = 158561, upload-time = "2025-09-25T21:31:57.406Z" },
+ { url = "https://files.pythonhosted.org/packages/6d/16/a95b6757765b7b031c9374925bb718d55e0a9ba8a1b6a12d25962ea44347/pyyaml-6.0.3-cp311-cp311-macosx_10_13_x86_64.whl", hash = "sha256:44edc647873928551a01e7a563d7452ccdebee747728c1080d881d68af7b997e", size = 185826, upload-time = "2025-09-25T21:31:58.655Z" },
+ { url = "https://files.pythonhosted.org/packages/16/19/13de8e4377ed53079ee996e1ab0a9c33ec2faf808a4647b7b4c0d46dd239/pyyaml-6.0.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:652cb6edd41e718550aad172851962662ff2681490a8a711af6a4d288dd96824", size = 175577, upload-time = "2025-09-25T21:32:00.088Z" },
+ { url = "https://files.pythonhosted.org/packages/0c/62/d2eb46264d4b157dae1275b573017abec435397aa59cbcdab6fc978a8af4/pyyaml-6.0.3-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:10892704fc220243f5305762e276552a0395f7beb4dbf9b14ec8fd43b57f126c", size = 775556, upload-time = "2025-09-25T21:32:01.31Z" },
+ { url = "https://files.pythonhosted.org/packages/10/cb/16c3f2cf3266edd25aaa00d6c4350381c8b012ed6f5276675b9eba8d9ff4/pyyaml-6.0.3-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:850774a7879607d3a6f50d36d04f00ee69e7fc816450e5f7e58d7f17f1ae5c00", size = 882114, upload-time = "2025-09-25T21:32:03.376Z" },
+ { url = "https://files.pythonhosted.org/packages/71/60/917329f640924b18ff085ab889a11c763e0b573da888e8404ff486657602/pyyaml-6.0.3-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:b8bb0864c5a28024fac8a632c443c87c5aa6f215c0b126c449ae1a150412f31d", size = 806638, upload-time = "2025-09-25T21:32:04.553Z" },
+ { url = "https://files.pythonhosted.org/packages/dd/6f/529b0f316a9fd167281a6c3826b5583e6192dba792dd55e3203d3f8e655a/pyyaml-6.0.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:1d37d57ad971609cf3c53ba6a7e365e40660e3be0e5175fa9f2365a379d6095a", size = 767463, upload-time = "2025-09-25T21:32:06.152Z" },
+ { url = "https://files.pythonhosted.org/packages/f2/6a/b627b4e0c1dd03718543519ffb2f1deea4a1e6d42fbab8021936a4d22589/pyyaml-6.0.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:37503bfbfc9d2c40b344d06b2199cf0e96e97957ab1c1b546fd4f87e53e5d3e4", size = 794986, upload-time = "2025-09-25T21:32:07.367Z" },
+ { url = "https://files.pythonhosted.org/packages/45/91/47a6e1c42d9ee337c4839208f30d9f09caa9f720ec7582917b264defc875/pyyaml-6.0.3-cp311-cp311-win32.whl", hash = "sha256:8098f252adfa6c80ab48096053f512f2321f0b998f98150cea9bd23d83e1467b", size = 142543, upload-time = "2025-09-25T21:32:08.95Z" },
+ { url = "https://files.pythonhosted.org/packages/da/e3/ea007450a105ae919a72393cb06f122f288ef60bba2dc64b26e2646fa315/pyyaml-6.0.3-cp311-cp311-win_amd64.whl", hash = "sha256:9f3bfb4965eb874431221a3ff3fdcddc7e74e3b07799e0e84ca4a0f867d449bf", size = 158763, upload-time = "2025-09-25T21:32:09.96Z" },
+ { url = "https://files.pythonhosted.org/packages/d1/33/422b98d2195232ca1826284a76852ad5a86fe23e31b009c9886b2d0fb8b2/pyyaml-6.0.3-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:7f047e29dcae44602496db43be01ad42fc6f1cc0d8cd6c83d342306c32270196", size = 182063, upload-time = "2025-09-25T21:32:11.445Z" },
+ { url = "https://files.pythonhosted.org/packages/89/a0/6cf41a19a1f2f3feab0e9c0b74134aa2ce6849093d5517a0c550fe37a648/pyyaml-6.0.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:fc09d0aa354569bc501d4e787133afc08552722d3ab34836a80547331bb5d4a0", size = 173973, upload-time = "2025-09-25T21:32:12.492Z" },
+ { url = "https://files.pythonhosted.org/packages/ed/23/7a778b6bd0b9a8039df8b1b1d80e2e2ad78aa04171592c8a5c43a56a6af4/pyyaml-6.0.3-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:9149cad251584d5fb4981be1ecde53a1ca46c891a79788c0df828d2f166bda28", size = 775116, upload-time = "2025-09-25T21:32:13.652Z" },
+ { url = "https://files.pythonhosted.org/packages/65/30/d7353c338e12baef4ecc1b09e877c1970bd3382789c159b4f89d6a70dc09/pyyaml-6.0.3-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:5fdec68f91a0c6739b380c83b951e2c72ac0197ace422360e6d5a959d8d97b2c", size = 844011, upload-time = "2025-09-25T21:32:15.21Z" },
+ { url = "https://files.pythonhosted.org/packages/8b/9d/b3589d3877982d4f2329302ef98a8026e7f4443c765c46cfecc8858c6b4b/pyyaml-6.0.3-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:ba1cc08a7ccde2d2ec775841541641e4548226580ab850948cbfda66a1befcdc", size = 807870, upload-time = "2025-09-25T21:32:16.431Z" },
+ { url = "https://files.pythonhosted.org/packages/05/c0/b3be26a015601b822b97d9149ff8cb5ead58c66f981e04fedf4e762f4bd4/pyyaml-6.0.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:8dc52c23056b9ddd46818a57b78404882310fb473d63f17b07d5c40421e47f8e", size = 761089, upload-time = "2025-09-25T21:32:17.56Z" },
+ { url = "https://files.pythonhosted.org/packages/be/8e/98435a21d1d4b46590d5459a22d88128103f8da4c2d4cb8f14f2a96504e1/pyyaml-6.0.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:41715c910c881bc081f1e8872880d3c650acf13dfa8214bad49ed4cede7c34ea", size = 790181, upload-time = "2025-09-25T21:32:18.834Z" },
+ { url = "https://files.pythonhosted.org/packages/74/93/7baea19427dcfbe1e5a372d81473250b379f04b1bd3c4c5ff825e2327202/pyyaml-6.0.3-cp312-cp312-win32.whl", hash = "sha256:96b533f0e99f6579b3d4d4995707cf36df9100d67e0c8303a0c55b27b5f99bc5", size = 137658, upload-time = "2025-09-25T21:32:20.209Z" },
+ { url = "https://files.pythonhosted.org/packages/86/bf/899e81e4cce32febab4fb42bb97dcdf66bc135272882d1987881a4b519e9/pyyaml-6.0.3-cp312-cp312-win_amd64.whl", hash = "sha256:5fcd34e47f6e0b794d17de1b4ff496c00986e1c83f7ab2fb8fcfe9616ff7477b", size = 154003, upload-time = "2025-09-25T21:32:21.167Z" },
+ { url = "https://files.pythonhosted.org/packages/1a/08/67bd04656199bbb51dbed1439b7f27601dfb576fb864099c7ef0c3e55531/pyyaml-6.0.3-cp312-cp312-win_arm64.whl", hash = "sha256:64386e5e707d03a7e172c0701abfb7e10f0fb753ee1d773128192742712a98fd", size = 140344, upload-time = "2025-09-25T21:32:22.617Z" },
+ { url = "https://files.pythonhosted.org/packages/d1/11/0fd08f8192109f7169db964b5707a2f1e8b745d4e239b784a5a1dd80d1db/pyyaml-6.0.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:8da9669d359f02c0b91ccc01cac4a67f16afec0dac22c2ad09f46bee0697eba8", size = 181669, upload-time = "2025-09-25T21:32:23.673Z" },
+ { url = "https://files.pythonhosted.org/packages/b1/16/95309993f1d3748cd644e02e38b75d50cbc0d9561d21f390a76242ce073f/pyyaml-6.0.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:2283a07e2c21a2aa78d9c4442724ec1eb15f5e42a723b99cb3d822d48f5f7ad1", size = 173252, upload-time = "2025-09-25T21:32:25.149Z" },
+ { url = "https://files.pythonhosted.org/packages/50/31/b20f376d3f810b9b2371e72ef5adb33879b25edb7a6d072cb7ca0c486398/pyyaml-6.0.3-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:ee2922902c45ae8ccada2c5b501ab86c36525b883eff4255313a253a3160861c", size = 767081, upload-time = "2025-09-25T21:32:26.575Z" },
+ { url = "https://files.pythonhosted.org/packages/49/1e/a55ca81e949270d5d4432fbbd19dfea5321eda7c41a849d443dc92fd1ff7/pyyaml-6.0.3-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:a33284e20b78bd4a18c8c2282d549d10bc8408a2a7ff57653c0cf0b9be0afce5", size = 841159, upload-time = "2025-09-25T21:32:27.727Z" },
+ { url = "https://files.pythonhosted.org/packages/74/27/e5b8f34d02d9995b80abcef563ea1f8b56d20134d8f4e5e81733b1feceb2/pyyaml-6.0.3-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:0f29edc409a6392443abf94b9cf89ce99889a1dd5376d94316ae5145dfedd5d6", size = 801626, upload-time = "2025-09-25T21:32:28.878Z" },
+ { url = "https://files.pythonhosted.org/packages/f9/11/ba845c23988798f40e52ba45f34849aa8a1f2d4af4b798588010792ebad6/pyyaml-6.0.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:f7057c9a337546edc7973c0d3ba84ddcdf0daa14533c2065749c9075001090e6", size = 753613, upload-time = "2025-09-25T21:32:30.178Z" },
+ { url = "https://files.pythonhosted.org/packages/3d/e0/7966e1a7bfc0a45bf0a7fb6b98ea03fc9b8d84fa7f2229e9659680b69ee3/pyyaml-6.0.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:eda16858a3cab07b80edaf74336ece1f986ba330fdb8ee0d6c0d68fe82bc96be", size = 794115, upload-time = "2025-09-25T21:32:31.353Z" },
+ { url = "https://files.pythonhosted.org/packages/de/94/980b50a6531b3019e45ddeada0626d45fa85cbe22300844a7983285bed3b/pyyaml-6.0.3-cp313-cp313-win32.whl", hash = "sha256:d0eae10f8159e8fdad514efdc92d74fd8d682c933a6dd088030f3834bc8e6b26", size = 137427, upload-time = "2025-09-25T21:32:32.58Z" },
+ { url = "https://files.pythonhosted.org/packages/97/c9/39d5b874e8b28845e4ec2202b5da735d0199dbe5b8fb85f91398814a9a46/pyyaml-6.0.3-cp313-cp313-win_amd64.whl", hash = "sha256:79005a0d97d5ddabfeeea4cf676af11e647e41d81c9a7722a193022accdb6b7c", size = 154090, upload-time = "2025-09-25T21:32:33.659Z" },
+ { url = "https://files.pythonhosted.org/packages/73/e8/2bdf3ca2090f68bb3d75b44da7bbc71843b19c9f2b9cb9b0f4ab7a5a4329/pyyaml-6.0.3-cp313-cp313-win_arm64.whl", hash = "sha256:5498cd1645aa724a7c71c8f378eb29ebe23da2fc0d7a08071d89469bf1d2defb", size = 140246, upload-time = "2025-09-25T21:32:34.663Z" },
+]
+
+[[package]]
+name = "regex"
+version = "2026.1.15"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/0b/86/07d5056945f9ec4590b518171c4254a5925832eb727b56d3c38a7476f316/regex-2026.1.15.tar.gz", hash = "sha256:164759aa25575cbc0651bef59a0b18353e54300d79ace8084c818ad8ac72b7d5", size = 414811, upload-time = "2026-01-14T23:18:02.775Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/ea/d2/e6ee96b7dff201a83f650241c52db8e5bd080967cb93211f57aa448dc9d6/regex-2026.1.15-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:4e3dd93c8f9abe8aa4b6c652016da9a3afa190df5ad822907efe6b206c09896e", size = 488166, upload-time = "2026-01-14T23:13:46.408Z" },
+ { url = "https://files.pythonhosted.org/packages/23/8a/819e9ce14c9f87af026d0690901b3931f3101160833e5d4c8061fa3a1b67/regex-2026.1.15-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:97499ff7862e868b1977107873dd1a06e151467129159a6ffd07b66706ba3a9f", size = 290632, upload-time = "2026-01-14T23:13:48.688Z" },
+ { url = "https://files.pythonhosted.org/packages/d5/c3/23dfe15af25d1d45b07dfd4caa6003ad710dcdcb4c4b279909bdfe7a2de8/regex-2026.1.15-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:0bda75ebcac38d884240914c6c43d8ab5fb82e74cde6da94b43b17c411aa4c2b", size = 288500, upload-time = "2026-01-14T23:13:50.503Z" },
+ { url = "https://files.pythonhosted.org/packages/c6/31/1adc33e2f717df30d2f4d973f8776d2ba6ecf939301efab29fca57505c95/regex-2026.1.15-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:7dcc02368585334f5bc81fc73a2a6a0bbade60e7d83da21cead622faf408f32c", size = 781670, upload-time = "2026-01-14T23:13:52.453Z" },
+ { url = "https://files.pythonhosted.org/packages/23/ce/21a8a22d13bc4adcb927c27b840c948f15fc973e21ed2346c1bd0eae22dc/regex-2026.1.15-cp310-cp310-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:693b465171707bbe882a7a05de5e866f33c76aa449750bee94a8d90463533cc9", size = 850820, upload-time = "2026-01-14T23:13:54.894Z" },
+ { url = "https://files.pythonhosted.org/packages/6c/4f/3eeacdf587a4705a44484cd0b30e9230a0e602811fb3e2cc32268c70d509/regex-2026.1.15-cp310-cp310-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:b0d190e6f013ea938623a58706d1469a62103fb2a241ce2873a9906e0386582c", size = 898777, upload-time = "2026-01-14T23:13:56.908Z" },
+ { url = "https://files.pythonhosted.org/packages/79/a9/1898a077e2965c35fc22796488141a22676eed2d73701e37c73ad7c0b459/regex-2026.1.15-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:5ff818702440a5878a81886f127b80127f5d50563753a28211482867f8318106", size = 791750, upload-time = "2026-01-14T23:13:58.527Z" },
+ { url = "https://files.pythonhosted.org/packages/4c/84/e31f9d149a178889b3817212827f5e0e8c827a049ff31b4b381e76b26e2d/regex-2026.1.15-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:f052d1be37ef35a54e394de66136e30fa1191fab64f71fc06ac7bc98c9a84618", size = 782674, upload-time = "2026-01-14T23:13:59.874Z" },
+ { url = "https://files.pythonhosted.org/packages/d2/ff/adf60063db24532add6a1676943754a5654dcac8237af024ede38244fd12/regex-2026.1.15-cp310-cp310-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:6bfc31a37fd1592f0c4fc4bfc674b5c42e52efe45b4b7a6a14f334cca4bcebe4", size = 767906, upload-time = "2026-01-14T23:14:01.298Z" },
+ { url = "https://files.pythonhosted.org/packages/af/3e/e6a216cee1e2780fec11afe7fc47b6f3925d7264e8149c607ac389fd9b1a/regex-2026.1.15-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:3d6ce5ae80066b319ae3bc62fd55a557c9491baa5efd0d355f0de08c4ba54e79", size = 774798, upload-time = "2026-01-14T23:14:02.715Z" },
+ { url = "https://files.pythonhosted.org/packages/0f/98/23a4a8378a9208514ed3efc7e7850c27fa01e00ed8557c958df0335edc4a/regex-2026.1.15-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:1704d204bd42b6bb80167df0e4554f35c255b579ba99616def38f69e14a5ccb9", size = 845861, upload-time = "2026-01-14T23:14:04.824Z" },
+ { url = "https://files.pythonhosted.org/packages/f8/57/d7605a9d53bd07421a8785d349cd29677fe660e13674fa4c6cbd624ae354/regex-2026.1.15-cp310-cp310-musllinux_1_2_riscv64.whl", hash = "sha256:e3174a5ed4171570dc8318afada56373aa9289eb6dc0d96cceb48e7358b0e220", size = 755648, upload-time = "2026-01-14T23:14:06.371Z" },
+ { url = "https://files.pythonhosted.org/packages/6f/76/6f2e24aa192da1e299cc1101674a60579d3912391867ce0b946ba83e2194/regex-2026.1.15-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:87adf5bd6d72e3e17c9cb59ac4096b1faaf84b7eb3037a5ffa61c4b4370f0f13", size = 836250, upload-time = "2026-01-14T23:14:08.343Z" },
+ { url = "https://files.pythonhosted.org/packages/11/3a/1f2a1d29453299a7858eab7759045fc3d9d1b429b088dec2dc85b6fa16a2/regex-2026.1.15-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:e85dc94595f4d766bd7d872a9de5ede1ca8d3063f3bdf1e2c725f5eb411159e3", size = 779919, upload-time = "2026-01-14T23:14:09.954Z" },
+ { url = "https://files.pythonhosted.org/packages/c0/67/eab9bc955c9dcc58e9b222c801e39cff7ca0b04261792a2149166ce7e792/regex-2026.1.15-cp310-cp310-win32.whl", hash = "sha256:21ca32c28c30d5d65fc9886ff576fc9b59bbca08933e844fa2363e530f4c8218", size = 265888, upload-time = "2026-01-14T23:14:11.35Z" },
+ { url = "https://files.pythonhosted.org/packages/1d/62/31d16ae24e1f8803bddb0885508acecaec997fcdcde9c243787103119ae4/regex-2026.1.15-cp310-cp310-win_amd64.whl", hash = "sha256:3038a62fc7d6e5547b8915a3d927a0fbeef84cdbe0b1deb8c99bbd4a8961b52a", size = 277830, upload-time = "2026-01-14T23:14:12.908Z" },
+ { url = "https://files.pythonhosted.org/packages/e5/36/5d9972bccd6417ecd5a8be319cebfd80b296875e7f116c37fb2a2deecebf/regex-2026.1.15-cp310-cp310-win_arm64.whl", hash = "sha256:505831646c945e3e63552cc1b1b9b514f0e93232972a2d5bedbcc32f15bc82e3", size = 270376, upload-time = "2026-01-14T23:14:14.782Z" },
+ { url = "https://files.pythonhosted.org/packages/d0/c9/0c80c96eab96948363d270143138d671d5731c3a692b417629bf3492a9d6/regex-2026.1.15-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:1ae6020fb311f68d753b7efa9d4b9a5d47a5d6466ea0d5e3b5a471a960ea6e4a", size = 488168, upload-time = "2026-01-14T23:14:16.129Z" },
+ { url = "https://files.pythonhosted.org/packages/17/f0/271c92f5389a552494c429e5cc38d76d1322eb142fb5db3c8ccc47751468/regex-2026.1.15-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:eddf73f41225942c1f994914742afa53dc0d01a6e20fe14b878a1b1edc74151f", size = 290636, upload-time = "2026-01-14T23:14:17.715Z" },
+ { url = "https://files.pythonhosted.org/packages/a0/f9/5f1fd077d106ca5655a0f9ff8f25a1ab55b92128b5713a91ed7134ff688e/regex-2026.1.15-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:1e8cd52557603f5c66a548f69421310886b28b7066853089e1a71ee710e1cdc1", size = 288496, upload-time = "2026-01-14T23:14:19.326Z" },
+ { url = "https://files.pythonhosted.org/packages/b5/e1/8f43b03a4968c748858ec77f746c286d81f896c2e437ccf050ebc5d3128c/regex-2026.1.15-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:5170907244b14303edc5978f522f16c974f32d3aa92109fabc2af52411c9433b", size = 793503, upload-time = "2026-01-14T23:14:20.922Z" },
+ { url = "https://files.pythonhosted.org/packages/8d/4e/a39a5e8edc5377a46a7c875c2f9a626ed3338cb3bb06931be461c3e1a34a/regex-2026.1.15-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:2748c1ec0663580b4510bd89941a31560b4b439a0b428b49472a3d9944d11cd8", size = 860535, upload-time = "2026-01-14T23:14:22.405Z" },
+ { url = "https://files.pythonhosted.org/packages/dc/1c/9dce667a32a9477f7a2869c1c767dc00727284a9fa3ff5c09a5c6c03575e/regex-2026.1.15-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:2f2775843ca49360508d080eaa87f94fa248e2c946bbcd963bb3aae14f333413", size = 907225, upload-time = "2026-01-14T23:14:23.897Z" },
+ { url = "https://files.pythonhosted.org/packages/a4/3c/87ca0a02736d16b6262921425e84b48984e77d8e4e572c9072ce96e66c30/regex-2026.1.15-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:d9ea2604370efc9a174c1b5dcc81784fb040044232150f7f33756049edfc9026", size = 800526, upload-time = "2026-01-14T23:14:26.039Z" },
+ { url = "https://files.pythonhosted.org/packages/4b/ff/647d5715aeea7c87bdcbd2f578f47b415f55c24e361e639fe8c0cc88878f/regex-2026.1.15-cp311-cp311-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:0dcd31594264029b57bf16f37fd7248a70b3b764ed9e0839a8f271b2d22c0785", size = 773446, upload-time = "2026-01-14T23:14:28.109Z" },
+ { url = "https://files.pythonhosted.org/packages/af/89/bf22cac25cb4ba0fe6bff52ebedbb65b77a179052a9d6037136ae93f42f4/regex-2026.1.15-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:c08c1f3e34338256732bd6938747daa3c0d5b251e04b6e43b5813e94d503076e", size = 783051, upload-time = "2026-01-14T23:14:29.929Z" },
+ { url = "https://files.pythonhosted.org/packages/1e/f4/6ed03e71dca6348a5188363a34f5e26ffd5db1404780288ff0d79513bce4/regex-2026.1.15-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:e43a55f378df1e7a4fa3547c88d9a5a9b7113f653a66821bcea4718fe6c58763", size = 854485, upload-time = "2026-01-14T23:14:31.366Z" },
+ { url = "https://files.pythonhosted.org/packages/d9/9a/8e8560bd78caded8eb137e3e47612430a05b9a772caf60876435192d670a/regex-2026.1.15-cp311-cp311-musllinux_1_2_riscv64.whl", hash = "sha256:f82110ab962a541737bd0ce87978d4c658f06e7591ba899192e2712a517badbb", size = 762195, upload-time = "2026-01-14T23:14:32.802Z" },
+ { url = "https://files.pythonhosted.org/packages/38/6b/61fc710f9aa8dfcd764fe27d37edfaa023b1a23305a0d84fccd5adb346ea/regex-2026.1.15-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:27618391db7bdaf87ac6c92b31e8f0dfb83a9de0075855152b720140bda177a2", size = 845986, upload-time = "2026-01-14T23:14:34.898Z" },
+ { url = "https://files.pythonhosted.org/packages/fd/2e/fbee4cb93f9d686901a7ca8d94285b80405e8c34fe4107f63ffcbfb56379/regex-2026.1.15-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:bfb0d6be01fbae8d6655c8ca21b3b72458606c4aec9bbc932db758d47aba6db1", size = 788992, upload-time = "2026-01-14T23:14:37.116Z" },
+ { url = "https://files.pythonhosted.org/packages/ed/14/3076348f3f586de64b1ab75a3fbabdaab7684af7f308ad43be7ef1849e55/regex-2026.1.15-cp311-cp311-win32.whl", hash = "sha256:b10e42a6de0e32559a92f2f8dc908478cc0fa02838d7dbe764c44dca3fa13569", size = 265893, upload-time = "2026-01-14T23:14:38.426Z" },
+ { url = "https://files.pythonhosted.org/packages/0f/19/772cf8b5fc803f5c89ba85d8b1870a1ca580dc482aa030383a9289c82e44/regex-2026.1.15-cp311-cp311-win_amd64.whl", hash = "sha256:e9bf3f0bbdb56633c07d7116ae60a576f846efdd86a8848f8d62b749e1209ca7", size = 277840, upload-time = "2026-01-14T23:14:39.785Z" },
+ { url = "https://files.pythonhosted.org/packages/78/84/d05f61142709474da3c0853222d91086d3e1372bcdab516c6fd8d80f3297/regex-2026.1.15-cp311-cp311-win_arm64.whl", hash = "sha256:41aef6f953283291c4e4e6850607bd71502be67779586a61472beacb315c97ec", size = 270374, upload-time = "2026-01-14T23:14:41.592Z" },
+ { url = "https://files.pythonhosted.org/packages/92/81/10d8cf43c807d0326efe874c1b79f22bfb0fb226027b0b19ebc26d301408/regex-2026.1.15-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:4c8fcc5793dde01641a35905d6731ee1548f02b956815f8f1cab89e515a5bdf1", size = 489398, upload-time = "2026-01-14T23:14:43.741Z" },
+ { url = "https://files.pythonhosted.org/packages/90/b0/7c2a74e74ef2a7c32de724658a69a862880e3e4155cba992ba04d1c70400/regex-2026.1.15-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:bfd876041a956e6a90ad7cdb3f6a630c07d491280bfeed4544053cd434901681", size = 291339, upload-time = "2026-01-14T23:14:45.183Z" },
+ { url = "https://files.pythonhosted.org/packages/19/4d/16d0773d0c818417f4cc20aa0da90064b966d22cd62a8c46765b5bd2d643/regex-2026.1.15-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:9250d087bc92b7d4899ccd5539a1b2334e44eee85d848c4c1aef8e221d3f8c8f", size = 289003, upload-time = "2026-01-14T23:14:47.25Z" },
+ { url = "https://files.pythonhosted.org/packages/c6/e4/1fc4599450c9f0863d9406e944592d968b8d6dfd0d552a7d569e43bceada/regex-2026.1.15-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:c8a154cf6537ebbc110e24dabe53095e714245c272da9c1be05734bdad4a61aa", size = 798656, upload-time = "2026-01-14T23:14:48.77Z" },
+ { url = "https://files.pythonhosted.org/packages/b2/e6/59650d73a73fa8a60b3a590545bfcf1172b4384a7df2e7fe7b9aab4e2da9/regex-2026.1.15-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:8050ba2e3ea1d8731a549e83c18d2f0999fbc99a5f6bd06b4c91449f55291804", size = 864252, upload-time = "2026-01-14T23:14:50.528Z" },
+ { url = "https://files.pythonhosted.org/packages/6e/ab/1d0f4d50a1638849a97d731364c9a80fa304fec46325e48330c170ee8e80/regex-2026.1.15-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:0bf065240704cb8951cc04972cf107063917022511273e0969bdb34fc173456c", size = 912268, upload-time = "2026-01-14T23:14:52.952Z" },
+ { url = "https://files.pythonhosted.org/packages/dd/df/0d722c030c82faa1d331d1921ee268a4e8fb55ca8b9042c9341c352f17fa/regex-2026.1.15-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:c32bef3e7aeee75746748643667668ef941d28b003bfc89994ecf09a10f7a1b5", size = 803589, upload-time = "2026-01-14T23:14:55.182Z" },
+ { url = "https://files.pythonhosted.org/packages/66/23/33289beba7ccb8b805c6610a8913d0131f834928afc555b241caabd422a9/regex-2026.1.15-cp312-cp312-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:d5eaa4a4c5b1906bd0d2508d68927f15b81821f85092e06f1a34a4254b0e1af3", size = 775700, upload-time = "2026-01-14T23:14:56.707Z" },
+ { url = "https://files.pythonhosted.org/packages/e7/65/bf3a42fa6897a0d3afa81acb25c42f4b71c274f698ceabd75523259f6688/regex-2026.1.15-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:86c1077a3cc60d453d4084d5b9649065f3bf1184e22992bd322e1f081d3117fb", size = 787928, upload-time = "2026-01-14T23:14:58.312Z" },
+ { url = "https://files.pythonhosted.org/packages/f4/f5/13bf65864fc314f68cdd6d8ca94adcab064d4d39dbd0b10fef29a9da48fc/regex-2026.1.15-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:2b091aefc05c78d286657cd4db95f2e6313375ff65dcf085e42e4c04d9c8d410", size = 858607, upload-time = "2026-01-14T23:15:00.657Z" },
+ { url = "https://files.pythonhosted.org/packages/a3/31/040e589834d7a439ee43fb0e1e902bc81bd58a5ba81acffe586bb3321d35/regex-2026.1.15-cp312-cp312-musllinux_1_2_riscv64.whl", hash = "sha256:57e7d17f59f9ebfa9667e6e5a1c0127b96b87cb9cede8335482451ed00788ba4", size = 763729, upload-time = "2026-01-14T23:15:02.248Z" },
+ { url = "https://files.pythonhosted.org/packages/9b/84/6921e8129687a427edf25a34a5594b588b6d88f491320b9de5b6339a4fcb/regex-2026.1.15-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:c6c4dcdfff2c08509faa15d36ba7e5ef5fcfab25f1e8f85a0c8f45bc3a30725d", size = 850697, upload-time = "2026-01-14T23:15:03.878Z" },
+ { url = "https://files.pythonhosted.org/packages/8a/87/3d06143d4b128f4229158f2de5de6c8f2485170c7221e61bf381313314b2/regex-2026.1.15-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:cf8ff04c642716a7f2048713ddc6278c5fd41faa3b9cab12607c7abecd012c22", size = 789849, upload-time = "2026-01-14T23:15:06.102Z" },
+ { url = "https://files.pythonhosted.org/packages/77/69/c50a63842b6bd48850ebc7ab22d46e7a2a32d824ad6c605b218441814639/regex-2026.1.15-cp312-cp312-win32.whl", hash = "sha256:82345326b1d8d56afbe41d881fdf62f1926d7264b2fc1537f99ae5da9aad7913", size = 266279, upload-time = "2026-01-14T23:15:07.678Z" },
+ { url = "https://files.pythonhosted.org/packages/f2/36/39d0b29d087e2b11fd8191e15e81cce1b635fcc845297c67f11d0d19274d/regex-2026.1.15-cp312-cp312-win_amd64.whl", hash = "sha256:4def140aa6156bc64ee9912383d4038f3fdd18fee03a6f222abd4de6357ce42a", size = 277166, upload-time = "2026-01-14T23:15:09.257Z" },
+ { url = "https://files.pythonhosted.org/packages/28/32/5b8e476a12262748851fa8ab1b0be540360692325975b094e594dfebbb52/regex-2026.1.15-cp312-cp312-win_arm64.whl", hash = "sha256:c6c565d9a6e1a8d783c1948937ffc377dd5771e83bd56de8317c450a954d2056", size = 270415, upload-time = "2026-01-14T23:15:10.743Z" },
+ { url = "https://files.pythonhosted.org/packages/f8/2e/6870bb16e982669b674cce3ee9ff2d1d46ab80528ee6bcc20fb2292efb60/regex-2026.1.15-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:e69d0deeb977ffe7ed3d2e4439360089f9c3f217ada608f0f88ebd67afb6385e", size = 489164, upload-time = "2026-01-14T23:15:13.962Z" },
+ { url = "https://files.pythonhosted.org/packages/dc/67/9774542e203849b0286badf67199970a44ebdb0cc5fb739f06e47ada72f8/regex-2026.1.15-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:3601ffb5375de85a16f407854d11cca8fe3f5febbe3ac78fb2866bb220c74d10", size = 291218, upload-time = "2026-01-14T23:15:15.647Z" },
+ { url = "https://files.pythonhosted.org/packages/b2/87/b0cda79f22b8dee05f774922a214da109f9a4c0eca5da2c9d72d77ea062c/regex-2026.1.15-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:4c5ef43b5c2d4114eb8ea424bb8c9cec01d5d17f242af88b2448f5ee81caadbc", size = 288895, upload-time = "2026-01-14T23:15:17.788Z" },
+ { url = "https://files.pythonhosted.org/packages/3b/6a/0041f0a2170d32be01ab981d6346c83a8934277d82c780d60b127331f264/regex-2026.1.15-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:968c14d4f03e10b2fd960f1d5168c1f0ac969381d3c1fcc973bc45fb06346599", size = 798680, upload-time = "2026-01-14T23:15:19.342Z" },
+ { url = "https://files.pythonhosted.org/packages/58/de/30e1cfcdbe3e891324aa7568b7c968771f82190df5524fabc1138cb2d45a/regex-2026.1.15-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:56a5595d0f892f214609c9f76b41b7428bed439d98dc961efafdd1354d42baae", size = 864210, upload-time = "2026-01-14T23:15:22.005Z" },
+ { url = "https://files.pythonhosted.org/packages/64/44/4db2f5c5ca0ccd40ff052ae7b1e9731352fcdad946c2b812285a7505ca75/regex-2026.1.15-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:0bf650f26087363434c4e560011f8e4e738f6f3e029b85d4904c50135b86cfa5", size = 912358, upload-time = "2026-01-14T23:15:24.569Z" },
+ { url = "https://files.pythonhosted.org/packages/79/b6/e6a5665d43a7c42467138c8a2549be432bad22cbd206f5ec87162de74bd7/regex-2026.1.15-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:18388a62989c72ac24de75f1449d0fb0b04dfccd0a1a7c1c43af5eb503d890f6", size = 803583, upload-time = "2026-01-14T23:15:26.526Z" },
+ { url = "https://files.pythonhosted.org/packages/e7/53/7cd478222169d85d74d7437e74750005e993f52f335f7c04ff7adfda3310/regex-2026.1.15-cp313-cp313-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:6d220a2517f5893f55daac983bfa9fe998a7dbcaee4f5d27a88500f8b7873788", size = 775782, upload-time = "2026-01-14T23:15:29.352Z" },
+ { url = "https://files.pythonhosted.org/packages/ca/b5/75f9a9ee4b03a7c009fe60500fe550b45df94f0955ca29af16333ef557c5/regex-2026.1.15-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:c9c08c2fbc6120e70abff5d7f28ffb4d969e14294fb2143b4b5c7d20e46d1714", size = 787978, upload-time = "2026-01-14T23:15:31.295Z" },
+ { url = "https://files.pythonhosted.org/packages/72/b3/79821c826245bbe9ccbb54f6eadb7879c722fd3e0248c17bfc90bf54e123/regex-2026.1.15-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:7ef7d5d4bd49ec7364315167a4134a015f61e8266c6d446fc116a9ac4456e10d", size = 858550, upload-time = "2026-01-14T23:15:33.558Z" },
+ { url = "https://files.pythonhosted.org/packages/4a/85/2ab5f77a1c465745bfbfcb3ad63178a58337ae8d5274315e2cc623a822fa/regex-2026.1.15-cp313-cp313-musllinux_1_2_riscv64.whl", hash = "sha256:6e42844ad64194fa08d5ccb75fe6a459b9b08e6d7296bd704460168d58a388f3", size = 763747, upload-time = "2026-01-14T23:15:35.206Z" },
+ { url = "https://files.pythonhosted.org/packages/6d/84/c27df502d4bfe2873a3e3a7cf1bdb2b9cc10284d1a44797cf38bed790470/regex-2026.1.15-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:cfecdaa4b19f9ca534746eb3b55a5195d5c95b88cac32a205e981ec0a22b7d31", size = 850615, upload-time = "2026-01-14T23:15:37.523Z" },
+ { url = "https://files.pythonhosted.org/packages/7d/b7/658a9782fb253680aa8ecb5ccbb51f69e088ed48142c46d9f0c99b46c575/regex-2026.1.15-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:08df9722d9b87834a3d701f3fca570b2be115654dbfd30179f30ab2f39d606d3", size = 789951, upload-time = "2026-01-14T23:15:39.582Z" },
+ { url = "https://files.pythonhosted.org/packages/fc/2a/5928af114441e059f15b2f63e188bd00c6529b3051c974ade7444b85fcda/regex-2026.1.15-cp313-cp313-win32.whl", hash = "sha256:d426616dae0967ca225ab12c22274eb816558f2f99ccb4a1d52ca92e8baf180f", size = 266275, upload-time = "2026-01-14T23:15:42.108Z" },
+ { url = "https://files.pythonhosted.org/packages/4f/16/5bfbb89e435897bff28cf0352a992ca719d9e55ebf8b629203c96b6ce4f7/regex-2026.1.15-cp313-cp313-win_amd64.whl", hash = "sha256:febd38857b09867d3ed3f4f1af7d241c5c50362e25ef43034995b77a50df494e", size = 277145, upload-time = "2026-01-14T23:15:44.244Z" },
+ { url = "https://files.pythonhosted.org/packages/56/c1/a09ff7392ef4233296e821aec5f78c51be5e91ffde0d163059e50fd75835/regex-2026.1.15-cp313-cp313-win_arm64.whl", hash = "sha256:8e32f7896f83774f91499d239e24cebfadbc07639c1494bb7213983842348337", size = 270411, upload-time = "2026-01-14T23:15:45.858Z" },
+ { url = "https://files.pythonhosted.org/packages/3c/38/0cfd5a78e5c6db00e6782fdae70458f89850ce95baa5e8694ab91d89744f/regex-2026.1.15-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:ec94c04149b6a7b8120f9f44565722c7ae31b7a6d2275569d2eefa76b83da3be", size = 492068, upload-time = "2026-01-14T23:15:47.616Z" },
+ { url = "https://files.pythonhosted.org/packages/50/72/6c86acff16cb7c959c4355826bbf06aad670682d07c8f3998d9ef4fee7cd/regex-2026.1.15-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:40c86d8046915bb9aeb15d3f3f15b6fd500b8ea4485b30e1bbc799dab3fe29f8", size = 292756, upload-time = "2026-01-14T23:15:49.307Z" },
+ { url = "https://files.pythonhosted.org/packages/4e/58/df7fb69eadfe76526ddfce28abdc0af09ffe65f20c2c90932e89d705153f/regex-2026.1.15-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:726ea4e727aba21643205edad8f2187ec682d3305d790f73b7a51c7587b64bdd", size = 291114, upload-time = "2026-01-14T23:15:51.484Z" },
+ { url = "https://files.pythonhosted.org/packages/ed/6c/a4011cd1cf96b90d2cdc7e156f91efbd26531e822a7fbb82a43c1016678e/regex-2026.1.15-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:1cb740d044aff31898804e7bf1181cc72c03d11dfd19932b9911ffc19a79070a", size = 807524, upload-time = "2026-01-14T23:15:53.102Z" },
+ { url = "https://files.pythonhosted.org/packages/1d/25/a53ffb73183f69c3e9f4355c4922b76d2840aee160af6af5fac229b6201d/regex-2026.1.15-cp313-cp313t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:05d75a668e9ea16f832390d22131fe1e8acc8389a694c8febc3e340b0f810b93", size = 873455, upload-time = "2026-01-14T23:15:54.956Z" },
+ { url = "https://files.pythonhosted.org/packages/66/0b/8b47fc2e8f97d9b4a851736f3890a5f786443aa8901061c55f24c955f45b/regex-2026.1.15-cp313-cp313t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:d991483606f3dbec93287b9f35596f41aa2e92b7c2ebbb935b63f409e243c9af", size = 915007, upload-time = "2026-01-14T23:15:57.041Z" },
+ { url = "https://files.pythonhosted.org/packages/c2/fa/97de0d681e6d26fabe71968dbee06dd52819e9a22fdce5dac7256c31ed84/regex-2026.1.15-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:194312a14819d3e44628a44ed6fea6898fdbecb0550089d84c403475138d0a09", size = 812794, upload-time = "2026-01-14T23:15:58.916Z" },
+ { url = "https://files.pythonhosted.org/packages/22/38/e752f94e860d429654aa2b1c51880bff8dfe8f084268258adf9151cf1f53/regex-2026.1.15-cp313-cp313t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:fe2fda4110a3d0bc163c2e0664be44657431440722c5c5315c65155cab92f9e5", size = 781159, upload-time = "2026-01-14T23:16:00.817Z" },
+ { url = "https://files.pythonhosted.org/packages/e9/a7/d739ffaef33c378fc888302a018d7f81080393d96c476b058b8c64fd2b0d/regex-2026.1.15-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:124dc36c85d34ef2d9164da41a53c1c8c122cfb1f6e1ec377a1f27ee81deb794", size = 795558, upload-time = "2026-01-14T23:16:03.267Z" },
+ { url = "https://files.pythonhosted.org/packages/3e/c4/542876f9a0ac576100fc73e9c75b779f5c31e3527576cfc9cb3009dcc58a/regex-2026.1.15-cp313-cp313t-musllinux_1_2_ppc64le.whl", hash = "sha256:a1774cd1981cd212506a23a14dba7fdeaee259f5deba2df6229966d9911e767a", size = 868427, upload-time = "2026-01-14T23:16:05.646Z" },
+ { url = "https://files.pythonhosted.org/packages/fc/0f/d5655bea5b22069e32ae85a947aa564912f23758e112cdb74212848a1a1b/regex-2026.1.15-cp313-cp313t-musllinux_1_2_riscv64.whl", hash = "sha256:b5f7d8d2867152cdb625e72a530d2ccb48a3d199159144cbdd63870882fb6f80", size = 769939, upload-time = "2026-01-14T23:16:07.542Z" },
+ { url = "https://files.pythonhosted.org/packages/20/06/7e18a4fa9d326daeda46d471a44ef94201c46eaa26dbbb780b5d92cbfdda/regex-2026.1.15-cp313-cp313t-musllinux_1_2_s390x.whl", hash = "sha256:492534a0ab925d1db998defc3c302dae3616a2fc3fe2e08db1472348f096ddf2", size = 854753, upload-time = "2026-01-14T23:16:10.395Z" },
+ { url = "https://files.pythonhosted.org/packages/3b/67/dc8946ef3965e166f558ef3b47f492bc364e96a265eb4a2bb3ca765c8e46/regex-2026.1.15-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:c661fc820cfb33e166bf2450d3dadbda47c8d8981898adb9b6fe24e5e582ba60", size = 799559, upload-time = "2026-01-14T23:16:12.347Z" },
+ { url = "https://files.pythonhosted.org/packages/a5/61/1bba81ff6d50c86c65d9fd84ce9699dd106438ee4cdb105bf60374ee8412/regex-2026.1.15-cp313-cp313t-win32.whl", hash = "sha256:99ad739c3686085e614bf77a508e26954ff1b8f14da0e3765ff7abbf7799f952", size = 268879, upload-time = "2026-01-14T23:16:14.049Z" },
+ { url = "https://files.pythonhosted.org/packages/e9/5e/cef7d4c5fb0ea3ac5c775fd37db5747f7378b29526cc83f572198924ff47/regex-2026.1.15-cp313-cp313t-win_amd64.whl", hash = "sha256:32655d17905e7ff8ba5c764c43cb124e34a9245e45b83c22e81041e1071aee10", size = 280317, upload-time = "2026-01-14T23:16:15.718Z" },
+ { url = "https://files.pythonhosted.org/packages/b4/52/4317f7a5988544e34ab57b4bde0f04944c4786128c933fb09825924d3e82/regex-2026.1.15-cp313-cp313t-win_arm64.whl", hash = "sha256:b2a13dd6a95e95a489ca242319d18fc02e07ceb28fa9ad146385194d95b3c829", size = 271551, upload-time = "2026-01-14T23:16:17.533Z" },
+]
+
+[[package]]
+name = "requests"
+version = "2.32.5"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "certifi" },
+ { name = "charset-normalizer" },
+ { name = "idna" },
+ { name = "urllib3" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/c9/74/b3ff8e6c8446842c3f5c837e9c3dfcfe2018ea6ecef224c710c85ef728f4/requests-2.32.5.tar.gz", hash = "sha256:dbba0bac56e100853db0ea71b82b4dfd5fe2bf6d3754a8893c3af500cec7d7cf", size = 134517, upload-time = "2025-08-18T20:46:02.573Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/1e/db/4254e3eabe8020b458f1a747140d32277ec7a271daf1d235b70dc0b4e6e3/requests-2.32.5-py3-none-any.whl", hash = "sha256:2462f94637a34fd532264295e186976db0f5d453d1cdd31473c85a6a161affb6", size = 64738, upload-time = "2025-08-18T20:46:00.542Z" },
+]
+
+[[package]]
+name = "rich"
+version = "14.3.2"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "markdown-it-py" },
+ { name = "pygments" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/74/99/a4cab2acbb884f80e558b0771e97e21e939c5dfb460f488d19df485e8298/rich-14.3.2.tar.gz", hash = "sha256:e712f11c1a562a11843306f5ed999475f09ac31ffb64281f73ab29ffdda8b3b8", size = 230143, upload-time = "2026-02-01T16:20:47.908Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/ef/45/615f5babd880b4bd7d405cc0dc348234c5ffb6ed1ea33e152ede08b2072d/rich-14.3.2-py3-none-any.whl", hash = "sha256:08e67c3e90884651da3239ea668222d19bea7b589149d8014a21c633420dbb69", size = 309963, upload-time = "2026-02-01T16:20:46.078Z" },
+]
+
+[[package]]
+name = "rich-argparse"
+version = "1.7.2"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "rich" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/4c/f7/1c65e0245d4c7009a87ac92908294a66e7e7635eccf76a68550f40c6df80/rich_argparse-1.7.2.tar.gz", hash = "sha256:64fd2e948fc96e8a1a06e0e72c111c2ce7f3af74126d75c0f5f63926e7289cd1", size = 38500, upload-time = "2025-11-01T10:35:44.232Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/04/80/97b6f357ac458d9ad9872cc3183ca09ef7439ac89e030ea43053ba1294b6/rich_argparse-1.7.2-py3-none-any.whl", hash = "sha256:0559b1f47a19bbeb82bf15f95a057f99bcbbc98385532f57937f9fc57acc501a", size = 25476, upload-time = "2025-11-01T10:35:42.681Z" },
+]
+
+[[package]]
+name = "rich-toolkit"
+version = "0.19.4"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "click" },
+ { name = "rich" },
+ { name = "typing-extensions" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/d0/c9/4bbf4bfee195ed1b7d7a6733cc523ca61dbfb4a3e3c12ea090aaffd97597/rich_toolkit-0.19.4.tar.gz", hash = "sha256:52e23d56f9dc30d1343eb3b3f6f18764c313fbfea24e52e6a1d6069bec9c18eb", size = 193951, upload-time = "2026-02-12T10:08:15.814Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/28/31/97d39719def09c134385bfcfbedfed255168b571e7beb3ad7765aae660ca/rich_toolkit-0.19.4-py3-none-any.whl", hash = "sha256:34ac344de8862801644be8b703e26becf44b047e687f208d7829e8f7cfc311d6", size = 32757, upload-time = "2026-02-12T10:08:15.037Z" },
+]
+
+[[package]]
+name = "rignore"
+version = "0.7.6"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/e5/f5/8bed2310abe4ae04b67a38374a4d311dd85220f5d8da56f47ae9361be0b0/rignore-0.7.6.tar.gz", hash = "sha256:00d3546cd793c30cb17921ce674d2c8f3a4b00501cb0e3dd0e82217dbeba2671", size = 57140, upload-time = "2025-11-05T21:41:21.968Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/86/7a/b970cd0138b0ece72eb28f086e933f9ed75b795716ad3de5ab22994b3b54/rignore-0.7.6-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:f3c74a7e5ee77aea669c95fdb3933f2a6c7549893700082e759128a29cf67e45", size = 884999, upload-time = "2025-11-05T20:42:38.373Z" },
+ { url = "https://files.pythonhosted.org/packages/ca/05/23faca29616d8966ada63fb0e13c214107811fa9a0aba2275e4c7ca63bd5/rignore-0.7.6-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:b7202404958f5fe3474bac91f65350f0b1dde1a5e05089f2946549b7e91e79ec", size = 824824, upload-time = "2025-11-05T20:42:22.1Z" },
+ { url = "https://files.pythonhosted.org/packages/fa/2e/05a1e61f04cf2548524224f0b5f21ca19ea58f7273a863bac10846b8ff69/rignore-0.7.6-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6bde7c5835fa3905bfb7e329a4f1d7eccb676de63da7a3f934ddd5c06df20597", size = 899121, upload-time = "2025-11-05T20:40:48.94Z" },
+ { url = "https://files.pythonhosted.org/packages/ff/35/71518847e10bdbf359badad8800e4681757a01f4777b3c5e03dbde8a42d8/rignore-0.7.6-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:626c3d4ba03af266694d25101bc1d8d16eda49c5feb86cedfec31c614fceca7d", size = 873813, upload-time = "2025-11-05T20:41:04.71Z" },
+ { url = "https://files.pythonhosted.org/packages/f6/c8/32ae405d3e7fd4d9f9b7838f2fcca0a5005bb87fa514b83f83fd81c0df22/rignore-0.7.6-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:0a43841e651e7a05a4274b9026cc408d1912e64016ede8cd4c145dae5d0635be", size = 1168019, upload-time = "2025-11-05T20:41:20.723Z" },
+ { url = "https://files.pythonhosted.org/packages/25/98/013c955982bc5b4719bf9a5bea58be317eea28aa12bfd004025e3cd7c000/rignore-0.7.6-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7978c498dbf7f74d30cdb8859fe612167d8247f0acd377ae85180e34490725da", size = 942822, upload-time = "2025-11-05T20:41:36.99Z" },
+ { url = "https://files.pythonhosted.org/packages/90/fb/9a3f3156c6ed30bcd597e63690353edac1fcffe9d382ad517722b56ac195/rignore-0.7.6-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2d22f72ab695c07d2d96d2a645208daff17084441b5d58c07378c9dd6f9c4c87", size = 959820, upload-time = "2025-11-05T20:42:06.364Z" },
+ { url = "https://files.pythonhosted.org/packages/5e/b2/93bf609633021e9658acaff24cfb055d8cdaf7f5855d10ebb35307900dda/rignore-0.7.6-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:d5bd8e1a91ed1a789b2cbe39eeea9204a6719d4f2cf443a9544b521a285a295f", size = 985050, upload-time = "2025-11-05T20:41:51.124Z" },
+ { url = "https://files.pythonhosted.org/packages/69/bc/ec2d040469bdfd7b743df10f2201c5d285009a4263d506edbf7a06a090bb/rignore-0.7.6-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:bc1fc03efad5789365018e94ac4079f851a999bc154d1551c45179f7fcf45322", size = 1079164, upload-time = "2025-11-05T21:40:10.368Z" },
+ { url = "https://files.pythonhosted.org/packages/df/26/4b635f4ea5baf4baa8ba8eee06163f6af6e76dfbe72deb57da34bb24b19d/rignore-0.7.6-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:ce2617fe28c51367fd8abfd4eeea9e61664af63c17d4ea00353d8ef56dfb95fa", size = 1139028, upload-time = "2025-11-05T21:40:27.977Z" },
+ { url = "https://files.pythonhosted.org/packages/6a/54/a3147ebd1e477b06eb24e2c2c56d951ae5faa9045b7b36d7892fec5080d9/rignore-0.7.6-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:7c4ad2cee85068408e7819a38243043214e2c3047e9bd4c506f8de01c302709e", size = 1119024, upload-time = "2025-11-05T21:40:45.148Z" },
+ { url = "https://files.pythonhosted.org/packages/fb/f4/27475db769a57cff18fe7e7267b36e6cdb5b1281caa185ba544171106cba/rignore-0.7.6-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:02cd240bfd59ecc3907766f4839cbba20530a2e470abca09eaa82225e4d946fb", size = 1128531, upload-time = "2025-11-05T21:41:02.734Z" },
+ { url = "https://files.pythonhosted.org/packages/97/32/6e782d3b352e4349fa0e90bf75b13cb7f11d8908b36d9e2b262224b65d9a/rignore-0.7.6-cp310-cp310-win32.whl", hash = "sha256:fe2bd8fa1ff555259df54c376abc73855cb02628a474a40d51b358c3a1ddc55b", size = 646817, upload-time = "2025-11-05T21:41:47.51Z" },
+ { url = "https://files.pythonhosted.org/packages/c0/8a/53185c69abb3bb362e8a46b8089999f820bf15655629ff8395107633c8ab/rignore-0.7.6-cp310-cp310-win_amd64.whl", hash = "sha256:d80afd6071c78baf3765ec698841071b19e41c326f994cfa69b5a1df676f5d39", size = 727001, upload-time = "2025-11-05T21:41:32.778Z" },
+ { url = "https://files.pythonhosted.org/packages/25/41/b6e2be3069ef3b7f24e35d2911bd6deb83d20ed5642ad81d5a6d1c015473/rignore-0.7.6-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:40be8226e12d6653abbebaffaea2885f80374c1c8f76fe5ca9e0cadd120a272c", size = 885285, upload-time = "2025-11-05T20:42:39.763Z" },
+ { url = "https://files.pythonhosted.org/packages/52/66/ba7f561b6062402022887706a7f2b2c2e2e2a28f1e3839202b0a2f77e36d/rignore-0.7.6-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:182f4e5e4064d947c756819446a7d4cdede8e756b8c81cf9e509683fe38778d7", size = 823882, upload-time = "2025-11-05T20:42:23.488Z" },
+ { url = "https://files.pythonhosted.org/packages/f5/81/4087453df35a90b07370647b19017029324950c1b9137d54bf1f33843f17/rignore-0.7.6-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:16b63047648a916a87be1e51bb5c009063f1b8b6f5afe4f04f875525507e63dc", size = 899362, upload-time = "2025-11-05T20:40:51.111Z" },
+ { url = "https://files.pythonhosted.org/packages/fb/c9/390a8fdfabb76d71416be773bd9f162977bd483084f68daf19da1dec88a6/rignore-0.7.6-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:ba5524f5178deca4d7695e936604ebc742acb8958f9395776e1fcb8133f8257a", size = 873633, upload-time = "2025-11-05T20:41:06.193Z" },
+ { url = "https://files.pythonhosted.org/packages/df/c9/79404fcb0faa76edfbc9df0901f8ef18568d1104919ebbbad6d608c888d1/rignore-0.7.6-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:62020dbb89a1dd4b84ab3d60547b3b2eb2723641d5fb198463643f71eaaed57d", size = 1167633, upload-time = "2025-11-05T20:41:22.491Z" },
+ { url = "https://files.pythonhosted.org/packages/6e/8d/b3466d32d445d158a0aceb80919085baaae495b1f540fb942f91d93b5e5b/rignore-0.7.6-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b34acd532769d5a6f153a52a98dcb81615c949ab11697ce26b2eb776af2e174d", size = 941434, upload-time = "2025-11-05T20:41:38.151Z" },
+ { url = "https://files.pythonhosted.org/packages/e8/40/9cd949761a7af5bc27022a939c91ff622d29c7a0b66d0c13a863097dde2d/rignore-0.7.6-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1c5e53b752f9de44dff7b3be3c98455ce3bf88e69d6dc0cf4f213346c5e3416c", size = 959461, upload-time = "2025-11-05T20:42:08.476Z" },
+ { url = "https://files.pythonhosted.org/packages/b5/87/1e1a145731f73bdb7835e11f80da06f79a00d68b370d9a847de979575e6d/rignore-0.7.6-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:25b3536d13a5d6409ce85f23936f044576eeebf7b6db1d078051b288410fc049", size = 985323, upload-time = "2025-11-05T20:41:52.735Z" },
+ { url = "https://files.pythonhosted.org/packages/6c/31/1ecff992fc3f59c4fcdcb6c07d5f6c1e6dfb55ccda19c083aca9d86fa1c6/rignore-0.7.6-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:6e01cad2b0b92f6b1993f29fc01f23f2d78caf4bf93b11096d28e9d578eb08ce", size = 1079173, upload-time = "2025-11-05T21:40:12.007Z" },
+ { url = "https://files.pythonhosted.org/packages/17/18/162eedadb4c2282fa4c521700dbf93c9b14b8842e8354f7d72b445b8d593/rignore-0.7.6-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:5991e46ab9b4868334c9e372ab0892b0150f3f586ff2b1e314272caeb38aaedb", size = 1139012, upload-time = "2025-11-05T21:40:29.399Z" },
+ { url = "https://files.pythonhosted.org/packages/78/96/a9ca398a8af74bb143ad66c2a31303c894111977e28b0d0eab03867f1b43/rignore-0.7.6-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:6c8ae562e5d1246cba5eaeb92a47b2a279e7637102828dde41dcbe291f529a3e", size = 1118827, upload-time = "2025-11-05T21:40:46.6Z" },
+ { url = "https://files.pythonhosted.org/packages/9f/22/1c1a65047df864def9a047dbb40bc0b580b8289a4280e62779cd61ae21f2/rignore-0.7.6-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:aaf938530dcc0b47c4cfa52807aa2e5bfd5ca6d57a621125fe293098692f6345", size = 1128182, upload-time = "2025-11-05T21:41:04.239Z" },
+ { url = "https://files.pythonhosted.org/packages/bd/f4/1526eb01fdc2235aca1fd9d0189bee4021d009a8dcb0161540238c24166e/rignore-0.7.6-cp311-cp311-win32.whl", hash = "sha256:166ebce373105dd485ec213a6a2695986346e60c94ff3d84eb532a237b24a4d5", size = 646547, upload-time = "2025-11-05T21:41:49.439Z" },
+ { url = "https://files.pythonhosted.org/packages/7c/c8/dda0983e1845706beb5826459781549a840fe5a7eb934abc523e8cd17814/rignore-0.7.6-cp311-cp311-win_amd64.whl", hash = "sha256:44f35ee844b1a8cea50d056e6a595190ce9d42d3cccf9f19d280ae5f3058973a", size = 727139, upload-time = "2025-11-05T21:41:34.367Z" },
+ { url = "https://files.pythonhosted.org/packages/e3/47/eb1206b7bf65970d41190b879e1723fc6bbdb2d45e53565f28991a8d9d96/rignore-0.7.6-cp311-cp311-win_arm64.whl", hash = "sha256:14b58f3da4fa3d5c3fa865cab49821675371f5e979281c683e131ae29159a581", size = 657598, upload-time = "2025-11-05T21:41:23.758Z" },
+ { url = "https://files.pythonhosted.org/packages/0b/0e/012556ef3047a2628842b44e753bb15f4dc46806780ff090f1e8fe4bf1eb/rignore-0.7.6-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:03e82348cb7234f8d9b2834f854400ddbbd04c0f8f35495119e66adbd37827a8", size = 883488, upload-time = "2025-11-05T20:42:41.359Z" },
+ { url = "https://files.pythonhosted.org/packages/93/b0/d4f1f3fe9eb3f8e382d45ce5b0547ea01c4b7e0b4b4eb87bcd66a1d2b888/rignore-0.7.6-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:b9e624f6be6116ea682e76c5feb71ea91255c67c86cb75befe774365b2931961", size = 820411, upload-time = "2025-11-05T20:42:24.782Z" },
+ { url = "https://files.pythonhosted.org/packages/4a/c8/dea564b36dedac8de21c18e1851789545bc52a0c22ece9843444d5608a6a/rignore-0.7.6-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bda49950d405aa8d0ebe26af807c4e662dd281d926530f03f29690a2e07d649a", size = 897821, upload-time = "2025-11-05T20:40:52.613Z" },
+ { url = "https://files.pythonhosted.org/packages/b3/2b/ee96db17ac1835e024c5d0742eefb7e46de60020385ac883dd3d1cde2c1f/rignore-0.7.6-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:b5fd5ab3840b8c16851d327ed06e9b8be6459702a53e5ab1fc4073b684b3789e", size = 873963, upload-time = "2025-11-05T20:41:07.49Z" },
+ { url = "https://files.pythonhosted.org/packages/a5/8c/ad5a57bbb9d14d5c7e5960f712a8a0b902472ea3f4a2138cbf70d1777b75/rignore-0.7.6-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ced2a248352636a5c77504cb755dc02c2eef9a820a44d3f33061ce1bb8a7f2d2", size = 1169216, upload-time = "2025-11-05T20:41:23.73Z" },
+ { url = "https://files.pythonhosted.org/packages/80/e6/5b00bc2a6bc1701e6878fca798cf5d9125eb3113193e33078b6fc0d99123/rignore-0.7.6-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a04a3b73b75ddc12c9c9b21efcdaab33ca3832941d6f1d67bffd860941cd448a", size = 942942, upload-time = "2025-11-05T20:41:39.393Z" },
+ { url = "https://files.pythonhosted.org/packages/85/e5/7f99bd0cc9818a91d0e8b9acc65b792e35750e3bdccd15a7ee75e64efca4/rignore-0.7.6-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d24321efac92140b7ec910ac7c53ab0f0c86a41133d2bb4b0e6a7c94967f44dd", size = 959787, upload-time = "2025-11-05T20:42:09.765Z" },
+ { url = "https://files.pythonhosted.org/packages/55/54/2ffea79a7c1eabcede1926347ebc2a81bc6b81f447d05b52af9af14948b9/rignore-0.7.6-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:73c7aa109d41e593785c55fdaa89ad80b10330affa9f9d3e3a51fa695f739b20", size = 984245, upload-time = "2025-11-05T20:41:54.062Z" },
+ { url = "https://files.pythonhosted.org/packages/41/f7/e80f55dfe0f35787fa482aa18689b9c8251e045076c35477deb0007b3277/rignore-0.7.6-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:1734dc49d1e9501b07852ef44421f84d9f378da9fbeda729e77db71f49cac28b", size = 1078647, upload-time = "2025-11-05T21:40:13.463Z" },
+ { url = "https://files.pythonhosted.org/packages/d4/cf/2c64f0b6725149f7c6e7e5a909d14354889b4beaadddaa5fff023ec71084/rignore-0.7.6-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:5719ea14ea2b652c0c0894be5dfde954e1853a80dea27dd2fbaa749618d837f5", size = 1139186, upload-time = "2025-11-05T21:40:31.27Z" },
+ { url = "https://files.pythonhosted.org/packages/75/95/a86c84909ccc24af0d094b50d54697951e576c252a4d9f21b47b52af9598/rignore-0.7.6-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:8e23424fc7ce35726854f639cb7968151a792c0c3d9d082f7f67e0c362cfecca", size = 1117604, upload-time = "2025-11-05T21:40:48.07Z" },
+ { url = "https://files.pythonhosted.org/packages/7f/5e/13b249613fd5d18d58662490ab910a9f0be758981d1797789913adb4e918/rignore-0.7.6-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:3efdcf1dd84d45f3e2bd2f93303d9be103888f56dfa7c3349b5bf4f0657ec696", size = 1127725, upload-time = "2025-11-05T21:41:05.804Z" },
+ { url = "https://files.pythonhosted.org/packages/c7/28/fa5dcd1e2e16982c359128664e3785f202d3eca9b22dd0b2f91c4b3d242f/rignore-0.7.6-cp312-cp312-win32.whl", hash = "sha256:ccca9d1a8b5234c76b71546fc3c134533b013f40495f394a65614a81f7387046", size = 646145, upload-time = "2025-11-05T21:41:51.096Z" },
+ { url = "https://files.pythonhosted.org/packages/26/87/69387fb5dd81a0f771936381431780b8cf66fcd2cfe9495e1aaf41548931/rignore-0.7.6-cp312-cp312-win_amd64.whl", hash = "sha256:c96a285e4a8bfec0652e0bfcf42b1aabcdda1e7625f5006d188e3b1c87fdb543", size = 726090, upload-time = "2025-11-05T21:41:36.485Z" },
+ { url = "https://files.pythonhosted.org/packages/24/5f/e8418108dcda8087fb198a6f81caadbcda9fd115d61154bf0df4d6d3619b/rignore-0.7.6-cp312-cp312-win_arm64.whl", hash = "sha256:a64a750e7a8277a323f01ca50b7784a764845f6cce2fe38831cb93f0508d0051", size = 656317, upload-time = "2025-11-05T21:41:25.305Z" },
+ { url = "https://files.pythonhosted.org/packages/b7/8a/a4078f6e14932ac7edb171149c481de29969d96ddee3ece5dc4c26f9e0c3/rignore-0.7.6-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:2bdab1d31ec9b4fb1331980ee49ea051c0d7f7bb6baa28b3125ef03cdc48fdaf", size = 883057, upload-time = "2025-11-05T20:42:42.741Z" },
+ { url = "https://files.pythonhosted.org/packages/f9/8f/f8daacd177db4bf7c2223bab41e630c52711f8af9ed279be2058d2fe4982/rignore-0.7.6-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:90f0a00ce0c866c275bf888271f1dc0d2140f29b82fcf33cdbda1e1a6af01010", size = 820150, upload-time = "2025-11-05T20:42:26.545Z" },
+ { url = "https://files.pythonhosted.org/packages/36/31/b65b837e39c3f7064c426754714ac633b66b8c2290978af9d7f513e14aa9/rignore-0.7.6-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c1ad295537041dc2ed4b540fb1a3906bd9ede6ccdad3fe79770cd89e04e3c73c", size = 897406, upload-time = "2025-11-05T20:40:53.854Z" },
+ { url = "https://files.pythonhosted.org/packages/ca/58/1970ce006c427e202ac7c081435719a076c478f07b3a23f469227788dc23/rignore-0.7.6-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:f782dbd3a65a5ac85adfff69e5c6b101285ef3f845c3a3cae56a54bebf9fe116", size = 874050, upload-time = "2025-11-05T20:41:08.922Z" },
+ { url = "https://files.pythonhosted.org/packages/d4/00/eb45db9f90137329072a732273be0d383cb7d7f50ddc8e0bceea34c1dfdf/rignore-0.7.6-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:65cece3b36e5b0826d946494734c0e6aaf5a0337e18ff55b071438efe13d559e", size = 1167835, upload-time = "2025-11-05T20:41:24.997Z" },
+ { url = "https://files.pythonhosted.org/packages/f3/f1/6f1d72ddca41a64eed569680587a1236633587cc9f78136477ae69e2c88a/rignore-0.7.6-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d7e4bb66c13cd7602dc8931822c02dfbbd5252015c750ac5d6152b186f0a8be0", size = 941945, upload-time = "2025-11-05T20:41:40.628Z" },
+ { url = "https://files.pythonhosted.org/packages/48/6f/2f178af1c1a276a065f563ec1e11e7a9e23d4996fd0465516afce4b5c636/rignore-0.7.6-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:297e500c15766e196f68aaaa70e8b6db85fa23fdc075b880d8231fdfba738cd7", size = 959067, upload-time = "2025-11-05T20:42:11.09Z" },
+ { url = "https://files.pythonhosted.org/packages/5b/db/423a81c4c1e173877c7f9b5767dcaf1ab50484a94f60a0b2ed78be3fa765/rignore-0.7.6-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:a07084211a8d35e1a5b1d32b9661a5ed20669970b369df0cf77da3adea3405de", size = 984438, upload-time = "2025-11-05T20:41:55.443Z" },
+ { url = "https://files.pythonhosted.org/packages/31/eb/c4f92cc3f2825d501d3c46a244a671eb737fc1bcf7b05a3ecd34abb3e0d7/rignore-0.7.6-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:181eb2a975a22256a1441a9d2f15eb1292839ea3f05606620bd9e1938302cf79", size = 1078365, upload-time = "2025-11-05T21:40:15.148Z" },
+ { url = "https://files.pythonhosted.org/packages/26/09/99442f02794bd7441bfc8ed1c7319e890449b816a7493b2db0e30af39095/rignore-0.7.6-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:7bbcdc52b5bf9f054b34ce4af5269df5d863d9c2456243338bc193c28022bd7b", size = 1139066, upload-time = "2025-11-05T21:40:32.771Z" },
+ { url = "https://files.pythonhosted.org/packages/2c/88/bcfc21e520bba975410e9419450f4b90a2ac8236b9a80fd8130e87d098af/rignore-0.7.6-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:f2e027a6da21a7c8c0d87553c24ca5cc4364def18d146057862c23a96546238e", size = 1118036, upload-time = "2025-11-05T21:40:49.646Z" },
+ { url = "https://files.pythonhosted.org/packages/e2/25/d37215e4562cda5c13312636393aea0bafe38d54d4e0517520a4cc0753ec/rignore-0.7.6-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:ee4a18b82cbbc648e4aac1510066682fe62beb5dc88e2c67c53a83954e541360", size = 1127550, upload-time = "2025-11-05T21:41:07.648Z" },
+ { url = "https://files.pythonhosted.org/packages/dc/76/a264ab38bfa1620ec12a8ff1c07778da89e16d8c0f3450b0333020d3d6dc/rignore-0.7.6-cp313-cp313-win32.whl", hash = "sha256:a7d7148b6e5e95035d4390396895adc384d37ff4e06781a36fe573bba7c283e5", size = 646097, upload-time = "2025-11-05T21:41:53.201Z" },
+ { url = "https://files.pythonhosted.org/packages/62/44/3c31b8983c29ea8832b6082ddb1d07b90379c2d993bd20fce4487b71b4f4/rignore-0.7.6-cp313-cp313-win_amd64.whl", hash = "sha256:b037c4b15a64dced08fc12310ee844ec2284c4c5c1ca77bc37d0a04f7bff386e", size = 726170, upload-time = "2025-11-05T21:41:38.131Z" },
+ { url = "https://files.pythonhosted.org/packages/aa/41/e26a075cab83debe41a42661262f606166157df84e0e02e2d904d134c0d8/rignore-0.7.6-cp313-cp313-win_arm64.whl", hash = "sha256:e47443de9b12fe569889bdbe020abe0e0b667516ee2ab435443f6d0869bd2804", size = 656184, upload-time = "2025-11-05T21:41:27.396Z" },
+ { url = "https://files.pythonhosted.org/packages/85/12/62d690b4644c330d7ac0f739b7f078190ab4308faa909a60842d0e4af5b2/rignore-0.7.6-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:c3d3a523af1cd4ed2c0cba8d277a32d329b0c96ef9901fb7ca45c8cfaccf31a5", size = 887462, upload-time = "2025-11-05T20:42:50.804Z" },
+ { url = "https://files.pythonhosted.org/packages/05/bc/6528a0e97ed2bd7a7c329183367d1ffbc5b9762ae8348d88dae72cc9d1f5/rignore-0.7.6-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:990853566e65184a506e1e2af2d15045afad3ebaebb8859cb85b882081915110", size = 826918, upload-time = "2025-11-05T20:42:33.689Z" },
+ { url = "https://files.pythonhosted.org/packages/3e/2c/7d7bad116e09a04e9e1688c6f891fa2d4fd33f11b69ac0bd92419ddebeae/rignore-0.7.6-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1cab9ff2e436ce7240d7ee301c8ef806ed77c1fd6b8a8239ff65f9bbbcb5b8a3", size = 900922, upload-time = "2025-11-05T20:41:00.361Z" },
+ { url = "https://files.pythonhosted.org/packages/09/ba/e5ea89fbde8e37a90ce456e31c5e9d85512cef5ae38e0f4d2426eb776a19/rignore-0.7.6-pp310-pypy310_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:d1a6671b2082c13bfd9a5cf4ce64670f832a6d41470556112c4ab0b6519b2fc4", size = 876987, upload-time = "2025-11-05T20:41:16.219Z" },
+ { url = "https://files.pythonhosted.org/packages/d0/fb/93d14193f0ec0c3d35b763f0a000e9780f63b2031f3d3756442c2152622d/rignore-0.7.6-pp310-pypy310_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2468729b4c5295c199d084ab88a40afcb7c8b974276805105239c07855bbacee", size = 1171110, upload-time = "2025-11-05T20:41:32.631Z" },
+ { url = "https://files.pythonhosted.org/packages/9e/46/08436312ff96ffa29cfa4e1a987efc37e094531db46ba5e9fda9bb792afd/rignore-0.7.6-pp310-pypy310_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:775710777fd71e5fdf54df69cdc249996a1d6f447a2b5bfb86dbf033fddd9cf9", size = 943339, upload-time = "2025-11-05T20:41:47.128Z" },
+ { url = "https://files.pythonhosted.org/packages/34/28/3b3c51328f505cfaf7e53f408f78a1e955d561135d02f9cb0341ea99f69a/rignore-0.7.6-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4565407f4a77f72cf9d91469e75d15d375f755f0a01236bb8aaa176278cc7085", size = 961680, upload-time = "2025-11-05T20:42:18.061Z" },
+ { url = "https://files.pythonhosted.org/packages/5c/9e/cbff75c8676d4f4a90bd58a1581249d255c7305141b0868f0abc0324836b/rignore-0.7.6-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:dc44c33f8fb2d5c9da748de7a6e6653a78aa740655e7409895e94a247ffa97c8", size = 987045, upload-time = "2025-11-05T20:42:02.315Z" },
+ { url = "https://files.pythonhosted.org/packages/8c/25/d802d1d369502a7ddb8816059e7c79d2d913e17df975b863418e0aca4d8a/rignore-0.7.6-pp310-pypy310_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:8f32478f05540513c11923e8838afab9efef0131d66dca7f67f0e1bbd118af6a", size = 1080310, upload-time = "2025-11-05T21:40:23.184Z" },
+ { url = "https://files.pythonhosted.org/packages/43/f0/250b785c2e473b1ab763eaf2be820934c2a5409a722e94b279dddac21c7d/rignore-0.7.6-pp310-pypy310_pp73-musllinux_1_2_armv7l.whl", hash = "sha256:1b63a3dd76225ea35b01dd6596aa90b275b5d0f71d6dc28fce6dd295d98614aa", size = 1140998, upload-time = "2025-11-05T21:40:40.603Z" },
+ { url = "https://files.pythonhosted.org/packages/f5/d6/bb42fd2a8bba6aea327962656e20621fd495523259db40cfb4c5f760f05c/rignore-0.7.6-pp310-pypy310_pp73-musllinux_1_2_i686.whl", hash = "sha256:fe6c41175c36554a4ef0994cd1b4dbd6d73156fca779066456b781707402048e", size = 1121178, upload-time = "2025-11-05T21:40:57.585Z" },
+ { url = "https://files.pythonhosted.org/packages/97/f4/aeb548374129dce3dc191a4bb598c944d9ed663f467b9af830315d86059c/rignore-0.7.6-pp310-pypy310_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:9a0c6792406ae36f4e7664dc772da909451d46432ff8485774526232d4885063", size = 1130190, upload-time = "2025-11-05T21:41:16.403Z" },
+ { url = "https://files.pythonhosted.org/packages/82/78/a6250ff0c49a3cdb943910ada4116e708118e9b901c878cfae616c80a904/rignore-0.7.6-pp311-pypy311_pp73-macosx_10_12_x86_64.whl", hash = "sha256:a20b6fb61bcced9a83dfcca6599ad45182b06ba720cff7c8d891e5b78db5b65f", size = 886470, upload-time = "2025-11-05T20:42:52.314Z" },
+ { url = "https://files.pythonhosted.org/packages/35/af/c69c0c51b8f9f7914d95c4ea91c29a2ac067572048cae95dd6d2efdbe05d/rignore-0.7.6-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:392dcabfecbe176c9ebbcb40d85a5e86a5989559c4f988c2741da7daf1b5be25", size = 825976, upload-time = "2025-11-05T20:42:35.118Z" },
+ { url = "https://files.pythonhosted.org/packages/f1/d2/1b264f56132264ea609d3213ab603d6a27016b19559a1a1ede1a66a03dcd/rignore-0.7.6-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:22baa462abdc36fdd5a5e2dae423107723351b85ff093762f9261148b9d0a04a", size = 899739, upload-time = "2025-11-05T20:41:01.518Z" },
+ { url = "https://files.pythonhosted.org/packages/55/e4/b3c5dfdd8d8a10741dfe7199ef45d19a0e42d0c13aa377c83bd6caf65d90/rignore-0.7.6-pp311-pypy311_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:53fb28882d2538cb2d231972146c4927a9d9455e62b209f85d634408c4103538", size = 874843, upload-time = "2025-11-05T20:41:17.687Z" },
+ { url = "https://files.pythonhosted.org/packages/cc/10/d6f3750233881a2a154cefc9a6a0a9b19da526b19f7f08221b552c6f827d/rignore-0.7.6-pp311-pypy311_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:87409f7eeb1103d6b77f3472a3a0d9a5953e3ae804a55080bdcb0120ee43995b", size = 1170348, upload-time = "2025-11-05T20:41:34.21Z" },
+ { url = "https://files.pythonhosted.org/packages/6e/10/ad98ca05c9771c15af734cee18114a3c280914b6e34fde9ffea2e61e88aa/rignore-0.7.6-pp311-pypy311_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:684014e42e4341ab3ea23a203551857fcc03a7f8ae96ca3aefb824663f55db32", size = 942315, upload-time = "2025-11-05T20:41:48.508Z" },
+ { url = "https://files.pythonhosted.org/packages/de/00/ab5c0f872acb60d534e687e629c17e0896c62da9b389c66d3aa16b817aa8/rignore-0.7.6-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:77356ebb01ba13f8a425c3d30fcad40e57719c0e37670d022d560884a30e4767", size = 961047, upload-time = "2025-11-05T20:42:19.403Z" },
+ { url = "https://files.pythonhosted.org/packages/b8/86/3030fdc363a8f0d1cd155b4c453d6db9bab47a24fcc64d03f61d9d78fe6a/rignore-0.7.6-pp311-pypy311_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:6cbd8a48abbd3747a6c830393cd578782fab5d43f4deea48c5f5e344b8fed2b0", size = 986090, upload-time = "2025-11-05T20:42:03.581Z" },
+ { url = "https://files.pythonhosted.org/packages/33/b8/133aa4002cee0ebbb39362f94e4898eec7fbd09cec9fcbce1cd65b355b7f/rignore-0.7.6-pp311-pypy311_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:2673225dcec7f90497e79438c35e34638d0d0391ccea3cbb79bfb9adc0dc5bd7", size = 1079656, upload-time = "2025-11-05T21:40:24.89Z" },
+ { url = "https://files.pythonhosted.org/packages/67/56/36d5d34210e5e7dfcd134eed8335b19e80ae940ee758f493e4f2b344dd70/rignore-0.7.6-pp311-pypy311_pp73-musllinux_1_2_armv7l.whl", hash = "sha256:c081f17290d8a2b96052b79207622aa635686ea39d502b976836384ede3d303c", size = 1139789, upload-time = "2025-11-05T21:40:42.119Z" },
+ { url = "https://files.pythonhosted.org/packages/6b/5b/bb4f9420802bf73678033a4a55ab1bede36ce2e9b41fec5f966d83d932b3/rignore-0.7.6-pp311-pypy311_pp73-musllinux_1_2_i686.whl", hash = "sha256:57e8327aacc27f921968cb2a174f9e47b084ce9a7dd0122c8132d22358f6bd79", size = 1120308, upload-time = "2025-11-05T21:40:59.402Z" },
+ { url = "https://files.pythonhosted.org/packages/ce/8b/a1299085b28a2f6135e30370b126e3c5055b61908622f2488ade67641479/rignore-0.7.6-pp311-pypy311_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:d8955b57e42f2a5434670d5aa7b75eaf6e74602ccd8955dddf7045379cd762fb", size = 1129444, upload-time = "2025-11-05T21:41:17.906Z" },
+]
+
+[[package]]
+name = "robust-downloader"
+version = "0.0.2"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "colorlog" },
+ { name = "requests" },
+ { name = "tqdm" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/63/20/8d28efa080f58fa06f6378875ac482ee511c076369e5293a2e65128cf9a0/robust-downloader-0.0.2.tar.gz", hash = "sha256:08c938b96e317abe6b037e34230a91bda9b5d613f009bca4a47664997c61de90", size = 15785, upload-time = "2023-11-13T03:00:20.637Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/56/a1/779e9d0ebbdc704411ce30915a1105eb01aeaa9e402d7e446613ff8fb121/robust_downloader-0.0.2-py3-none-any.whl", hash = "sha256:8fe08bfb64d714fd1a048a7df6eb7b413eb4e624309a49db2c16fbb80a62869d", size = 15534, upload-time = "2023-11-13T03:00:18.957Z" },
+]
+
+[[package]]
+name = "ruff"
+version = "0.15.1"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/04/dc/4e6ac71b511b141cf626357a3946679abeba4cf67bc7cc5a17920f31e10d/ruff-0.15.1.tar.gz", hash = "sha256:c590fe13fb57c97141ae975c03a1aedb3d3156030cabd740d6ff0b0d601e203f", size = 4540855, upload-time = "2026-02-12T23:09:09.998Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/23/bf/e6e4324238c17f9d9120a9d60aa99a7daaa21204c07fcd84e2ef03bb5fd1/ruff-0.15.1-py3-none-linux_armv6l.whl", hash = "sha256:b101ed7cf4615bda6ffe65bdb59f964e9f4a0d3f85cbf0e54f0ab76d7b90228a", size = 10367819, upload-time = "2026-02-12T23:09:03.598Z" },
+ { url = "https://files.pythonhosted.org/packages/b3/ea/c8f89d32e7912269d38c58f3649e453ac32c528f93bb7f4219258be2e7ed/ruff-0.15.1-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:939c995e9277e63ea632cc8d3fae17aa758526f49a9a850d2e7e758bfef46602", size = 10798618, upload-time = "2026-02-12T23:09:22.928Z" },
+ { url = "https://files.pythonhosted.org/packages/5e/0f/1d0d88bc862624247d82c20c10d4c0f6bb2f346559d8af281674cf327f15/ruff-0.15.1-py3-none-macosx_11_0_arm64.whl", hash = "sha256:1d83466455fdefe60b8d9c8df81d3c1bbb2115cede53549d3b522ce2bc703899", size = 10148518, upload-time = "2026-02-12T23:08:58.339Z" },
+ { url = "https://files.pythonhosted.org/packages/f5/c8/291c49cefaa4a9248e986256df2ade7add79388fe179e0691be06fae6f37/ruff-0.15.1-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a9457e3c3291024866222b96108ab2d8265b477e5b1534c7ddb1810904858d16", size = 10518811, upload-time = "2026-02-12T23:09:31.865Z" },
+ { url = "https://files.pythonhosted.org/packages/c3/1a/f5707440e5ae43ffa5365cac8bbb91e9665f4a883f560893829cf16a606b/ruff-0.15.1-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:92c92b003e9d4f7fbd33b1867bb15a1b785b1735069108dfc23821ba045b29bc", size = 10196169, upload-time = "2026-02-12T23:09:17.306Z" },
+ { url = "https://files.pythonhosted.org/packages/2a/ff/26ddc8c4da04c8fd3ee65a89c9fb99eaa5c30394269d424461467be2271f/ruff-0.15.1-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1fe5c41ab43e3a06778844c586251eb5a510f67125427625f9eb2b9526535779", size = 10990491, upload-time = "2026-02-12T23:09:25.503Z" },
+ { url = "https://files.pythonhosted.org/packages/fc/00/50920cb385b89413f7cdb4bb9bc8fc59c1b0f30028d8bccc294189a54955/ruff-0.15.1-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:66a6dd6df4d80dc382c6484f8ce1bcceb55c32e9f27a8b94c32f6c7331bf14fb", size = 11843280, upload-time = "2026-02-12T23:09:19.88Z" },
+ { url = "https://files.pythonhosted.org/packages/5d/6d/2f5cad8380caf5632a15460c323ae326f1e1a2b5b90a6ee7519017a017ca/ruff-0.15.1-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:6a4a42cbb8af0bda9bcd7606b064d7c0bc311a88d141d02f78920be6acb5aa83", size = 11274336, upload-time = "2026-02-12T23:09:14.907Z" },
+ { url = "https://files.pythonhosted.org/packages/a3/1d/5f56cae1d6c40b8a318513599b35ea4b075d7dc1cd1d04449578c29d1d75/ruff-0.15.1-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4ab064052c31dddada35079901592dfba2e05f5b1e43af3954aafcbc1096a5b2", size = 11137288, upload-time = "2026-02-12T23:09:07.475Z" },
+ { url = "https://files.pythonhosted.org/packages/cd/20/6f8d7d8f768c93b0382b33b9306b3b999918816da46537d5a61635514635/ruff-0.15.1-py3-none-manylinux_2_31_riscv64.whl", hash = "sha256:5631c940fe9fe91f817a4c2ea4e81f47bee3ca4aa646134a24374f3c19ad9454", size = 11070681, upload-time = "2026-02-12T23:08:55.43Z" },
+ { url = "https://files.pythonhosted.org/packages/9a/67/d640ac76069f64cdea59dba02af2e00b1fa30e2103c7f8d049c0cff4cafd/ruff-0.15.1-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:68138a4ba184b4691ccdc39f7795c66b3c68160c586519e7e8444cf5a53e1b4c", size = 10486401, upload-time = "2026-02-12T23:09:27.927Z" },
+ { url = "https://files.pythonhosted.org/packages/65/3d/e1429f64a3ff89297497916b88c32a5cc88eeca7e9c787072d0e7f1d3e1e/ruff-0.15.1-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:518f9af03bfc33c03bdb4cb63fabc935341bb7f54af500f92ac309ecfbba6330", size = 10197452, upload-time = "2026-02-12T23:09:12.147Z" },
+ { url = "https://files.pythonhosted.org/packages/78/83/e2c3bade17dad63bf1e1c2ffaf11490603b760be149e1419b07049b36ef2/ruff-0.15.1-py3-none-musllinux_1_2_i686.whl", hash = "sha256:da79f4d6a826caaea95de0237a67e33b81e6ec2e25fc7e1993a4015dffca7c61", size = 10693900, upload-time = "2026-02-12T23:09:34.418Z" },
+ { url = "https://files.pythonhosted.org/packages/a1/27/fdc0e11a813e6338e0706e8b39bb7a1d61ea5b36873b351acee7e524a72a/ruff-0.15.1-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:3dd86dccb83cd7d4dcfac303ffc277e6048600dfc22e38158afa208e8bf94a1f", size = 11227302, upload-time = "2026-02-12T23:09:36.536Z" },
+ { url = "https://files.pythonhosted.org/packages/f6/58/ac864a75067dcbd3b95be5ab4eb2b601d7fbc3d3d736a27e391a4f92a5c1/ruff-0.15.1-py3-none-win32.whl", hash = "sha256:660975d9cb49b5d5278b12b03bb9951d554543a90b74ed5d366b20e2c57c2098", size = 10462555, upload-time = "2026-02-12T23:09:29.899Z" },
+ { url = "https://files.pythonhosted.org/packages/e0/5e/d4ccc8a27ecdb78116feac4935dfc39d1304536f4296168f91ed3ec00cd2/ruff-0.15.1-py3-none-win_amd64.whl", hash = "sha256:c820fef9dd5d4172a6570e5721704a96c6679b80cf7be41659ed439653f62336", size = 11599956, upload-time = "2026-02-12T23:09:01.157Z" },
+ { url = "https://files.pythonhosted.org/packages/2a/07/5bda6a85b220c64c65686bc85bd0bbb23b29c62b3a9f9433fa55f17cda93/ruff-0.15.1-py3-none-win_arm64.whl", hash = "sha256:5ff7d5f0f88567850f45081fac8f4ec212be8d0b963e385c3f7d0d2eb4899416", size = 10874604, upload-time = "2026-02-12T23:09:05.515Z" },
+]
+
+[[package]]
+name = "safehttpx"
+version = "0.1.7"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "httpx" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/89/d1/4282284d9cf1ee873607a46442da977fc3c985059315ab23610be31d5885/safehttpx-0.1.7.tar.gz", hash = "sha256:db201c0978c41eddb8bb480f3eee59dd67304fdd91646035e9d9a720049a9d23", size = 10385, upload-time = "2025-10-24T18:30:09.783Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/2e/a3/0f0b7d78e2f1eb9e8e1afbff1d2bff8d60144aee17aca51c065b516743dd/safehttpx-0.1.7-py3-none-any.whl", hash = "sha256:c4f4a162db6993464d7ca3d7cc4af0ffc6515a606dfd220b9f82c6945d869cde", size = 8959, upload-time = "2025-10-24T18:30:08.733Z" },
+]
+
+[[package]]
+name = "safetensors"
+version = "0.7.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/29/9c/6e74567782559a63bd040a236edca26fd71bc7ba88de2ef35d75df3bca5e/safetensors-0.7.0.tar.gz", hash = "sha256:07663963b67e8bd9f0b8ad15bb9163606cd27cc5a1b96235a50d8369803b96b0", size = 200878, upload-time = "2025-11-19T15:18:43.199Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/fa/47/aef6c06649039accf914afef490268e1067ed82be62bcfa5b7e886ad15e8/safetensors-0.7.0-cp38-abi3-macosx_10_12_x86_64.whl", hash = "sha256:c82f4d474cf725255d9e6acf17252991c3c8aac038d6ef363a4bf8be2f6db517", size = 467781, upload-time = "2025-11-19T15:18:35.84Z" },
+ { url = "https://files.pythonhosted.org/packages/e8/00/374c0c068e30cd31f1e1b46b4b5738168ec79e7689ca82ee93ddfea05109/safetensors-0.7.0-cp38-abi3-macosx_11_0_arm64.whl", hash = "sha256:94fd4858284736bb67a897a41608b5b0c2496c9bdb3bf2af1fa3409127f20d57", size = 447058, upload-time = "2025-11-19T15:18:34.416Z" },
+ { url = "https://files.pythonhosted.org/packages/f1/06/578ffed52c2296f93d7fd2d844cabfa92be51a587c38c8afbb8ae449ca89/safetensors-0.7.0-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e07d91d0c92a31200f25351f4acb2bc6aff7f48094e13ebb1d0fb995b54b6542", size = 491748, upload-time = "2025-11-19T15:18:09.79Z" },
+ { url = "https://files.pythonhosted.org/packages/ae/33/1debbbb70e4791dde185edb9413d1fe01619255abb64b300157d7f15dddd/safetensors-0.7.0-cp38-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:8469155f4cb518bafb4acf4865e8bb9d6804110d2d9bdcaa78564b9fd841e104", size = 503881, upload-time = "2025-11-19T15:18:16.145Z" },
+ { url = "https://files.pythonhosted.org/packages/8e/1c/40c2ca924d60792c3be509833df711b553c60effbd91da6f5284a83f7122/safetensors-0.7.0-cp38-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:54bef08bf00a2bff599982f6b08e8770e09cc012d7bba00783fc7ea38f1fb37d", size = 623463, upload-time = "2025-11-19T15:18:21.11Z" },
+ { url = "https://files.pythonhosted.org/packages/9b/3a/13784a9364bd43b0d61eef4bea2845039bc2030458b16594a1bd787ae26e/safetensors-0.7.0-cp38-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:42cb091236206bb2016d245c377ed383aa7f78691748f3bb6ee1bfa51ae2ce6a", size = 532855, upload-time = "2025-11-19T15:18:25.719Z" },
+ { url = "https://files.pythonhosted.org/packages/a0/60/429e9b1cb3fc651937727befe258ea24122d9663e4d5709a48c9cbfceecb/safetensors-0.7.0-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dac7252938f0696ddea46f5e855dd3138444e82236e3be475f54929f0c510d48", size = 507152, upload-time = "2025-11-19T15:18:33.023Z" },
+ { url = "https://files.pythonhosted.org/packages/3c/a8/4b45e4e059270d17af60359713ffd83f97900d45a6afa73aaa0d737d48b6/safetensors-0.7.0-cp38-abi3-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:1d060c70284127fa805085d8f10fbd0962792aed71879d00864acda69dbab981", size = 541856, upload-time = "2025-11-19T15:18:31.075Z" },
+ { url = "https://files.pythonhosted.org/packages/06/87/d26d8407c44175d8ae164a95b5a62707fcc445f3c0c56108e37d98070a3d/safetensors-0.7.0-cp38-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:cdab83a366799fa730f90a4ebb563e494f28e9e92c4819e556152ad55e43591b", size = 674060, upload-time = "2025-11-19T15:18:37.211Z" },
+ { url = "https://files.pythonhosted.org/packages/11/f5/57644a2ff08dc6325816ba7217e5095f17269dada2554b658442c66aed51/safetensors-0.7.0-cp38-abi3-musllinux_1_2_armv7l.whl", hash = "sha256:672132907fcad9f2aedcb705b2d7b3b93354a2aec1b2f706c4db852abe338f85", size = 771715, upload-time = "2025-11-19T15:18:38.689Z" },
+ { url = "https://files.pythonhosted.org/packages/86/31/17883e13a814bd278ae6e266b13282a01049b0c81341da7fd0e3e71a80a3/safetensors-0.7.0-cp38-abi3-musllinux_1_2_i686.whl", hash = "sha256:5d72abdb8a4d56d4020713724ba81dac065fedb7f3667151c4a637f1d3fb26c0", size = 714377, upload-time = "2025-11-19T15:18:40.162Z" },
+ { url = "https://files.pythonhosted.org/packages/4a/d8/0c8a7dc9b41dcac53c4cbf9df2b9c83e0e0097203de8b37a712b345c0be5/safetensors-0.7.0-cp38-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:b0f6d66c1c538d5a94a73aa9ddca8ccc4227e6c9ff555322ea40bdd142391dd4", size = 677368, upload-time = "2025-11-19T15:18:41.627Z" },
+ { url = "https://files.pythonhosted.org/packages/05/e5/cb4b713c8a93469e3c5be7c3f8d77d307e65fe89673e731f5c2bfd0a9237/safetensors-0.7.0-cp38-abi3-win32.whl", hash = "sha256:c74af94bf3ac15ac4d0f2a7c7b4663a15f8c2ab15ed0fc7531ca61d0835eccba", size = 326423, upload-time = "2025-11-19T15:18:45.74Z" },
+ { url = "https://files.pythonhosted.org/packages/5d/e6/ec8471c8072382cb91233ba7267fd931219753bb43814cbc71757bfd4dab/safetensors-0.7.0-cp38-abi3-win_amd64.whl", hash = "sha256:d1239932053f56f3456f32eb9625590cc7582e905021f94636202a864d470755", size = 341380, upload-time = "2025-11-19T15:18:44.427Z" },
+ { url = "https://files.pythonhosted.org/packages/a7/6a/4d08d89a6fcbe905c5ae68b8b34f0791850882fc19782d0d02c65abbdf3b/safetensors-0.7.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f4729811a6640d019a4b7ba8638ee2fd21fa5ca8c7e7bdf0fed62068fcaac737", size = 492430, upload-time = "2025-11-19T15:18:11.884Z" },
+ { url = "https://files.pythonhosted.org/packages/dd/29/59ed8152b30f72c42d00d241e58eaca558ae9dbfa5695206e2e0f54c7063/safetensors-0.7.0-pp310-pypy310_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:12f49080303fa6bb424b362149a12949dfbbf1e06811a88f2307276b0c131afd", size = 503977, upload-time = "2025-11-19T15:18:17.523Z" },
+ { url = "https://files.pythonhosted.org/packages/d3/0b/4811bfec67fa260e791369b16dab105e4bae82686120554cc484064e22b4/safetensors-0.7.0-pp310-pypy310_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:0071bffba4150c2f46cae1432d31995d77acfd9f8db598b5d1a2ce67e8440ad2", size = 623890, upload-time = "2025-11-19T15:18:22.666Z" },
+ { url = "https://files.pythonhosted.org/packages/58/5b/632a58724221ef03d78ab65062e82a1010e1bef8e8e0b9d7c6d7b8044841/safetensors-0.7.0-pp310-pypy310_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:473b32699f4200e69801bf5abf93f1a4ecd432a70984df164fc22ccf39c4a6f3", size = 531885, upload-time = "2025-11-19T15:18:27.146Z" },
+]
+
+[[package]]
+name = "scikit-learn"
+version = "1.7.2"
+source = { registry = "https://pypi.org/simple" }
+resolution-markers = [
+ "(python_full_version < '3.11' and platform_machine == 'aarch64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version < '3.11' and platform_machine == 'arm64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version < '3.11' and platform_machine == 'AMD64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version < '3.11' and platform_machine == 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')",
+ "python_full_version < '3.11' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version < '3.11' and platform_machine == 'arm64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "(python_full_version < '3.11' and platform_machine == 'aarch64' and sys_platform == 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version < '3.11' and platform_machine == 'arm64' and sys_platform == 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "python_full_version < '3.11' and platform_machine == 'aarch64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "(python_full_version < '3.11' and platform_machine == 'aarch64' and sys_platform != 'darwin' and sys_platform != 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version < '3.11' and platform_machine == 'arm64' and sys_platform != 'darwin' and sys_platform != 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version < '3.11' and platform_machine == 'AMD64' and sys_platform == 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version < '3.11' and platform_machine == 'x86_64' and sys_platform == 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "python_full_version < '3.11' and platform_machine == 'x86_64' and sys_platform == 'linux' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "(python_full_version < '3.11' and platform_machine == 'AMD64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version < '3.11' and platform_machine == 'x86_64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version < '3.11' and platform_machine == 'x86_64' and sys_platform != 'darwin' and sys_platform != 'linux' and sys_platform != 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version < '3.11' and platform_machine == 'AMD64' and sys_platform != 'darwin' and sys_platform != 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version < '3.11' and platform_machine == 'AMD64' and sys_platform == 'linux' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "python_full_version < '3.11' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version < '3.11' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "(python_full_version < '3.11' and platform_machine == 'aarch64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version < '3.11' and platform_machine == 'arm64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version < '3.11' and platform_machine == 'aarch64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version < '3.11' and platform_machine == 'arm64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version < '3.11' and platform_machine == 'AMD64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version < '3.11' and platform_machine == 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "python_full_version < '3.11' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "(python_full_version < '3.11' and platform_machine == 'aarch64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version < '3.11' and platform_machine == 'arm64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version < '3.11' and platform_machine == 'aarch64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version < '3.11' and platform_machine == 'arm64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version < '3.11' and platform_machine == 'AMD64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version < '3.11' and platform_machine == 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "python_full_version < '3.11' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "(python_full_version < '3.11' and platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version < '3.11' and platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version < '3.11' and platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version < '3.11' and platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "python_full_version < '3.11' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version < '3.11' and platform_machine == 'aarch64' and sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "(python_full_version < '3.11' and platform_machine == 'aarch64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version < '3.11' and platform_machine == 'arm64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version < '3.11' and platform_machine == 'aarch64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version < '3.11' and platform_machine == 'arm64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version < '3.11' and platform_machine == 'AMD64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version < '3.11' and platform_machine == 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "python_full_version < '3.11' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+]
+dependencies = [
+ { name = "joblib", marker = "python_full_version < '3.11' or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11' or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "scipy", version = "1.15.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11' or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "threadpoolctl", marker = "python_full_version < '3.11' or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/98/c2/a7855e41c9d285dfe86dc50b250978105dce513d6e459ea66a6aeb0e1e0c/scikit_learn-1.7.2.tar.gz", hash = "sha256:20e9e49ecd130598f1ca38a1d85090e1a600147b9c02fa6f15d69cb53d968fda", size = 7193136, upload-time = "2025-09-09T08:21:29.075Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/ba/3e/daed796fd69cce768b8788401cc464ea90b306fb196ae1ffed0b98182859/scikit_learn-1.7.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:6b33579c10a3081d076ab403df4a4190da4f4432d443521674637677dc91e61f", size = 9336221, upload-time = "2025-09-09T08:20:19.328Z" },
+ { url = "https://files.pythonhosted.org/packages/1c/ce/af9d99533b24c55ff4e18d9b7b4d9919bbc6cd8f22fe7a7be01519a347d5/scikit_learn-1.7.2-cp310-cp310-macosx_12_0_arm64.whl", hash = "sha256:36749fb62b3d961b1ce4fedf08fa57a1986cd409eff2d783bca5d4b9b5fce51c", size = 8653834, upload-time = "2025-09-09T08:20:22.073Z" },
+ { url = "https://files.pythonhosted.org/packages/58/0e/8c2a03d518fb6bd0b6b0d4b114c63d5f1db01ff0f9925d8eb10960d01c01/scikit_learn-1.7.2-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:7a58814265dfc52b3295b1900cfb5701589d30a8bb026c7540f1e9d3499d5ec8", size = 9660938, upload-time = "2025-09-09T08:20:24.327Z" },
+ { url = "https://files.pythonhosted.org/packages/2b/75/4311605069b5d220e7cf5adabb38535bd96f0079313cdbb04b291479b22a/scikit_learn-1.7.2-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:4a847fea807e278f821a0406ca01e387f97653e284ecbd9750e3ee7c90347f18", size = 9477818, upload-time = "2025-09-09T08:20:26.845Z" },
+ { url = "https://files.pythonhosted.org/packages/7f/9b/87961813c34adbca21a6b3f6b2bea344c43b30217a6d24cc437c6147f3e8/scikit_learn-1.7.2-cp310-cp310-win_amd64.whl", hash = "sha256:ca250e6836d10e6f402436d6463d6c0e4d8e0234cfb6a9a47835bd392b852ce5", size = 8886969, upload-time = "2025-09-09T08:20:29.329Z" },
+ { url = "https://files.pythonhosted.org/packages/43/83/564e141eef908a5863a54da8ca342a137f45a0bfb71d1d79704c9894c9d1/scikit_learn-1.7.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:c7509693451651cd7361d30ce4e86a1347493554f172b1c72a39300fa2aea79e", size = 9331967, upload-time = "2025-09-09T08:20:32.421Z" },
+ { url = "https://files.pythonhosted.org/packages/18/d6/ba863a4171ac9d7314c4d3fc251f015704a2caeee41ced89f321c049ed83/scikit_learn-1.7.2-cp311-cp311-macosx_12_0_arm64.whl", hash = "sha256:0486c8f827c2e7b64837c731c8feff72c0bd2b998067a8a9cbc10643c31f0fe1", size = 8648645, upload-time = "2025-09-09T08:20:34.436Z" },
+ { url = "https://files.pythonhosted.org/packages/ef/0e/97dbca66347b8cf0ea8b529e6bb9367e337ba2e8be0ef5c1a545232abfde/scikit_learn-1.7.2-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:89877e19a80c7b11a2891a27c21c4894fb18e2c2e077815bcade10d34287b20d", size = 9715424, upload-time = "2025-09-09T08:20:36.776Z" },
+ { url = "https://files.pythonhosted.org/packages/f7/32/1f3b22e3207e1d2c883a7e09abb956362e7d1bd2f14458c7de258a26ac15/scikit_learn-1.7.2-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:8da8bf89d4d79aaec192d2bda62f9b56ae4e5b4ef93b6a56b5de4977e375c1f1", size = 9509234, upload-time = "2025-09-09T08:20:38.957Z" },
+ { url = "https://files.pythonhosted.org/packages/9f/71/34ddbd21f1da67c7a768146968b4d0220ee6831e4bcbad3e03dd3eae88b6/scikit_learn-1.7.2-cp311-cp311-win_amd64.whl", hash = "sha256:9b7ed8d58725030568523e937c43e56bc01cadb478fc43c042a9aca1dacb3ba1", size = 8894244, upload-time = "2025-09-09T08:20:41.166Z" },
+ { url = "https://files.pythonhosted.org/packages/a7/aa/3996e2196075689afb9fce0410ebdb4a09099d7964d061d7213700204409/scikit_learn-1.7.2-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:8d91a97fa2b706943822398ab943cde71858a50245e31bc71dba62aab1d60a96", size = 9259818, upload-time = "2025-09-09T08:20:43.19Z" },
+ { url = "https://files.pythonhosted.org/packages/43/5d/779320063e88af9c4a7c2cf463ff11c21ac9c8bd730c4a294b0000b666c9/scikit_learn-1.7.2-cp312-cp312-macosx_12_0_arm64.whl", hash = "sha256:acbc0f5fd2edd3432a22c69bed78e837c70cf896cd7993d71d51ba6708507476", size = 8636997, upload-time = "2025-09-09T08:20:45.468Z" },
+ { url = "https://files.pythonhosted.org/packages/5c/d0/0c577d9325b05594fdd33aa970bf53fb673f051a45496842caee13cfd7fe/scikit_learn-1.7.2-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:e5bf3d930aee75a65478df91ac1225ff89cd28e9ac7bd1196853a9229b6adb0b", size = 9478381, upload-time = "2025-09-09T08:20:47.982Z" },
+ { url = "https://files.pythonhosted.org/packages/82/70/8bf44b933837ba8494ca0fc9a9ab60f1c13b062ad0197f60a56e2fc4c43e/scikit_learn-1.7.2-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:b4d6e9deed1a47aca9fe2f267ab8e8fe82ee20b4526b2c0cd9e135cea10feb44", size = 9300296, upload-time = "2025-09-09T08:20:50.366Z" },
+ { url = "https://files.pythonhosted.org/packages/c6/99/ed35197a158f1fdc2fe7c3680e9c70d0128f662e1fee4ed495f4b5e13db0/scikit_learn-1.7.2-cp312-cp312-win_amd64.whl", hash = "sha256:6088aa475f0785e01bcf8529f55280a3d7d298679f50c0bb70a2364a82d0b290", size = 8731256, upload-time = "2025-09-09T08:20:52.627Z" },
+ { url = "https://files.pythonhosted.org/packages/ae/93/a3038cb0293037fd335f77f31fe053b89c72f17b1c8908c576c29d953e84/scikit_learn-1.7.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:0b7dacaa05e5d76759fb071558a8b5130f4845166d88654a0f9bdf3eb57851b7", size = 9212382, upload-time = "2025-09-09T08:20:54.731Z" },
+ { url = "https://files.pythonhosted.org/packages/40/dd/9a88879b0c1104259136146e4742026b52df8540c39fec21a6383f8292c7/scikit_learn-1.7.2-cp313-cp313-macosx_12_0_arm64.whl", hash = "sha256:abebbd61ad9e1deed54cca45caea8ad5f79e1b93173dece40bb8e0c658dbe6fe", size = 8592042, upload-time = "2025-09-09T08:20:57.313Z" },
+ { url = "https://files.pythonhosted.org/packages/46/af/c5e286471b7d10871b811b72ae794ac5fe2989c0a2df07f0ec723030f5f5/scikit_learn-1.7.2-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:502c18e39849c0ea1a5d681af1dbcf15f6cce601aebb657aabbfe84133c1907f", size = 9434180, upload-time = "2025-09-09T08:20:59.671Z" },
+ { url = "https://files.pythonhosted.org/packages/f1/fd/df59faa53312d585023b2da27e866524ffb8faf87a68516c23896c718320/scikit_learn-1.7.2-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:7a4c328a71785382fe3fe676a9ecf2c86189249beff90bf85e22bdb7efaf9ae0", size = 9283660, upload-time = "2025-09-09T08:21:01.71Z" },
+ { url = "https://files.pythonhosted.org/packages/a7/c7/03000262759d7b6f38c836ff9d512f438a70d8a8ddae68ee80de72dcfb63/scikit_learn-1.7.2-cp313-cp313-win_amd64.whl", hash = "sha256:63a9afd6f7b229aad94618c01c252ce9e6fa97918c5ca19c9a17a087d819440c", size = 8702057, upload-time = "2025-09-09T08:21:04.234Z" },
+ { url = "https://files.pythonhosted.org/packages/55/87/ef5eb1f267084532c8e4aef98a28b6ffe7425acbfd64b5e2f2e066bc29b3/scikit_learn-1.7.2-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:9acb6c5e867447b4e1390930e3944a005e2cb115922e693c08a323421a6966e8", size = 9558731, upload-time = "2025-09-09T08:21:06.381Z" },
+ { url = "https://files.pythonhosted.org/packages/93/f8/6c1e3fc14b10118068d7938878a9f3f4e6d7b74a8ddb1e5bed65159ccda8/scikit_learn-1.7.2-cp313-cp313t-macosx_12_0_arm64.whl", hash = "sha256:2a41e2a0ef45063e654152ec9d8bcfc39f7afce35b08902bfe290c2498a67a6a", size = 9038852, upload-time = "2025-09-09T08:21:08.628Z" },
+ { url = "https://files.pythonhosted.org/packages/83/87/066cafc896ee540c34becf95d30375fe5cbe93c3b75a0ee9aa852cd60021/scikit_learn-1.7.2-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:98335fb98509b73385b3ab2bd0639b1f610541d3988ee675c670371d6a87aa7c", size = 9527094, upload-time = "2025-09-09T08:21:11.486Z" },
+ { url = "https://files.pythonhosted.org/packages/9c/2b/4903e1ccafa1f6453b1ab78413938c8800633988c838aa0be386cbb33072/scikit_learn-1.7.2-cp313-cp313t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:191e5550980d45449126e23ed1d5e9e24b2c68329ee1f691a3987476e115e09c", size = 9367436, upload-time = "2025-09-09T08:21:13.602Z" },
+ { url = "https://files.pythonhosted.org/packages/b5/aa/8444be3cfb10451617ff9d177b3c190288f4563e6c50ff02728be67ad094/scikit_learn-1.7.2-cp313-cp313t-win_amd64.whl", hash = "sha256:57dc4deb1d3762c75d685507fbd0bc17160144b2f2ba4ccea5dc285ab0d0e973", size = 9275749, upload-time = "2025-09-09T08:21:15.96Z" },
+]
+
+[[package]]
+name = "scikit-learn"
+version = "1.8.0"
+source = { registry = "https://pypi.org/simple" }
+resolution-markers = [
+ "(python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version >= '3.13' and platform_machine == 'arm64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version >= '3.13' and platform_machine == 'arm64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.12.*' and platform_machine == 'aarch64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.12.*' and platform_machine == 'arm64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.11.*' and platform_machine == 'aarch64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.11.*' and platform_machine == 'arm64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version >= '3.13' and platform_machine == 'AMD64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version >= '3.13' and platform_machine == 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.12.*' and platform_machine == 'AMD64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.12.*' and platform_machine == 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.11.*' and platform_machine == 'AMD64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.11.*' and platform_machine == 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')",
+ "python_full_version >= '3.13' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version == '3.12.*' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version == '3.11.*' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version >= '3.13' and platform_machine == 'arm64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version == '3.12.*' and platform_machine == 'arm64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version == '3.11.*' and platform_machine == 'arm64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "(python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform == 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version >= '3.13' and platform_machine == 'arm64' and sys_platform == 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.12.*' and platform_machine == 'aarch64' and sys_platform == 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.12.*' and platform_machine == 'arm64' and sys_platform == 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform == 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.11.*' and platform_machine == 'arm64' and sys_platform == 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version == '3.12.*' and platform_machine == 'aarch64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "(python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform != 'darwin' and sys_platform != 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version >= '3.13' and platform_machine == 'arm64' and sys_platform != 'darwin' and sys_platform != 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.12.*' and platform_machine == 'aarch64' and sys_platform != 'darwin' and sys_platform != 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.12.*' and platform_machine == 'arm64' and sys_platform != 'darwin' and sys_platform != 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform != 'darwin' and sys_platform != 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.11.*' and platform_machine == 'arm64' and sys_platform != 'darwin' and sys_platform != 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version >= '3.13' and platform_machine == 'AMD64' and sys_platform == 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version >= '3.13' and platform_machine == 'x86_64' and sys_platform == 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.12.*' and platform_machine == 'AMD64' and sys_platform == 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.12.*' and platform_machine == 'x86_64' and sys_platform == 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.11.*' and platform_machine == 'AMD64' and sys_platform == 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.11.*' and platform_machine == 'x86_64' and sys_platform == 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "python_full_version >= '3.13' and platform_machine == 'x86_64' and sys_platform == 'linux' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version == '3.12.*' and platform_machine == 'x86_64' and sys_platform == 'linux' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version == '3.11.*' and platform_machine == 'x86_64' and sys_platform == 'linux' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "(python_full_version >= '3.13' and platform_machine == 'AMD64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version >= '3.13' and platform_machine == 'x86_64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.12.*' and platform_machine == 'AMD64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.12.*' and platform_machine == 'x86_64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.11.*' and platform_machine == 'AMD64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.11.*' and platform_machine == 'x86_64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version >= '3.13' and platform_machine == 'x86_64' and sys_platform != 'darwin' and sys_platform != 'linux' and sys_platform != 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version >= '3.13' and platform_machine == 'AMD64' and sys_platform != 'darwin' and sys_platform != 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version >= '3.13' and platform_machine == 'AMD64' and sys_platform == 'linux' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.12.*' and platform_machine == 'x86_64' and sys_platform != 'darwin' and sys_platform != 'linux' and sys_platform != 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.12.*' and platform_machine == 'AMD64' and sys_platform != 'darwin' and sys_platform != 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.12.*' and platform_machine == 'AMD64' and sys_platform == 'linux' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.11.*' and platform_machine == 'x86_64' and sys_platform != 'darwin' and sys_platform != 'linux' and sys_platform != 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.11.*' and platform_machine == 'AMD64' and sys_platform != 'darwin' and sys_platform != 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.11.*' and platform_machine == 'AMD64' and sys_platform == 'linux' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "python_full_version >= '3.13' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version == '3.12.*' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version == '3.11.*' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version >= '3.13' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version == '3.12.*' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version == '3.11.*' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "(python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version >= '3.13' and platform_machine == 'arm64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.12.*' and platform_machine == 'aarch64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.12.*' and platform_machine == 'arm64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version >= '3.13' and platform_machine == 'arm64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.12.*' and platform_machine == 'aarch64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.12.*' and platform_machine == 'arm64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.11.*' and platform_machine == 'arm64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.11.*' and platform_machine == 'arm64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version >= '3.13' and platform_machine == 'AMD64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version >= '3.13' and platform_machine == 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.12.*' and platform_machine == 'AMD64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.12.*' and platform_machine == 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.11.*' and platform_machine == 'AMD64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.11.*' and platform_machine == 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "python_full_version >= '3.13' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version == '3.12.*' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version == '3.11.*' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "(python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version >= '3.13' and platform_machine == 'arm64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.12.*' and platform_machine == 'aarch64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.12.*' and platform_machine == 'arm64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version >= '3.13' and platform_machine == 'arm64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.12.*' and platform_machine == 'aarch64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.12.*' and platform_machine == 'arm64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.11.*' and platform_machine == 'arm64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.11.*' and platform_machine == 'arm64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version >= '3.13' and platform_machine == 'AMD64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version >= '3.13' and platform_machine == 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.12.*' and platform_machine == 'AMD64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.12.*' and platform_machine == 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.11.*' and platform_machine == 'AMD64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.11.*' and platform_machine == 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "python_full_version >= '3.13' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version == '3.12.*' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version == '3.11.*' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "(python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version >= '3.13' and platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.12.*' and platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.12.*' and platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.11.*' and platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version >= '3.13' and platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version >= '3.13' and platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.12.*' and platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.12.*' and platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.11.*' and platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.11.*' and platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "python_full_version >= '3.13' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version == '3.12.*' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version == '3.11.*' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version == '3.12.*' and platform_machine == 'aarch64' and sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "(python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version >= '3.13' and platform_machine == 'arm64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version >= '3.13' and platform_machine == 'arm64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.12.*' and platform_machine == 'aarch64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.12.*' and platform_machine == 'arm64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.11.*' and platform_machine == 'arm64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.12.*' and platform_machine == 'aarch64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.12.*' and platform_machine == 'arm64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.11.*' and platform_machine == 'arm64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version >= '3.13' and platform_machine == 'AMD64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version >= '3.13' and platform_machine == 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.12.*' and platform_machine == 'AMD64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.12.*' and platform_machine == 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.11.*' and platform_machine == 'AMD64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.11.*' and platform_machine == 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "python_full_version >= '3.13' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version == '3.12.*' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version == '3.11.*' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+]
+dependencies = [
+ { name = "joblib", marker = "python_full_version >= '3.11' or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "numpy", version = "2.3.5", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11' or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "scipy", version = "1.17.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11' or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "threadpoolctl", marker = "python_full_version >= '3.11' or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/0e/d4/40988bf3b8e34feec1d0e6a051446b1f66225f8529b9309becaeef62b6c4/scikit_learn-1.8.0.tar.gz", hash = "sha256:9bccbb3b40e3de10351f8f5068e105d0f4083b1a65fa07b6634fbc401a6287fd", size = 7335585, upload-time = "2025-12-10T07:08:53.618Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/c9/92/53ea2181da8ac6bf27170191028aee7251f8f841f8d3edbfdcaf2008fde9/scikit_learn-1.8.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:146b4d36f800c013d267b29168813f7a03a43ecd2895d04861f1240b564421da", size = 8595835, upload-time = "2025-12-10T07:07:39.385Z" },
+ { url = "https://files.pythonhosted.org/packages/01/18/d154dc1638803adf987910cdd07097d9c526663a55666a97c124d09fb96a/scikit_learn-1.8.0-cp311-cp311-macosx_12_0_arm64.whl", hash = "sha256:f984ca4b14914e6b4094c5d52a32ea16b49832c03bd17a110f004db3c223e8e1", size = 8080381, upload-time = "2025-12-10T07:07:41.93Z" },
+ { url = "https://files.pythonhosted.org/packages/8a/44/226142fcb7b7101e64fdee5f49dbe6288d4c7af8abf593237b70fca080a4/scikit_learn-1.8.0-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:5e30adb87f0cc81c7690a84f7932dd66be5bac57cfe16b91cb9151683a4a2d3b", size = 8799632, upload-time = "2025-12-10T07:07:43.899Z" },
+ { url = "https://files.pythonhosted.org/packages/36/4d/4a67f30778a45d542bbea5db2dbfa1e9e100bf9ba64aefe34215ba9f11f6/scikit_learn-1.8.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:ada8121bcb4dac28d930febc791a69f7cb1673c8495e5eee274190b73a4559c1", size = 9103788, upload-time = "2025-12-10T07:07:45.982Z" },
+ { url = "https://files.pythonhosted.org/packages/89/3c/45c352094cfa60050bcbb967b1faf246b22e93cb459f2f907b600f2ceda5/scikit_learn-1.8.0-cp311-cp311-win_amd64.whl", hash = "sha256:c57b1b610bd1f40ba43970e11ce62821c2e6569e4d74023db19c6b26f246cb3b", size = 8081706, upload-time = "2025-12-10T07:07:48.111Z" },
+ { url = "https://files.pythonhosted.org/packages/3d/46/5416595bb395757f754feb20c3d776553a386b661658fb21b7c814e89efe/scikit_learn-1.8.0-cp311-cp311-win_arm64.whl", hash = "sha256:2838551e011a64e3053ad7618dda9310175f7515f1742fa2d756f7c874c05961", size = 7688451, upload-time = "2025-12-10T07:07:49.873Z" },
+ { url = "https://files.pythonhosted.org/packages/90/74/e6a7cc4b820e95cc38cf36cd74d5aa2b42e8ffc2d21fe5a9a9c45c1c7630/scikit_learn-1.8.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:5fb63362b5a7ddab88e52b6dbb47dac3fd7dafeee740dc6c8d8a446ddedade8e", size = 8548242, upload-time = "2025-12-10T07:07:51.568Z" },
+ { url = "https://files.pythonhosted.org/packages/49/d8/9be608c6024d021041c7f0b3928d4749a706f4e2c3832bbede4fb4f58c95/scikit_learn-1.8.0-cp312-cp312-macosx_12_0_arm64.whl", hash = "sha256:5025ce924beccb28298246e589c691fe1b8c1c96507e6d27d12c5fadd85bfd76", size = 8079075, upload-time = "2025-12-10T07:07:53.697Z" },
+ { url = "https://files.pythonhosted.org/packages/dd/47/f187b4636ff80cc63f21cd40b7b2d177134acaa10f6bb73746130ee8c2e5/scikit_learn-1.8.0-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:4496bb2cf7a43ce1a2d7524a79e40bc5da45cf598dbf9545b7e8316ccba47bb4", size = 8660492, upload-time = "2025-12-10T07:07:55.574Z" },
+ { url = "https://files.pythonhosted.org/packages/97/74/b7a304feb2b49df9fafa9382d4d09061a96ee9a9449a7cbea7988dda0828/scikit_learn-1.8.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:a0bcfe4d0d14aec44921545fd2af2338c7471de9cb701f1da4c9d85906ab847a", size = 8931904, upload-time = "2025-12-10T07:07:57.666Z" },
+ { url = "https://files.pythonhosted.org/packages/9f/c4/0ab22726a04ede56f689476b760f98f8f46607caecff993017ac1b64aa5d/scikit_learn-1.8.0-cp312-cp312-win_amd64.whl", hash = "sha256:35c007dedb2ffe38fe3ee7d201ebac4a2deccd2408e8621d53067733e3c74809", size = 8019359, upload-time = "2025-12-10T07:07:59.838Z" },
+ { url = "https://files.pythonhosted.org/packages/24/90/344a67811cfd561d7335c1b96ca21455e7e472d281c3c279c4d3f2300236/scikit_learn-1.8.0-cp312-cp312-win_arm64.whl", hash = "sha256:8c497fff237d7b4e07e9ef1a640887fa4fb765647f86fbe00f969ff6280ce2bb", size = 7641898, upload-time = "2025-12-10T07:08:01.36Z" },
+ { url = "https://files.pythonhosted.org/packages/03/aa/e22e0768512ce9255eba34775be2e85c2048da73da1193e841707f8f039c/scikit_learn-1.8.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:0d6ae97234d5d7079dc0040990a6f7aeb97cb7fa7e8945f1999a429b23569e0a", size = 8513770, upload-time = "2025-12-10T07:08:03.251Z" },
+ { url = "https://files.pythonhosted.org/packages/58/37/31b83b2594105f61a381fc74ca19e8780ee923be2d496fcd8d2e1147bd99/scikit_learn-1.8.0-cp313-cp313-macosx_12_0_arm64.whl", hash = "sha256:edec98c5e7c128328124a029bceb09eda2d526997780fef8d65e9a69eead963e", size = 8044458, upload-time = "2025-12-10T07:08:05.336Z" },
+ { url = "https://files.pythonhosted.org/packages/2d/5a/3f1caed8765f33eabb723596666da4ebbf43d11e96550fb18bdec42b467b/scikit_learn-1.8.0-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:74b66d8689d52ed04c271e1329f0c61635bcaf5b926db9b12d58914cdc01fe57", size = 8610341, upload-time = "2025-12-10T07:08:07.732Z" },
+ { url = "https://files.pythonhosted.org/packages/38/cf/06896db3f71c75902a8e9943b444a56e727418f6b4b4a90c98c934f51ed4/scikit_learn-1.8.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:8fdf95767f989b0cfedb85f7ed8ca215d4be728031f56ff5a519ee1e3276dc2e", size = 8900022, upload-time = "2025-12-10T07:08:09.862Z" },
+ { url = "https://files.pythonhosted.org/packages/1c/f9/9b7563caf3ec8873e17a31401858efab6b39a882daf6c1bfa88879c0aa11/scikit_learn-1.8.0-cp313-cp313-win_amd64.whl", hash = "sha256:2de443b9373b3b615aec1bb57f9baa6bb3a9bd093f1269ba95c17d870422b271", size = 7989409, upload-time = "2025-12-10T07:08:12.028Z" },
+ { url = "https://files.pythonhosted.org/packages/49/bd/1f4001503650e72c4f6009ac0c4413cb17d2d601cef6f71c0453da2732fc/scikit_learn-1.8.0-cp313-cp313-win_arm64.whl", hash = "sha256:eddde82a035681427cbedded4e6eff5e57fa59216c2e3e90b10b19ab1d0a65c3", size = 7619760, upload-time = "2025-12-10T07:08:13.688Z" },
+ { url = "https://files.pythonhosted.org/packages/d2/7d/a630359fc9dcc95496588c8d8e3245cc8fd81980251079bc09c70d41d951/scikit_learn-1.8.0-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:7cc267b6108f0a1499a734167282c00c4ebf61328566b55ef262d48e9849c735", size = 8826045, upload-time = "2025-12-10T07:08:15.215Z" },
+ { url = "https://files.pythonhosted.org/packages/cc/56/a0c86f6930cfcd1c7054a2bc417e26960bb88d32444fe7f71d5c2cfae891/scikit_learn-1.8.0-cp313-cp313t-macosx_12_0_arm64.whl", hash = "sha256:fe1c011a640a9f0791146011dfd3c7d9669785f9fed2b2a5f9e207536cf5c2fd", size = 8420324, upload-time = "2025-12-10T07:08:17.561Z" },
+ { url = "https://files.pythonhosted.org/packages/46/1e/05962ea1cebc1cf3876667ecb14c283ef755bf409993c5946ade3b77e303/scikit_learn-1.8.0-cp313-cp313t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:72358cce49465d140cc4e7792015bb1f0296a9742d5622c67e31399b75468b9e", size = 8680651, upload-time = "2025-12-10T07:08:19.952Z" },
+ { url = "https://files.pythonhosted.org/packages/fe/56/a85473cd75f200c9759e3a5f0bcab2d116c92a8a02ee08ccd73b870f8bb4/scikit_learn-1.8.0-cp313-cp313t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:80832434a6cc114f5219211eec13dcbc16c2bac0e31ef64c6d346cde3cf054cb", size = 8925045, upload-time = "2025-12-10T07:08:22.11Z" },
+ { url = "https://files.pythonhosted.org/packages/cc/b7/64d8cfa896c64435ae57f4917a548d7ac7a44762ff9802f75a79b77cb633/scikit_learn-1.8.0-cp313-cp313t-win_amd64.whl", hash = "sha256:ee787491dbfe082d9c3013f01f5991658b0f38aa8177e4cd4bf434c58f551702", size = 8507994, upload-time = "2025-12-10T07:08:23.943Z" },
+ { url = "https://files.pythonhosted.org/packages/5e/37/e192ea709551799379958b4c4771ec507347027bb7c942662c7fbeba31cb/scikit_learn-1.8.0-cp313-cp313t-win_arm64.whl", hash = "sha256:bf97c10a3f5a7543f9b88cbf488d33d175e9146115a451ae34568597ba33dcde", size = 7869518, upload-time = "2025-12-10T07:08:25.71Z" },
+]
+
+[[package]]
+name = "scipy"
+version = "1.15.3"
+source = { registry = "https://pypi.org/simple" }
+resolution-markers = [
+ "(python_full_version < '3.11' and platform_machine == 'aarch64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version < '3.11' and platform_machine == 'arm64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version < '3.11' and platform_machine == 'AMD64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version < '3.11' and platform_machine == 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')",
+ "python_full_version < '3.11' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version < '3.11' and platform_machine == 'arm64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "(python_full_version < '3.11' and platform_machine == 'aarch64' and sys_platform == 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version < '3.11' and platform_machine == 'arm64' and sys_platform == 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "python_full_version < '3.11' and platform_machine == 'aarch64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "(python_full_version < '3.11' and platform_machine == 'aarch64' and sys_platform != 'darwin' and sys_platform != 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version < '3.11' and platform_machine == 'arm64' and sys_platform != 'darwin' and sys_platform != 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version < '3.11' and platform_machine == 'AMD64' and sys_platform == 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version < '3.11' and platform_machine == 'x86_64' and sys_platform == 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "python_full_version < '3.11' and platform_machine == 'x86_64' and sys_platform == 'linux' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "(python_full_version < '3.11' and platform_machine == 'AMD64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version < '3.11' and platform_machine == 'x86_64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version < '3.11' and platform_machine == 'x86_64' and sys_platform != 'darwin' and sys_platform != 'linux' and sys_platform != 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version < '3.11' and platform_machine == 'AMD64' and sys_platform != 'darwin' and sys_platform != 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version < '3.11' and platform_machine == 'AMD64' and sys_platform == 'linux' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "python_full_version < '3.11' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version < '3.11' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "(python_full_version < '3.11' and platform_machine == 'aarch64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version < '3.11' and platform_machine == 'arm64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version < '3.11' and platform_machine == 'aarch64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version < '3.11' and platform_machine == 'arm64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version < '3.11' and platform_machine == 'AMD64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version < '3.11' and platform_machine == 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "python_full_version < '3.11' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "(python_full_version < '3.11' and platform_machine == 'aarch64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version < '3.11' and platform_machine == 'arm64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version < '3.11' and platform_machine == 'aarch64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version < '3.11' and platform_machine == 'arm64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version < '3.11' and platform_machine == 'AMD64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version < '3.11' and platform_machine == 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "python_full_version < '3.11' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "(python_full_version < '3.11' and platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version < '3.11' and platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version < '3.11' and platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version < '3.11' and platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "python_full_version < '3.11' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version < '3.11' and platform_machine == 'aarch64' and sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "(python_full_version < '3.11' and platform_machine == 'aarch64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version < '3.11' and platform_machine == 'arm64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version < '3.11' and platform_machine == 'aarch64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version < '3.11' and platform_machine == 'arm64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version < '3.11' and platform_machine == 'AMD64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version < '3.11' and platform_machine == 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "python_full_version < '3.11' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+]
+dependencies = [
+ { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11' or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/0f/37/6964b830433e654ec7485e45a00fc9a27cf868d622838f6b6d9c5ec0d532/scipy-1.15.3.tar.gz", hash = "sha256:eae3cf522bc7df64b42cad3925c876e1b0b6c35c1337c93e12c0f366f55b0eaf", size = 59419214, upload-time = "2025-05-08T16:13:05.955Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/78/2f/4966032c5f8cc7e6a60f1b2e0ad686293b9474b65246b0c642e3ef3badd0/scipy-1.15.3-cp310-cp310-macosx_10_13_x86_64.whl", hash = "sha256:a345928c86d535060c9c2b25e71e87c39ab2f22fc96e9636bd74d1dbf9de448c", size = 38702770, upload-time = "2025-05-08T16:04:20.849Z" },
+ { url = "https://files.pythonhosted.org/packages/a0/6e/0c3bf90fae0e910c274db43304ebe25a6b391327f3f10b5dcc638c090795/scipy-1.15.3-cp310-cp310-macosx_12_0_arm64.whl", hash = "sha256:ad3432cb0f9ed87477a8d97f03b763fd1d57709f1bbde3c9369b1dff5503b253", size = 30094511, upload-time = "2025-05-08T16:04:27.103Z" },
+ { url = "https://files.pythonhosted.org/packages/ea/b1/4deb37252311c1acff7f101f6453f0440794f51b6eacb1aad4459a134081/scipy-1.15.3-cp310-cp310-macosx_14_0_arm64.whl", hash = "sha256:aef683a9ae6eb00728a542b796f52a5477b78252edede72b8327a886ab63293f", size = 22368151, upload-time = "2025-05-08T16:04:31.731Z" },
+ { url = "https://files.pythonhosted.org/packages/38/7d/f457626e3cd3c29b3a49ca115a304cebb8cc6f31b04678f03b216899d3c6/scipy-1.15.3-cp310-cp310-macosx_14_0_x86_64.whl", hash = "sha256:1c832e1bd78dea67d5c16f786681b28dd695a8cb1fb90af2e27580d3d0967e92", size = 25121732, upload-time = "2025-05-08T16:04:36.596Z" },
+ { url = "https://files.pythonhosted.org/packages/db/0a/92b1de4a7adc7a15dcf5bddc6e191f6f29ee663b30511ce20467ef9b82e4/scipy-1.15.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:263961f658ce2165bbd7b99fa5135195c3a12d9bef045345016b8b50c315cb82", size = 35547617, upload-time = "2025-05-08T16:04:43.546Z" },
+ { url = "https://files.pythonhosted.org/packages/8e/6d/41991e503e51fc1134502694c5fa7a1671501a17ffa12716a4a9151af3df/scipy-1.15.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9e2abc762b0811e09a0d3258abee2d98e0c703eee49464ce0069590846f31d40", size = 37662964, upload-time = "2025-05-08T16:04:49.431Z" },
+ { url = "https://files.pythonhosted.org/packages/25/e1/3df8f83cb15f3500478c889be8fb18700813b95e9e087328230b98d547ff/scipy-1.15.3-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:ed7284b21a7a0c8f1b6e5977ac05396c0d008b89e05498c8b7e8f4a1423bba0e", size = 37238749, upload-time = "2025-05-08T16:04:55.215Z" },
+ { url = "https://files.pythonhosted.org/packages/93/3e/b3257cf446f2a3533ed7809757039016b74cd6f38271de91682aa844cfc5/scipy-1.15.3-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:5380741e53df2c566f4d234b100a484b420af85deb39ea35a1cc1be84ff53a5c", size = 40022383, upload-time = "2025-05-08T16:05:01.914Z" },
+ { url = "https://files.pythonhosted.org/packages/d1/84/55bc4881973d3f79b479a5a2e2df61c8c9a04fcb986a213ac9c02cfb659b/scipy-1.15.3-cp310-cp310-win_amd64.whl", hash = "sha256:9d61e97b186a57350f6d6fd72640f9e99d5a4a2b8fbf4b9ee9a841eab327dc13", size = 41259201, upload-time = "2025-05-08T16:05:08.166Z" },
+ { url = "https://files.pythonhosted.org/packages/96/ab/5cc9f80f28f6a7dff646c5756e559823614a42b1939d86dd0ed550470210/scipy-1.15.3-cp311-cp311-macosx_10_13_x86_64.whl", hash = "sha256:993439ce220d25e3696d1b23b233dd010169b62f6456488567e830654ee37a6b", size = 38714255, upload-time = "2025-05-08T16:05:14.596Z" },
+ { url = "https://files.pythonhosted.org/packages/4a/4a/66ba30abe5ad1a3ad15bfb0b59d22174012e8056ff448cb1644deccbfed2/scipy-1.15.3-cp311-cp311-macosx_12_0_arm64.whl", hash = "sha256:34716e281f181a02341ddeaad584205bd2fd3c242063bd3423d61ac259ca7eba", size = 30111035, upload-time = "2025-05-08T16:05:20.152Z" },
+ { url = "https://files.pythonhosted.org/packages/4b/fa/a7e5b95afd80d24313307f03624acc65801846fa75599034f8ceb9e2cbf6/scipy-1.15.3-cp311-cp311-macosx_14_0_arm64.whl", hash = "sha256:3b0334816afb8b91dab859281b1b9786934392aa3d527cd847e41bb6f45bee65", size = 22384499, upload-time = "2025-05-08T16:05:24.494Z" },
+ { url = "https://files.pythonhosted.org/packages/17/99/f3aaddccf3588bb4aea70ba35328c204cadd89517a1612ecfda5b2dd9d7a/scipy-1.15.3-cp311-cp311-macosx_14_0_x86_64.whl", hash = "sha256:6db907c7368e3092e24919b5e31c76998b0ce1684d51a90943cb0ed1b4ffd6c1", size = 25152602, upload-time = "2025-05-08T16:05:29.313Z" },
+ { url = "https://files.pythonhosted.org/packages/56/c5/1032cdb565f146109212153339f9cb8b993701e9fe56b1c97699eee12586/scipy-1.15.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:721d6b4ef5dc82ca8968c25b111e307083d7ca9091bc38163fb89243e85e3889", size = 35503415, upload-time = "2025-05-08T16:05:34.699Z" },
+ { url = "https://files.pythonhosted.org/packages/bd/37/89f19c8c05505d0601ed5650156e50eb881ae3918786c8fd7262b4ee66d3/scipy-1.15.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:39cb9c62e471b1bb3750066ecc3a3f3052b37751c7c3dfd0fd7e48900ed52982", size = 37652622, upload-time = "2025-05-08T16:05:40.762Z" },
+ { url = "https://files.pythonhosted.org/packages/7e/31/be59513aa9695519b18e1851bb9e487de66f2d31f835201f1b42f5d4d475/scipy-1.15.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:795c46999bae845966368a3c013e0e00947932d68e235702b5c3f6ea799aa8c9", size = 37244796, upload-time = "2025-05-08T16:05:48.119Z" },
+ { url = "https://files.pythonhosted.org/packages/10/c0/4f5f3eeccc235632aab79b27a74a9130c6c35df358129f7ac8b29f562ac7/scipy-1.15.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:18aaacb735ab38b38db42cb01f6b92a2d0d4b6aabefeb07f02849e47f8fb3594", size = 40047684, upload-time = "2025-05-08T16:05:54.22Z" },
+ { url = "https://files.pythonhosted.org/packages/ab/a7/0ddaf514ce8a8714f6ed243a2b391b41dbb65251affe21ee3077ec45ea9a/scipy-1.15.3-cp311-cp311-win_amd64.whl", hash = "sha256:ae48a786a28412d744c62fd7816a4118ef97e5be0bee968ce8f0a2fba7acf3bb", size = 41246504, upload-time = "2025-05-08T16:06:00.437Z" },
+ { url = "https://files.pythonhosted.org/packages/37/4b/683aa044c4162e10ed7a7ea30527f2cbd92e6999c10a8ed8edb253836e9c/scipy-1.15.3-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:6ac6310fdbfb7aa6612408bd2f07295bcbd3fda00d2d702178434751fe48e019", size = 38766735, upload-time = "2025-05-08T16:06:06.471Z" },
+ { url = "https://files.pythonhosted.org/packages/7b/7e/f30be3d03de07f25dc0ec926d1681fed5c732d759ac8f51079708c79e680/scipy-1.15.3-cp312-cp312-macosx_12_0_arm64.whl", hash = "sha256:185cd3d6d05ca4b44a8f1595af87f9c372bb6acf9c808e99aa3e9aa03bd98cf6", size = 30173284, upload-time = "2025-05-08T16:06:11.686Z" },
+ { url = "https://files.pythonhosted.org/packages/07/9c/0ddb0d0abdabe0d181c1793db51f02cd59e4901da6f9f7848e1f96759f0d/scipy-1.15.3-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:05dc6abcd105e1a29f95eada46d4a3f251743cfd7d3ae8ddb4088047f24ea477", size = 22446958, upload-time = "2025-05-08T16:06:15.97Z" },
+ { url = "https://files.pythonhosted.org/packages/af/43/0bce905a965f36c58ff80d8bea33f1f9351b05fad4beaad4eae34699b7a1/scipy-1.15.3-cp312-cp312-macosx_14_0_x86_64.whl", hash = "sha256:06efcba926324df1696931a57a176c80848ccd67ce6ad020c810736bfd58eb1c", size = 25242454, upload-time = "2025-05-08T16:06:20.394Z" },
+ { url = "https://files.pythonhosted.org/packages/56/30/a6f08f84ee5b7b28b4c597aca4cbe545535c39fe911845a96414700b64ba/scipy-1.15.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c05045d8b9bfd807ee1b9f38761993297b10b245f012b11b13b91ba8945f7e45", size = 35210199, upload-time = "2025-05-08T16:06:26.159Z" },
+ { url = "https://files.pythonhosted.org/packages/0b/1f/03f52c282437a168ee2c7c14a1a0d0781a9a4a8962d84ac05c06b4c5b555/scipy-1.15.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:271e3713e645149ea5ea3e97b57fdab61ce61333f97cfae392c28ba786f9bb49", size = 37309455, upload-time = "2025-05-08T16:06:32.778Z" },
+ { url = "https://files.pythonhosted.org/packages/89/b1/fbb53137f42c4bf630b1ffdfc2151a62d1d1b903b249f030d2b1c0280af8/scipy-1.15.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:6cfd56fc1a8e53f6e89ba3a7a7251f7396412d655bca2aa5611c8ec9a6784a1e", size = 36885140, upload-time = "2025-05-08T16:06:39.249Z" },
+ { url = "https://files.pythonhosted.org/packages/2e/2e/025e39e339f5090df1ff266d021892694dbb7e63568edcfe43f892fa381d/scipy-1.15.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:0ff17c0bb1cb32952c09217d8d1eed9b53d1463e5f1dd6052c7857f83127d539", size = 39710549, upload-time = "2025-05-08T16:06:45.729Z" },
+ { url = "https://files.pythonhosted.org/packages/e6/eb/3bf6ea8ab7f1503dca3a10df2e4b9c3f6b3316df07f6c0ded94b281c7101/scipy-1.15.3-cp312-cp312-win_amd64.whl", hash = "sha256:52092bc0472cfd17df49ff17e70624345efece4e1a12b23783a1ac59a1b728ed", size = 40966184, upload-time = "2025-05-08T16:06:52.623Z" },
+ { url = "https://files.pythonhosted.org/packages/73/18/ec27848c9baae6e0d6573eda6e01a602e5649ee72c27c3a8aad673ebecfd/scipy-1.15.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:2c620736bcc334782e24d173c0fdbb7590a0a436d2fdf39310a8902505008759", size = 38728256, upload-time = "2025-05-08T16:06:58.696Z" },
+ { url = "https://files.pythonhosted.org/packages/74/cd/1aef2184948728b4b6e21267d53b3339762c285a46a274ebb7863c9e4742/scipy-1.15.3-cp313-cp313-macosx_12_0_arm64.whl", hash = "sha256:7e11270a000969409d37ed399585ee530b9ef6aa99d50c019de4cb01e8e54e62", size = 30109540, upload-time = "2025-05-08T16:07:04.209Z" },
+ { url = "https://files.pythonhosted.org/packages/5b/d8/59e452c0a255ec352bd0a833537a3bc1bfb679944c4938ab375b0a6b3a3e/scipy-1.15.3-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:8c9ed3ba2c8a2ce098163a9bdb26f891746d02136995df25227a20e71c396ebb", size = 22383115, upload-time = "2025-05-08T16:07:08.998Z" },
+ { url = "https://files.pythonhosted.org/packages/08/f5/456f56bbbfccf696263b47095291040655e3cbaf05d063bdc7c7517f32ac/scipy-1.15.3-cp313-cp313-macosx_14_0_x86_64.whl", hash = "sha256:0bdd905264c0c9cfa74a4772cdb2070171790381a5c4d312c973382fc6eaf730", size = 25163884, upload-time = "2025-05-08T16:07:14.091Z" },
+ { url = "https://files.pythonhosted.org/packages/a2/66/a9618b6a435a0f0c0b8a6d0a2efb32d4ec5a85f023c2b79d39512040355b/scipy-1.15.3-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:79167bba085c31f38603e11a267d862957cbb3ce018d8b38f79ac043bc92d825", size = 35174018, upload-time = "2025-05-08T16:07:19.427Z" },
+ { url = "https://files.pythonhosted.org/packages/b5/09/c5b6734a50ad4882432b6bb7c02baf757f5b2f256041da5df242e2d7e6b6/scipy-1.15.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c9deabd6d547aee2c9a81dee6cc96c6d7e9a9b1953f74850c179f91fdc729cb7", size = 37269716, upload-time = "2025-05-08T16:07:25.712Z" },
+ { url = "https://files.pythonhosted.org/packages/77/0a/eac00ff741f23bcabd352731ed9b8995a0a60ef57f5fd788d611d43d69a1/scipy-1.15.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:dde4fc32993071ac0c7dd2d82569e544f0bdaff66269cb475e0f369adad13f11", size = 36872342, upload-time = "2025-05-08T16:07:31.468Z" },
+ { url = "https://files.pythonhosted.org/packages/fe/54/4379be86dd74b6ad81551689107360d9a3e18f24d20767a2d5b9253a3f0a/scipy-1.15.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:f77f853d584e72e874d87357ad70f44b437331507d1c311457bed8ed2b956126", size = 39670869, upload-time = "2025-05-08T16:07:38.002Z" },
+ { url = "https://files.pythonhosted.org/packages/87/2e/892ad2862ba54f084ffe8cc4a22667eaf9c2bcec6d2bff1d15713c6c0703/scipy-1.15.3-cp313-cp313-win_amd64.whl", hash = "sha256:b90ab29d0c37ec9bf55424c064312930ca5f4bde15ee8619ee44e69319aab163", size = 40988851, upload-time = "2025-05-08T16:08:33.671Z" },
+ { url = "https://files.pythonhosted.org/packages/1b/e9/7a879c137f7e55b30d75d90ce3eb468197646bc7b443ac036ae3fe109055/scipy-1.15.3-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:3ac07623267feb3ae308487c260ac684b32ea35fd81e12845039952f558047b8", size = 38863011, upload-time = "2025-05-08T16:07:44.039Z" },
+ { url = "https://files.pythonhosted.org/packages/51/d1/226a806bbd69f62ce5ef5f3ffadc35286e9fbc802f606a07eb83bf2359de/scipy-1.15.3-cp313-cp313t-macosx_12_0_arm64.whl", hash = "sha256:6487aa99c2a3d509a5227d9a5e889ff05830a06b2ce08ec30df6d79db5fcd5c5", size = 30266407, upload-time = "2025-05-08T16:07:49.891Z" },
+ { url = "https://files.pythonhosted.org/packages/e5/9b/f32d1d6093ab9eeabbd839b0f7619c62e46cc4b7b6dbf05b6e615bbd4400/scipy-1.15.3-cp313-cp313t-macosx_14_0_arm64.whl", hash = "sha256:50f9e62461c95d933d5c5ef4a1f2ebf9a2b4e83b0db374cb3f1de104d935922e", size = 22540030, upload-time = "2025-05-08T16:07:54.121Z" },
+ { url = "https://files.pythonhosted.org/packages/e7/29/c278f699b095c1a884f29fda126340fcc201461ee8bfea5c8bdb1c7c958b/scipy-1.15.3-cp313-cp313t-macosx_14_0_x86_64.whl", hash = "sha256:14ed70039d182f411ffc74789a16df3835e05dc469b898233a245cdfd7f162cb", size = 25218709, upload-time = "2025-05-08T16:07:58.506Z" },
+ { url = "https://files.pythonhosted.org/packages/24/18/9e5374b617aba742a990581373cd6b68a2945d65cc588482749ef2e64467/scipy-1.15.3-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0a769105537aa07a69468a0eefcd121be52006db61cdd8cac8a0e68980bbb723", size = 34809045, upload-time = "2025-05-08T16:08:03.929Z" },
+ { url = "https://files.pythonhosted.org/packages/e1/fe/9c4361e7ba2927074360856db6135ef4904d505e9b3afbbcb073c4008328/scipy-1.15.3-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9db984639887e3dffb3928d118145ffe40eff2fa40cb241a306ec57c219ebbbb", size = 36703062, upload-time = "2025-05-08T16:08:09.558Z" },
+ { url = "https://files.pythonhosted.org/packages/b7/8e/038ccfe29d272b30086b25a4960f757f97122cb2ec42e62b460d02fe98e9/scipy-1.15.3-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:40e54d5c7e7ebf1aa596c374c49fa3135f04648a0caabcb66c52884b943f02b4", size = 36393132, upload-time = "2025-05-08T16:08:15.34Z" },
+ { url = "https://files.pythonhosted.org/packages/10/7e/5c12285452970be5bdbe8352c619250b97ebf7917d7a9a9e96b8a8140f17/scipy-1.15.3-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:5e721fed53187e71d0ccf382b6bf977644c533e506c4d33c3fb24de89f5c3ed5", size = 38979503, upload-time = "2025-05-08T16:08:21.513Z" },
+ { url = "https://files.pythonhosted.org/packages/81/06/0a5e5349474e1cbc5757975b21bd4fad0e72ebf138c5592f191646154e06/scipy-1.15.3-cp313-cp313t-win_amd64.whl", hash = "sha256:76ad1fb5f8752eabf0fa02e4cc0336b4e8f021e2d5f061ed37d6d264db35e3ca", size = 40308097, upload-time = "2025-05-08T16:08:27.627Z" },
+]
+
+[[package]]
+name = "scipy"
+version = "1.17.0"
+source = { registry = "https://pypi.org/simple" }
+resolution-markers = [
+ "(python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version >= '3.13' and platform_machine == 'arm64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version >= '3.13' and platform_machine == 'arm64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.12.*' and platform_machine == 'aarch64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.12.*' and platform_machine == 'arm64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.11.*' and platform_machine == 'aarch64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.11.*' and platform_machine == 'arm64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version >= '3.13' and platform_machine == 'AMD64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version >= '3.13' and platform_machine == 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.12.*' and platform_machine == 'AMD64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.12.*' and platform_machine == 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.11.*' and platform_machine == 'AMD64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.11.*' and platform_machine == 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')",
+ "python_full_version >= '3.13' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version == '3.12.*' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version == '3.11.*' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version >= '3.13' and platform_machine == 'arm64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version == '3.12.*' and platform_machine == 'arm64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version == '3.11.*' and platform_machine == 'arm64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "(python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform == 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version >= '3.13' and platform_machine == 'arm64' and sys_platform == 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.12.*' and platform_machine == 'aarch64' and sys_platform == 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.12.*' and platform_machine == 'arm64' and sys_platform == 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform == 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.11.*' and platform_machine == 'arm64' and sys_platform == 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version == '3.12.*' and platform_machine == 'aarch64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "(python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform != 'darwin' and sys_platform != 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version >= '3.13' and platform_machine == 'arm64' and sys_platform != 'darwin' and sys_platform != 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.12.*' and platform_machine == 'aarch64' and sys_platform != 'darwin' and sys_platform != 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.12.*' and platform_machine == 'arm64' and sys_platform != 'darwin' and sys_platform != 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform != 'darwin' and sys_platform != 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.11.*' and platform_machine == 'arm64' and sys_platform != 'darwin' and sys_platform != 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version >= '3.13' and platform_machine == 'AMD64' and sys_platform == 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version >= '3.13' and platform_machine == 'x86_64' and sys_platform == 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.12.*' and platform_machine == 'AMD64' and sys_platform == 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.12.*' and platform_machine == 'x86_64' and sys_platform == 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.11.*' and platform_machine == 'AMD64' and sys_platform == 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.11.*' and platform_machine == 'x86_64' and sys_platform == 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "python_full_version >= '3.13' and platform_machine == 'x86_64' and sys_platform == 'linux' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version == '3.12.*' and platform_machine == 'x86_64' and sys_platform == 'linux' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version == '3.11.*' and platform_machine == 'x86_64' and sys_platform == 'linux' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "(python_full_version >= '3.13' and platform_machine == 'AMD64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version >= '3.13' and platform_machine == 'x86_64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.12.*' and platform_machine == 'AMD64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.12.*' and platform_machine == 'x86_64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.11.*' and platform_machine == 'AMD64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.11.*' and platform_machine == 'x86_64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version >= '3.13' and platform_machine == 'x86_64' and sys_platform != 'darwin' and sys_platform != 'linux' and sys_platform != 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version >= '3.13' and platform_machine == 'AMD64' and sys_platform != 'darwin' and sys_platform != 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version >= '3.13' and platform_machine == 'AMD64' and sys_platform == 'linux' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.12.*' and platform_machine == 'x86_64' and sys_platform != 'darwin' and sys_platform != 'linux' and sys_platform != 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.12.*' and platform_machine == 'AMD64' and sys_platform != 'darwin' and sys_platform != 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.12.*' and platform_machine == 'AMD64' and sys_platform == 'linux' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.11.*' and platform_machine == 'x86_64' and sys_platform != 'darwin' and sys_platform != 'linux' and sys_platform != 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.11.*' and platform_machine == 'AMD64' and sys_platform != 'darwin' and sys_platform != 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.11.*' and platform_machine == 'AMD64' and sys_platform == 'linux' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "python_full_version >= '3.13' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version == '3.12.*' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version == '3.11.*' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version >= '3.13' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version == '3.12.*' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version == '3.11.*' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "(python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version >= '3.13' and platform_machine == 'arm64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.12.*' and platform_machine == 'aarch64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.12.*' and platform_machine == 'arm64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version >= '3.13' and platform_machine == 'arm64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.12.*' and platform_machine == 'aarch64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.12.*' and platform_machine == 'arm64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.11.*' and platform_machine == 'arm64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.11.*' and platform_machine == 'arm64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version >= '3.13' and platform_machine == 'AMD64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version >= '3.13' and platform_machine == 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.12.*' and platform_machine == 'AMD64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.12.*' and platform_machine == 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.11.*' and platform_machine == 'AMD64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.11.*' and platform_machine == 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "python_full_version >= '3.13' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version == '3.12.*' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version == '3.11.*' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "(python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version >= '3.13' and platform_machine == 'arm64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.12.*' and platform_machine == 'aarch64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.12.*' and platform_machine == 'arm64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version >= '3.13' and platform_machine == 'arm64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.12.*' and platform_machine == 'aarch64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.12.*' and platform_machine == 'arm64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.11.*' and platform_machine == 'arm64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.11.*' and platform_machine == 'arm64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version >= '3.13' and platform_machine == 'AMD64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version >= '3.13' and platform_machine == 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.12.*' and platform_machine == 'AMD64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.12.*' and platform_machine == 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.11.*' and platform_machine == 'AMD64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.11.*' and platform_machine == 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "python_full_version >= '3.13' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version == '3.12.*' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version == '3.11.*' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "(python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version >= '3.13' and platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.12.*' and platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.12.*' and platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.11.*' and platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version >= '3.13' and platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version >= '3.13' and platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.12.*' and platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.12.*' and platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.11.*' and platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.11.*' and platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "python_full_version >= '3.13' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version == '3.12.*' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version == '3.11.*' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version == '3.12.*' and platform_machine == 'aarch64' and sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "(python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version >= '3.13' and platform_machine == 'arm64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version >= '3.13' and platform_machine == 'arm64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.12.*' and platform_machine == 'aarch64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.12.*' and platform_machine == 'arm64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.11.*' and platform_machine == 'arm64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.12.*' and platform_machine == 'aarch64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.12.*' and platform_machine == 'arm64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.11.*' and platform_machine == 'arm64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version >= '3.13' and platform_machine == 'AMD64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version >= '3.13' and platform_machine == 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.12.*' and platform_machine == 'AMD64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.12.*' and platform_machine == 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.11.*' and platform_machine == 'AMD64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.11.*' and platform_machine == 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "python_full_version >= '3.13' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version == '3.12.*' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version == '3.11.*' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+]
+dependencies = [
+ { name = "numpy", version = "2.3.5", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11' or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/56/3e/9cca699f3486ce6bc12ff46dc2031f1ec8eb9ccc9a320fdaf925f1417426/scipy-1.17.0.tar.gz", hash = "sha256:2591060c8e648d8b96439e111ac41fd8342fdeff1876be2e19dea3fe8930454e", size = 30396830, upload-time = "2026-01-10T21:34:23.009Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/1e/4b/c89c131aa87cad2b77a54eb0fb94d633a842420fa7e919dc2f922037c3d8/scipy-1.17.0-cp311-cp311-macosx_10_14_x86_64.whl", hash = "sha256:2abd71643797bd8a106dff97894ff7869eeeb0af0f7a5ce02e4227c6a2e9d6fd", size = 31381316, upload-time = "2026-01-10T21:24:33.42Z" },
+ { url = "https://files.pythonhosted.org/packages/5e/5f/a6b38f79a07d74989224d5f11b55267714707582908a5f1ae854cf9a9b84/scipy-1.17.0-cp311-cp311-macosx_12_0_arm64.whl", hash = "sha256:ef28d815f4d2686503e5f4f00edc387ae58dfd7a2f42e348bb53359538f01558", size = 27966760, upload-time = "2026-01-10T21:24:38.911Z" },
+ { url = "https://files.pythonhosted.org/packages/c1/20/095ad24e031ee8ed3c5975954d816b8e7e2abd731e04f8be573de8740885/scipy-1.17.0-cp311-cp311-macosx_14_0_arm64.whl", hash = "sha256:272a9f16d6bb4667e8b50d25d71eddcc2158a214df1b566319298de0939d2ab7", size = 20138701, upload-time = "2026-01-10T21:24:43.249Z" },
+ { url = "https://files.pythonhosted.org/packages/89/11/4aad2b3858d0337756f3323f8960755704e530b27eb2a94386c970c32cbe/scipy-1.17.0-cp311-cp311-macosx_14_0_x86_64.whl", hash = "sha256:7204fddcbec2fe6598f1c5fdf027e9f259106d05202a959a9f1aecf036adc9f6", size = 22480574, upload-time = "2026-01-10T21:24:47.266Z" },
+ { url = "https://files.pythonhosted.org/packages/85/bd/f5af70c28c6da2227e510875cadf64879855193a687fb19951f0f44cfd6b/scipy-1.17.0-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:fc02c37a5639ee67d8fb646ffded6d793c06c5622d36b35cfa8fe5ececb8f042", size = 32862414, upload-time = "2026-01-10T21:24:52.566Z" },
+ { url = "https://files.pythonhosted.org/packages/ef/df/df1457c4df3826e908879fe3d76bc5b6e60aae45f4ee42539512438cfd5d/scipy-1.17.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:dac97a27520d66c12a34fd90a4fe65f43766c18c0d6e1c0a80f114d2260080e4", size = 35112380, upload-time = "2026-01-10T21:24:58.433Z" },
+ { url = "https://files.pythonhosted.org/packages/5f/bb/88e2c16bd1dd4de19d80d7c5e238387182993c2fb13b4b8111e3927ad422/scipy-1.17.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:ebb7446a39b3ae0fe8f416a9a3fdc6fba3f11c634f680f16a239c5187bc487c0", size = 34922676, upload-time = "2026-01-10T21:25:04.287Z" },
+ { url = "https://files.pythonhosted.org/packages/02/ba/5120242cc735f71fc002cff0303d536af4405eb265f7c60742851e7ccfe9/scipy-1.17.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:474da16199f6af66601a01546144922ce402cb17362e07d82f5a6cf8f963e449", size = 37507599, upload-time = "2026-01-10T21:25:09.851Z" },
+ { url = "https://files.pythonhosted.org/packages/52/c8/08629657ac6c0da198487ce8cd3de78e02cfde42b7f34117d56a3fe249dc/scipy-1.17.0-cp311-cp311-win_amd64.whl", hash = "sha256:255c0da161bd7b32a6c898e7891509e8a9289f0b1c6c7d96142ee0d2b114c2ea", size = 36380284, upload-time = "2026-01-10T21:25:15.632Z" },
+ { url = "https://files.pythonhosted.org/packages/6c/4a/465f96d42c6f33ad324a40049dfd63269891db9324aa66c4a1c108c6f994/scipy-1.17.0-cp311-cp311-win_arm64.whl", hash = "sha256:85b0ac3ad17fa3be50abd7e69d583d98792d7edc08367e01445a1e2076005379", size = 24370427, upload-time = "2026-01-10T21:25:20.514Z" },
+ { url = "https://files.pythonhosted.org/packages/0b/11/7241a63e73ba5a516f1930ac8d5b44cbbfabd35ac73a2d08ca206df007c4/scipy-1.17.0-cp312-cp312-macosx_10_14_x86_64.whl", hash = "sha256:0d5018a57c24cb1dd828bcf51d7b10e65986d549f52ef5adb6b4d1ded3e32a57", size = 31364580, upload-time = "2026-01-10T21:25:25.717Z" },
+ { url = "https://files.pythonhosted.org/packages/ed/1d/5057f812d4f6adc91a20a2d6f2ebcdb517fdbc87ae3acc5633c9b97c8ba5/scipy-1.17.0-cp312-cp312-macosx_12_0_arm64.whl", hash = "sha256:88c22af9e5d5a4f9e027e26772cc7b5922fab8bcc839edb3ae33de404feebd9e", size = 27969012, upload-time = "2026-01-10T21:25:30.921Z" },
+ { url = "https://files.pythonhosted.org/packages/e3/21/f6ec556c1e3b6ec4e088da667d9987bb77cc3ab3026511f427dc8451187d/scipy-1.17.0-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:f3cd947f20fe17013d401b64e857c6b2da83cae567adbb75b9dcba865abc66d8", size = 20140691, upload-time = "2026-01-10T21:25:34.802Z" },
+ { url = "https://files.pythonhosted.org/packages/7a/fe/5e5ad04784964ba964a96f16c8d4676aa1b51357199014dce58ab7ec5670/scipy-1.17.0-cp312-cp312-macosx_14_0_x86_64.whl", hash = "sha256:e8c0b331c2c1f531eb51f1b4fc9ba709521a712cce58f1aa627bc007421a5306", size = 22463015, upload-time = "2026-01-10T21:25:39.277Z" },
+ { url = "https://files.pythonhosted.org/packages/4a/69/7c347e857224fcaf32a34a05183b9d8a7aca25f8f2d10b8a698b8388561a/scipy-1.17.0-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:5194c445d0a1c7a6c1a4a4681b6b7c71baad98ff66d96b949097e7513c9d6742", size = 32724197, upload-time = "2026-01-10T21:25:44.084Z" },
+ { url = "https://files.pythonhosted.org/packages/d1/fe/66d73b76d378ba8cc2fe605920c0c75092e3a65ae746e1e767d9d020a75a/scipy-1.17.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:9eeb9b5f5997f75507814ed9d298ab23f62cf79f5a3ef90031b1ee2506abdb5b", size = 35009148, upload-time = "2026-01-10T21:25:50.591Z" },
+ { url = "https://files.pythonhosted.org/packages/af/07/07dec27d9dc41c18d8c43c69e9e413431d20c53a0339c388bcf72f353c4b/scipy-1.17.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:40052543f7bbe921df4408f46003d6f01c6af109b9e2c8a66dd1cf6cf57f7d5d", size = 34798766, upload-time = "2026-01-10T21:25:59.41Z" },
+ { url = "https://files.pythonhosted.org/packages/81/61/0470810c8a093cdacd4ba7504b8a218fd49ca070d79eca23a615f5d9a0b0/scipy-1.17.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:0cf46c8013fec9d3694dc572f0b54100c28405d55d3e2cb15e2895b25057996e", size = 37405953, upload-time = "2026-01-10T21:26:07.75Z" },
+ { url = "https://files.pythonhosted.org/packages/92/ce/672ed546f96d5d41ae78c4b9b02006cedd0b3d6f2bf5bb76ea455c320c28/scipy-1.17.0-cp312-cp312-win_amd64.whl", hash = "sha256:0937a0b0d8d593a198cededd4c439a0ea216a3f36653901ea1f3e4be949056f8", size = 36328121, upload-time = "2026-01-10T21:26:16.509Z" },
+ { url = "https://files.pythonhosted.org/packages/9d/21/38165845392cae67b61843a52c6455d47d0cc2a40dd495c89f4362944654/scipy-1.17.0-cp312-cp312-win_arm64.whl", hash = "sha256:f603d8a5518c7426414d1d8f82e253e454471de682ce5e39c29adb0df1efb86b", size = 24314368, upload-time = "2026-01-10T21:26:23.087Z" },
+ { url = "https://files.pythonhosted.org/packages/0c/51/3468fdfd49387ddefee1636f5cf6d03ce603b75205bf439bbf0e62069bfd/scipy-1.17.0-cp313-cp313-macosx_10_14_x86_64.whl", hash = "sha256:65ec32f3d32dfc48c72df4291345dae4f048749bc8d5203ee0a3f347f96c5ce6", size = 31344101, upload-time = "2026-01-10T21:26:30.25Z" },
+ { url = "https://files.pythonhosted.org/packages/b2/9a/9406aec58268d437636069419e6977af953d1e246df941d42d3720b7277b/scipy-1.17.0-cp313-cp313-macosx_12_0_arm64.whl", hash = "sha256:1f9586a58039d7229ce77b52f8472c972448cded5736eaf102d5658bbac4c269", size = 27950385, upload-time = "2026-01-10T21:26:36.801Z" },
+ { url = "https://files.pythonhosted.org/packages/4f/98/e7342709e17afdfd1b26b56ae499ef4939b45a23a00e471dfb5375eea205/scipy-1.17.0-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:9fad7d3578c877d606b1150135c2639e9de9cecd3705caa37b66862977cc3e72", size = 20122115, upload-time = "2026-01-10T21:26:42.107Z" },
+ { url = "https://files.pythonhosted.org/packages/fd/0e/9eeeb5357a64fd157cbe0302c213517c541cc16b8486d82de251f3c68ede/scipy-1.17.0-cp313-cp313-macosx_14_0_x86_64.whl", hash = "sha256:423ca1f6584fc03936972b5f7c06961670dbba9f234e71676a7c7ccf938a0d61", size = 22442402, upload-time = "2026-01-10T21:26:48.029Z" },
+ { url = "https://files.pythonhosted.org/packages/c9/10/be13397a0e434f98e0c79552b2b584ae5bb1c8b2be95db421533bbca5369/scipy-1.17.0-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:fe508b5690e9eaaa9467fc047f833af58f1152ae51a0d0aed67aa5801f4dd7d6", size = 32696338, upload-time = "2026-01-10T21:26:55.521Z" },
+ { url = "https://files.pythonhosted.org/packages/63/1e/12fbf2a3bb240161651c94bb5cdd0eae5d4e8cc6eaeceb74ab07b12a753d/scipy-1.17.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:6680f2dfd4f6182e7d6db161344537da644d1cf85cf293f015c60a17ecf08752", size = 34977201, upload-time = "2026-01-10T21:27:03.501Z" },
+ { url = "https://files.pythonhosted.org/packages/19/5b/1a63923e23ccd20bd32156d7dd708af5bbde410daa993aa2500c847ab2d2/scipy-1.17.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:eec3842ec9ac9de5917899b277428886042a93db0b227ebbe3a333b64ec7643d", size = 34777384, upload-time = "2026-01-10T21:27:11.423Z" },
+ { url = "https://files.pythonhosted.org/packages/39/22/b5da95d74edcf81e540e467202a988c50fef41bd2011f46e05f72ba07df6/scipy-1.17.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:d7425fcafbc09a03731e1bc05581f5fad988e48c6a861f441b7ab729a49a55ea", size = 37379586, upload-time = "2026-01-10T21:27:20.171Z" },
+ { url = "https://files.pythonhosted.org/packages/b9/b6/8ac583d6da79e7b9e520579f03007cb006f063642afd6b2eeb16b890bf93/scipy-1.17.0-cp313-cp313-win_amd64.whl", hash = "sha256:87b411e42b425b84777718cc41516b8a7e0795abfa8e8e1d573bf0ef014f0812", size = 36287211, upload-time = "2026-01-10T21:28:43.122Z" },
+ { url = "https://files.pythonhosted.org/packages/55/fb/7db19e0b3e52f882b420417644ec81dd57eeef1bd1705b6f689d8ff93541/scipy-1.17.0-cp313-cp313-win_arm64.whl", hash = "sha256:357ca001c6e37601066092e7c89cca2f1ce74e2a520ca78d063a6d2201101df2", size = 24312646, upload-time = "2026-01-10T21:28:49.893Z" },
+ { url = "https://files.pythonhosted.org/packages/20/b6/7feaa252c21cc7aff335c6c55e1b90ab3e3306da3f048109b8b639b94648/scipy-1.17.0-cp313-cp313t-macosx_10_14_x86_64.whl", hash = "sha256:ec0827aa4d36cb79ff1b81de898e948a51ac0b9b1c43e4a372c0508c38c0f9a3", size = 31693194, upload-time = "2026-01-10T21:27:27.454Z" },
+ { url = "https://files.pythonhosted.org/packages/76/bb/bbb392005abce039fb7e672cb78ac7d158700e826b0515cab6b5b60c26fb/scipy-1.17.0-cp313-cp313t-macosx_12_0_arm64.whl", hash = "sha256:819fc26862b4b3c73a60d486dbb919202f3d6d98c87cf20c223511429f2d1a97", size = 28365415, upload-time = "2026-01-10T21:27:34.26Z" },
+ { url = "https://files.pythonhosted.org/packages/37/da/9d33196ecc99fba16a409c691ed464a3a283ac454a34a13a3a57c0d66f3a/scipy-1.17.0-cp313-cp313t-macosx_14_0_arm64.whl", hash = "sha256:363ad4ae2853d88ebcde3ae6ec46ccca903ea9835ee8ba543f12f575e7b07e4e", size = 20537232, upload-time = "2026-01-10T21:27:40.306Z" },
+ { url = "https://files.pythonhosted.org/packages/56/9d/f4b184f6ddb28e9a5caea36a6f98e8ecd2a524f9127354087ce780885d83/scipy-1.17.0-cp313-cp313t-macosx_14_0_x86_64.whl", hash = "sha256:979c3a0ff8e5ba254d45d59ebd38cde48fce4f10b5125c680c7a4bfe177aab07", size = 22791051, upload-time = "2026-01-10T21:27:46.539Z" },
+ { url = "https://files.pythonhosted.org/packages/9b/9d/025cccdd738a72140efc582b1641d0dd4caf2e86c3fb127568dc80444e6e/scipy-1.17.0-cp313-cp313t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:130d12926ae34399d157de777472bf82e9061c60cc081372b3118edacafe1d00", size = 32815098, upload-time = "2026-01-10T21:27:54.389Z" },
+ { url = "https://files.pythonhosted.org/packages/48/5f/09b879619f8bca15ce392bfc1894bd9c54377e01d1b3f2f3b595a1b4d945/scipy-1.17.0-cp313-cp313t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:6e886000eb4919eae3a44f035e63f0fd8b651234117e8f6f29bad1cd26e7bc45", size = 35031342, upload-time = "2026-01-10T21:28:03.012Z" },
+ { url = "https://files.pythonhosted.org/packages/f2/9a/f0f0a9f0aa079d2f106555b984ff0fbb11a837df280f04f71f056ea9c6e4/scipy-1.17.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:13c4096ac6bc31d706018f06a49abe0485f96499deb82066b94d19b02f664209", size = 34893199, upload-time = "2026-01-10T21:28:10.832Z" },
+ { url = "https://files.pythonhosted.org/packages/90/b8/4f0f5cf0c5ea4d7548424e6533e6b17d164f34a6e2fb2e43ffebb6697b06/scipy-1.17.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:cacbaddd91fcffde703934897c5cd2c7cb0371fac195d383f4e1f1c5d3f3bd04", size = 37438061, upload-time = "2026-01-10T21:28:19.684Z" },
+ { url = "https://files.pythonhosted.org/packages/f9/cc/2bd59140ed3b2fa2882fb15da0a9cb1b5a6443d67cfd0d98d4cec83a57ec/scipy-1.17.0-cp313-cp313t-win_amd64.whl", hash = "sha256:edce1a1cf66298cccdc48a1bdf8fb10a3bf58e8b58d6c3883dd1530e103f87c0", size = 36328593, upload-time = "2026-01-10T21:28:28.007Z" },
+ { url = "https://files.pythonhosted.org/packages/13/1b/c87cc44a0d2c7aaf0f003aef2904c3d097b422a96c7e7c07f5efd9073c1b/scipy-1.17.0-cp313-cp313t-win_arm64.whl", hash = "sha256:30509da9dbec1c2ed8f168b8d8aa853bc6723fede1dbc23c7d43a56f5ab72a67", size = 24625083, upload-time = "2026-01-10T21:28:35.188Z" },
+]
+
+[[package]]
+name = "semantic-version"
+version = "2.10.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/7d/31/f2289ce78b9b473d582568c234e104d2a342fd658cc288a7553d83bb8595/semantic_version-2.10.0.tar.gz", hash = "sha256:bdabb6d336998cbb378d4b9db3a4b56a1e3235701dc05ea2690d9a997ed5041c", size = 52289, upload-time = "2022-05-26T13:35:23.454Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/6a/23/8146aad7d88f4fcb3a6218f41a60f6c2d4e3a72de72da1825dc7c8f7877c/semantic_version-2.10.0-py2.py3-none-any.whl", hash = "sha256:de78a3b8e0feda74cabc54aab2da702113e33ac9d9eb9d2389bcf1f58b7d9177", size = 15552, upload-time = "2022-05-26T13:35:21.206Z" },
+]
+
+[[package]]
+name = "sentencepiece"
+version = "0.2.1"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/15/15/2e7a025fc62d764b151ae6d0f2a92f8081755ebe8d4a64099accc6f77ba6/sentencepiece-0.2.1.tar.gz", hash = "sha256:8138cec27c2f2282f4a34d9a016e3374cd40e5c6e9cb335063db66a0a3b71fad", size = 3228515, upload-time = "2025-08-12T07:00:51.718Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/af/31/5b7cccb307b485db1a2372d6d2980b0a65d067f8be5ca943a103b4acd5b3/sentencepiece-0.2.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:e10fa50bdbaa5e2445dbd387979980d391760faf0ec99a09bd7780ff37eaec44", size = 1942557, upload-time = "2025-08-12T06:59:12.379Z" },
+ { url = "https://files.pythonhosted.org/packages/1f/41/0ac923a8e685ad290c5afc8ae55c5844977b8d75076fcc04302b9a324274/sentencepiece-0.2.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:2f27ae6deea72efdb6f361750c92f6c21fd0ad087445082770cc34015213c526", size = 1325384, upload-time = "2025-08-12T06:59:14.334Z" },
+ { url = "https://files.pythonhosted.org/packages/fc/ef/3751555d67daf9003384978f169d31c775cb5c7baf28633caaf1eb2b2b4d/sentencepiece-0.2.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:60937c959e6f44159fdd9f56fbdd302501f96114a5ba436829496d5f32d8de3f", size = 1253317, upload-time = "2025-08-12T06:59:16.247Z" },
+ { url = "https://files.pythonhosted.org/packages/46/a5/742c69b7bd144eb32b6e5fd50dbd8abbbc7a95fce2fe16e50156fa400e3b/sentencepiece-0.2.1-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:d8b1d91545578852f128650b8cce4ec20f93d39b378ff554ebe66290f2dabb92", size = 1316379, upload-time = "2025-08-12T06:59:17.825Z" },
+ { url = "https://files.pythonhosted.org/packages/c8/89/8deeafbba2871e8fa10f20f17447786f4ac38085925335728d360eaf4cae/sentencepiece-0.2.1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:27e38eee653abc3d387862e67bc5c8b6f428cd604e688b85d29170b7e725c26c", size = 1387926, upload-time = "2025-08-12T06:59:19.395Z" },
+ { url = "https://files.pythonhosted.org/packages/c3/ca/67fe73005f0ab617c6a970b199754e28e524b6873aa7025224fad3cda252/sentencepiece-0.2.1-cp310-cp310-win32.whl", hash = "sha256:251874d720ac7f28024a168501f3c7bb15d1802245f6e66de565f18bbb9b5eaa", size = 999550, upload-time = "2025-08-12T06:59:20.844Z" },
+ { url = "https://files.pythonhosted.org/packages/6d/33/dc5b54042050d2dda4229c3ce1f862541c99966390b6aa20f54d520d2dc2/sentencepiece-0.2.1-cp310-cp310-win_amd64.whl", hash = "sha256:e52144670738b4b477fade6c2a9b6af71a8d0094514c9853ac9f6fc1fcfabae7", size = 1054613, upload-time = "2025-08-12T06:59:22.255Z" },
+ { url = "https://files.pythonhosted.org/packages/fa/19/1ea47f46ff97fe04422b78997da1a37cd632f414aae042d27a9009c5b733/sentencepiece-0.2.1-cp310-cp310-win_arm64.whl", hash = "sha256:9076430ac25dfa7147d9d05751dbc66a04bc1aaac371c07f84952979ea59f0d0", size = 1033884, upload-time = "2025-08-12T06:59:24.194Z" },
+ { url = "https://files.pythonhosted.org/packages/d8/15/46afbab00733d81788b64be430ca1b93011bb9388527958e26cc31832de5/sentencepiece-0.2.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:6356d0986b8b8dc351b943150fcd81a1c6e6e4d439772e8584c64230e58ca987", size = 1942560, upload-time = "2025-08-12T06:59:25.82Z" },
+ { url = "https://files.pythonhosted.org/packages/fa/79/7c01b8ef98a0567e9d84a4e7a910f8e7074fcbf398a5cd76f93f4b9316f9/sentencepiece-0.2.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:8f8ba89a3acb3dc1ae90f65ec1894b0b9596fdb98ab003ff38e058f898b39bc7", size = 1325385, upload-time = "2025-08-12T06:59:27.722Z" },
+ { url = "https://files.pythonhosted.org/packages/bb/88/2b41e07bd24f33dcf2f18ec3b74247aa4af3526bad8907b8727ea3caba03/sentencepiece-0.2.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:02593eca45440ef39247cee8c47322a34bdcc1d8ae83ad28ba5a899a2cf8d79a", size = 1253319, upload-time = "2025-08-12T06:59:29.306Z" },
+ { url = "https://files.pythonhosted.org/packages/a0/54/38a1af0c6210a3c6f95aa46d23d6640636d020fba7135cd0d9a84ada05a7/sentencepiece-0.2.1-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:0a0d15781a171d188b661ae4bde1d998c303f6bd8621498c50c671bd45a4798e", size = 1316162, upload-time = "2025-08-12T06:59:30.914Z" },
+ { url = "https://files.pythonhosted.org/packages/ef/66/fb191403ade791ad2c3c1e72fe8413e63781b08cfa3aa4c9dfc536d6e795/sentencepiece-0.2.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:4f5a3e0d9f445ed9d66c0fec47d4b23d12cfc858b407a03c194c1b26c2ac2a63", size = 1387785, upload-time = "2025-08-12T06:59:32.491Z" },
+ { url = "https://files.pythonhosted.org/packages/a9/2d/3bd9b08e70067b2124518b308db6a84a4f8901cc8a4317e2e4288cdd9b4d/sentencepiece-0.2.1-cp311-cp311-win32.whl", hash = "sha256:6d297a1748d429ba8534eebe5535448d78b8acc32d00a29b49acf28102eeb094", size = 999555, upload-time = "2025-08-12T06:59:34.475Z" },
+ { url = "https://files.pythonhosted.org/packages/32/b8/f709977f5fda195ae1ea24f24e7c581163b6f142b1005bc3d0bbfe4d7082/sentencepiece-0.2.1-cp311-cp311-win_amd64.whl", hash = "sha256:82d9ead6591015f009cb1be1cb1c015d5e6f04046dbb8c9588b931e869a29728", size = 1054617, upload-time = "2025-08-12T06:59:36.461Z" },
+ { url = "https://files.pythonhosted.org/packages/7a/40/a1fc23be23067da0f703709797b464e8a30a1c78cc8a687120cd58d4d509/sentencepiece-0.2.1-cp311-cp311-win_arm64.whl", hash = "sha256:39f8651bd10974eafb9834ce30d9bcf5b73e1fc798a7f7d2528f9820ca86e119", size = 1033877, upload-time = "2025-08-12T06:59:38.391Z" },
+ { url = "https://files.pythonhosted.org/packages/4a/be/32ce495aa1d0e0c323dcb1ba87096037358edee539cac5baf8755a6bd396/sentencepiece-0.2.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:57cae326c8727de58c85977b175af132a7138d84c764635d7e71bbee7e774133", size = 1943152, upload-time = "2025-08-12T06:59:40.048Z" },
+ { url = "https://files.pythonhosted.org/packages/88/7e/ff23008899a58678e98c6ff592bf4d368eee5a71af96d0df6b38a039dd4f/sentencepiece-0.2.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:56dd39a3c4d6493db3cdca7e8cc68c6b633f0d4195495cbadfcf5af8a22d05a6", size = 1325651, upload-time = "2025-08-12T06:59:41.536Z" },
+ { url = "https://files.pythonhosted.org/packages/19/84/42eb3ce4796777a1b5d3699dfd4dca85113e68b637f194a6c8d786f16a04/sentencepiece-0.2.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:d9381351182ff9888cc80e41c632e7e274b106f450de33d67a9e8f6043da6f76", size = 1253645, upload-time = "2025-08-12T06:59:42.903Z" },
+ { url = "https://files.pythonhosted.org/packages/89/fa/d3d5ebcba3cb9e6d3775a096251860c41a6bc53a1b9461151df83fe93255/sentencepiece-0.2.1-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:99f955df238021bf11f0fc37cdb54fd5e5b5f7fd30ecc3d93fb48b6815437167", size = 1316273, upload-time = "2025-08-12T06:59:44.476Z" },
+ { url = "https://files.pythonhosted.org/packages/04/88/14f2f4a2b922d8b39be45bf63d79e6cd3a9b2f248b2fcb98a69b12af12f5/sentencepiece-0.2.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:0cdfecef430d985f1c2bcbfff3defd1d95dae876fbd0173376012d2d7d24044b", size = 1387881, upload-time = "2025-08-12T06:59:46.09Z" },
+ { url = "https://files.pythonhosted.org/packages/fd/b8/903e5ccb77b4ef140605d5d71b4f9e0ad95d456d6184688073ed11712809/sentencepiece-0.2.1-cp312-cp312-win32.whl", hash = "sha256:a483fd29a34c3e34c39ac5556b0a90942bec253d260235729e50976f5dba1068", size = 999540, upload-time = "2025-08-12T06:59:48.023Z" },
+ { url = "https://files.pythonhosted.org/packages/2d/81/92df5673c067148c2545b1bfe49adfd775bcc3a169a047f5a0e6575ddaca/sentencepiece-0.2.1-cp312-cp312-win_amd64.whl", hash = "sha256:4cdc7c36234fda305e85c32949c5211faaf8dd886096c7cea289ddc12a2d02de", size = 1054671, upload-time = "2025-08-12T06:59:49.895Z" },
+ { url = "https://files.pythonhosted.org/packages/fe/02/c5e3bc518655d714622bec87d83db9cdba1cd0619a4a04e2109751c4f47f/sentencepiece-0.2.1-cp312-cp312-win_arm64.whl", hash = "sha256:daeb5e9e9fcad012324807856113708614d534f596d5008638eb9b40112cd9e4", size = 1033923, upload-time = "2025-08-12T06:59:51.952Z" },
+ { url = "https://files.pythonhosted.org/packages/ba/4a/85fbe1706d4d04a7e826b53f327c4b80f849cf1c7b7c5e31a20a97d8f28b/sentencepiece-0.2.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:dcd8161eee7b41aae57ded06272905dbd680a0a04b91edd0f64790c796b2f706", size = 1943150, upload-time = "2025-08-12T06:59:53.588Z" },
+ { url = "https://files.pythonhosted.org/packages/c2/83/4cfb393e287509fc2155480b9d184706ef8d9fa8cbf5505d02a5792bf220/sentencepiece-0.2.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:c6c8f42949f419ff8c7e9960dbadcfbc982d7b5efc2f6748210d3dd53a7de062", size = 1325651, upload-time = "2025-08-12T06:59:55.073Z" },
+ { url = "https://files.pythonhosted.org/packages/8d/de/5a007fb53b1ab0aafc69d11a5a3dd72a289d5a3e78dcf2c3a3d9b14ffe93/sentencepiece-0.2.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:097f3394e99456e9e4efba1737c3749d7e23563dd1588ce71a3d007f25475fff", size = 1253641, upload-time = "2025-08-12T06:59:56.562Z" },
+ { url = "https://files.pythonhosted.org/packages/2c/d2/f552be5928105588f4f4d66ee37dd4c61460d8097e62d0e2e0eec41bc61d/sentencepiece-0.2.1-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:d7b670879c370d350557edabadbad1f6561a9e6968126e6debca4029e5547820", size = 1316271, upload-time = "2025-08-12T06:59:58.109Z" },
+ { url = "https://files.pythonhosted.org/packages/96/df/0cfe748ace5485be740fed9476dee7877f109da32ed0d280312c94ec259f/sentencepiece-0.2.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:c7f0fd2f2693309e6628aeeb2e2faf6edd221134dfccac3308ca0de01f8dab47", size = 1387882, upload-time = "2025-08-12T07:00:00.701Z" },
+ { url = "https://files.pythonhosted.org/packages/ac/dd/f7774d42a881ced8e1739f393ab1e82ece39fc9abd4779e28050c2e975b5/sentencepiece-0.2.1-cp313-cp313-win32.whl", hash = "sha256:92b3816aa2339355fda2c8c4e021a5de92180b00aaccaf5e2808972e77a4b22f", size = 999541, upload-time = "2025-08-12T07:00:02.709Z" },
+ { url = "https://files.pythonhosted.org/packages/dd/e9/932b9eae6fd7019548321eee1ab8d5e3b3d1294df9d9a0c9ac517c7b636d/sentencepiece-0.2.1-cp313-cp313-win_amd64.whl", hash = "sha256:10ed3dab2044c47f7a2e7b4969b0c430420cdd45735d78c8f853191fa0e3148b", size = 1054669, upload-time = "2025-08-12T07:00:04.915Z" },
+ { url = "https://files.pythonhosted.org/packages/c9/3a/76488a00ea7d6931689cda28726a1447d66bf1a4837943489314593d5596/sentencepiece-0.2.1-cp313-cp313-win_arm64.whl", hash = "sha256:ac650534e2251083c5f75dde4ff28896ce7c8904133dc8fef42780f4d5588fcd", size = 1033922, upload-time = "2025-08-12T07:00:06.496Z" },
+ { url = "https://files.pythonhosted.org/packages/4a/b6/08fe2ce819e02ccb0296f4843e3f195764ce9829cbda61b7513f29b95718/sentencepiece-0.2.1-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:8dd4b477a7b069648d19363aad0cab9bad2f4e83b2d179be668efa672500dc94", size = 1946052, upload-time = "2025-08-12T07:00:08.136Z" },
+ { url = "https://files.pythonhosted.org/packages/ab/d9/1ea0e740591ff4c6fc2b6eb1d7510d02f3fb885093f19b2f3abd1363b402/sentencepiece-0.2.1-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:0c0f672da370cc490e4c59d89e12289778310a0e71d176c541e4834759e1ae07", size = 1327408, upload-time = "2025-08-12T07:00:09.572Z" },
+ { url = "https://files.pythonhosted.org/packages/99/7e/1fb26e8a21613f6200e1ab88824d5d203714162cf2883248b517deb500b7/sentencepiece-0.2.1-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:ad8493bea8432dae8d6830365352350f3b4144415a1d09c4c8cb8d30cf3b6c3c", size = 1254857, upload-time = "2025-08-12T07:00:11.021Z" },
+ { url = "https://files.pythonhosted.org/packages/bc/85/c72fd1f3c7a6010544d6ae07f8ddb38b5e2a7e33bd4318f87266c0bbafbf/sentencepiece-0.2.1-cp313-cp313t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:b81a24733726e3678d2db63619acc5a8dccd074f7aa7a54ecd5ca33ca6d2d596", size = 1315722, upload-time = "2025-08-12T07:00:12.989Z" },
+ { url = "https://files.pythonhosted.org/packages/4a/e8/661e5bd82a8aa641fd6c1020bd0e890ef73230a2b7215ddf9c8cd8e941c2/sentencepiece-0.2.1-cp313-cp313t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:0a81799d0a68d618e89063fb423c3001a034c893069135ffe51fee439ae474d6", size = 1387452, upload-time = "2025-08-12T07:00:15.088Z" },
+ { url = "https://files.pythonhosted.org/packages/99/5e/ae66c361023a470afcbc1fbb8da722c72ea678a2fcd9a18f1a12598c7501/sentencepiece-0.2.1-cp313-cp313t-win32.whl", hash = "sha256:89a3ea015517c42c0341d0d962f3e6aaf2cf10d71b1932d475c44ba48d00aa2b", size = 1002501, upload-time = "2025-08-12T07:00:16.966Z" },
+ { url = "https://files.pythonhosted.org/packages/c1/03/d332828c4ff764e16c1b56c2c8f9a33488bbe796b53fb6b9c4205ddbf167/sentencepiece-0.2.1-cp313-cp313t-win_amd64.whl", hash = "sha256:33f068c9382dc2e7c228eedfd8163b52baa86bb92f50d0488bf2b7da7032e484", size = 1057555, upload-time = "2025-08-12T07:00:18.573Z" },
+ { url = "https://files.pythonhosted.org/packages/88/14/5aee0bf0864df9bd82bd59e7711362908e4935e3f9cdc1f57246b5d5c9b9/sentencepiece-0.2.1-cp313-cp313t-win_arm64.whl", hash = "sha256:b3616ad246f360e52c85781e47682d31abfb6554c779e42b65333d4b5f44ecc0", size = 1036042, upload-time = "2025-08-12T07:00:20.209Z" },
+]
+
+[[package]]
+name = "sentry-sdk"
+version = "2.53.0"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "certifi" },
+ { name = "urllib3" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/d3/06/66c8b705179bc54087845f28fd1b72f83751b6e9a195628e2e9af9926505/sentry_sdk-2.53.0.tar.gz", hash = "sha256:6520ef2c4acd823f28efc55e43eb6ce2e6d9f954a95a3aa96b6fd14871e92b77", size = 412369, upload-time = "2026-02-16T11:11:14.743Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/47/d4/2fdf854bc3b9c7f55219678f812600a20a138af2dd847d99004994eada8f/sentry_sdk-2.53.0-py2.py3-none-any.whl", hash = "sha256:46e1ed8d84355ae54406c924f6b290c3d61f4048625989a723fd622aab838899", size = 437908, upload-time = "2026-02-16T11:11:13.227Z" },
+]
+
+[[package]]
+name = "setuptools"
+version = "82.0.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/82/f3/748f4d6f65d1756b9ae577f329c951cda23fb900e4de9f70900ced962085/setuptools-82.0.0.tar.gz", hash = "sha256:22e0a2d69474c6ae4feb01951cb69d515ed23728cf96d05513d36e42b62b37cb", size = 1144893, upload-time = "2026-02-08T15:08:40.206Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/e1/c6/76dc613121b793286a3f91621d7b75a2b493e0390ddca50f11993eadf192/setuptools-82.0.0-py3-none-any.whl", hash = "sha256:70b18734b607bd1da571d097d236cfcfacaf01de45717d59e6e04b96877532e0", size = 1003468, upload-time = "2026-02-08T15:08:38.723Z" },
+]
+
+[[package]]
+name = "shellingham"
+version = "1.5.4"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/58/15/8b3609fd3830ef7b27b655beb4b4e9c62313a4e8da8c676e142cc210d58e/shellingham-1.5.4.tar.gz", hash = "sha256:8dbca0739d487e5bd35ab3ca4b36e11c4078f3a234bfce294b0a0291363404de", size = 10310, upload-time = "2023-10-24T04:13:40.426Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/e0/f9/0595336914c5619e5f28a1fb793285925a8cd4b432c9da0a987836c7f822/shellingham-1.5.4-py2.py3-none-any.whl", hash = "sha256:7ecfff8f2fd72616f7481040475a65b2bf8af90a56c89140852d1120324e8686", size = 9755, upload-time = "2023-10-24T04:13:38.866Z" },
+]
+
+[[package]]
+name = "six"
+version = "1.17.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/94/e7/b2c673351809dca68a0e064b6af791aa332cf192da575fd474ed7d6f16a2/six-1.17.0.tar.gz", hash = "sha256:ff70335d468e7eb6ec65b95b99d3a2836546063f63acc5171de367e834932a81", size = 34031, upload-time = "2024-12-04T17:35:28.174Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/b7/ce/149a00dd41f10bc29e5921b496af8b574d8413afcd5e30dfa0ed46c2cc5e/six-1.17.0-py2.py3-none-any.whl", hash = "sha256:4721f391ed90541fddacab5acf947aa0d3dc7d27b2e1e8eda2be8970586c3274", size = 11050, upload-time = "2024-12-04T17:35:26.475Z" },
+]
+
+[[package]]
+name = "soundfile"
+version = "0.13.1"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "cffi" },
+ { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11' or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "numpy", version = "2.3.5", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11' or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/e1/41/9b873a8c055582859b239be17902a85339bec6a30ad162f98c9b0288a2cc/soundfile-0.13.1.tar.gz", hash = "sha256:b2c68dab1e30297317080a5b43df57e302584c49e2942defdde0acccc53f0e5b", size = 46156, upload-time = "2025-01-25T09:17:04.831Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/64/28/e2a36573ccbcf3d57c00626a21fe51989380636e821b341d36ccca0c1c3a/soundfile-0.13.1-py2.py3-none-any.whl", hash = "sha256:a23c717560da2cf4c7b5ae1142514e0fd82d6bbd9dfc93a50423447142f2c445", size = 25751, upload-time = "2025-01-25T09:16:44.235Z" },
+ { url = "https://files.pythonhosted.org/packages/ea/ab/73e97a5b3cc46bba7ff8650a1504348fa1863a6f9d57d7001c6b67c5f20e/soundfile-0.13.1-py2.py3-none-macosx_10_9_x86_64.whl", hash = "sha256:82dc664d19831933fe59adad199bf3945ad06d84bc111a5b4c0d3089a5b9ec33", size = 1142250, upload-time = "2025-01-25T09:16:47.583Z" },
+ { url = "https://files.pythonhosted.org/packages/a0/e5/58fd1a8d7b26fc113af244f966ee3aecf03cb9293cb935daaddc1e455e18/soundfile-0.13.1-py2.py3-none-macosx_11_0_arm64.whl", hash = "sha256:743f12c12c4054921e15736c6be09ac26b3b3d603aef6fd69f9dde68748f2593", size = 1101406, upload-time = "2025-01-25T09:16:49.662Z" },
+ { url = "https://files.pythonhosted.org/packages/58/ae/c0e4a53d77cf6e9a04179535766b3321b0b9ced5f70522e4caf9329f0046/soundfile-0.13.1-py2.py3-none-manylinux_2_28_aarch64.whl", hash = "sha256:9c9e855f5a4d06ce4213f31918653ab7de0c5a8d8107cd2427e44b42df547deb", size = 1235729, upload-time = "2025-01-25T09:16:53.018Z" },
+ { url = "https://files.pythonhosted.org/packages/57/5e/70bdd9579b35003a489fc850b5047beeda26328053ebadc1fb60f320f7db/soundfile-0.13.1-py2.py3-none-manylinux_2_28_x86_64.whl", hash = "sha256:03267c4e493315294834a0870f31dbb3b28a95561b80b134f0bd3cf2d5f0e618", size = 1313646, upload-time = "2025-01-25T09:16:54.872Z" },
+ { url = "https://files.pythonhosted.org/packages/fe/df/8c11dc4dfceda14e3003bb81a0d0edcaaf0796dd7b4f826ea3e532146bba/soundfile-0.13.1-py2.py3-none-win32.whl", hash = "sha256:c734564fab7c5ddf8e9be5bf70bab68042cd17e9c214c06e365e20d64f9a69d5", size = 899881, upload-time = "2025-01-25T09:16:56.663Z" },
+ { url = "https://files.pythonhosted.org/packages/14/e9/6b761de83277f2f02ded7e7ea6f07828ec78e4b229b80e4ca55dd205b9dc/soundfile-0.13.1-py2.py3-none-win_amd64.whl", hash = "sha256:1e70a05a0626524a69e9f0f4dd2ec174b4e9567f4d8b6c11d38b5c289be36ee9", size = 1019162, upload-time = "2025-01-25T09:16:59.573Z" },
+]
+
+[[package]]
+name = "soxr"
+version = "1.0.0"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11' or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "numpy", version = "2.3.5", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11' or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/42/7e/f4b461944662ad75036df65277d6130f9411002bfb79e9df7dff40a31db9/soxr-1.0.0.tar.gz", hash = "sha256:e07ee6c1d659bc6957034f4800c60cb8b98de798823e34d2a2bba1caa85a4509", size = 171415, upload-time = "2025-09-07T13:22:21.317Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/1e/a7/11c36d71595b52fe84a220040ace679035953acf06b83bf2c7117c565d2c/soxr-1.0.0-cp310-cp310-macosx_10_14_x86_64.whl", hash = "sha256:b876a3156f67c76aef0cff1084eaf4088d9ca584bb569cb993f89a52ec5f399f", size = 206459, upload-time = "2025-09-07T13:21:46.904Z" },
+ { url = "https://files.pythonhosted.org/packages/43/5e/8962f2aeea7777d2a6e65a24a2b83c6aea1a28badeda027fd328f7f03bb7/soxr-1.0.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:4d3b957a7b0cc19ae6aa45d40b2181474e53a8dd00efd7bce6bcf4e60e020892", size = 164808, upload-time = "2025-09-07T13:21:48.83Z" },
+ { url = "https://files.pythonhosted.org/packages/fc/91/00384166f110a3888ea8efd44523ba7168dd2dc39e3e43c931cc2d069fa9/soxr-1.0.0-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:b89685faedebc45af71f08f9957b61cc6143bc94ba43fe38e97067f81e272969", size = 208586, upload-time = "2025-09-07T13:21:50.341Z" },
+ { url = "https://files.pythonhosted.org/packages/75/34/e18f1003e242aabed44ed8902534814d3e64209e4d1d874f5b9b67d73cde/soxr-1.0.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:d255741b2f0084fd02d4a2ddd77cd495be9e7e7b6f9dba1c9494f86afefac65b", size = 242310, upload-time = "2025-09-07T13:21:51.56Z" },
+ { url = "https://files.pythonhosted.org/packages/61/9c/a1c5ed106b40cc1e2e12cd58831b7f1b61c5fbdb8eceeca4b3a0b0dbef6c/soxr-1.0.0-cp310-cp310-win_amd64.whl", hash = "sha256:158a4a9055958c4b95ef91dbbe280cabb00946b5423b25a9b0ce31bd9e0a271e", size = 173561, upload-time = "2025-09-07T13:21:53.03Z" },
+ { url = "https://files.pythonhosted.org/packages/65/ce/a3262bc8733d3a4ce5f660ed88c3d97f4b12658b0909e71334cba1721dcb/soxr-1.0.0-cp311-cp311-macosx_10_14_x86_64.whl", hash = "sha256:28e19d74a5ef45c0d7000f3c70ec1719e89077379df2a1215058914d9603d2d8", size = 206739, upload-time = "2025-09-07T13:21:54.572Z" },
+ { url = "https://files.pythonhosted.org/packages/64/dc/e8cbd100b652697cc9865dbed08832e7e135ff533f453eb6db9e6168d153/soxr-1.0.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:f8dc69fc18884e53b72f6141fdf9d80997edbb4fec9dc2942edcb63abbe0d023", size = 165233, upload-time = "2025-09-07T13:21:55.887Z" },
+ { url = "https://files.pythonhosted.org/packages/75/12/4b49611c9ba5e9fe6f807d0a83352516808e8e573f8b4e712fc0c17f3363/soxr-1.0.0-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:3f15450e6f65f22f02fcd4c5a9219c873b1e583a73e232805ff160c759a6b586", size = 208867, upload-time = "2025-09-07T13:21:57.076Z" },
+ { url = "https://files.pythonhosted.org/packages/cc/70/92146ab970a3ef8c43ac160035b1e52fde5417f89adb10572f7e788d9596/soxr-1.0.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:1f73f57452f9df37b4de7a4052789fcbd474a5b28f38bba43278ae4b489d4384", size = 242633, upload-time = "2025-09-07T13:21:58.621Z" },
+ { url = "https://files.pythonhosted.org/packages/b5/a7/628479336206959463d08260bffed87905e7ba9e3bd83ca6b405a0736e94/soxr-1.0.0-cp311-cp311-win_amd64.whl", hash = "sha256:9f417c3d69236051cf5a1a7bad7c4bff04eb3d8fcaa24ac1cb06e26c8d48d8dc", size = 173814, upload-time = "2025-09-07T13:21:59.798Z" },
+ { url = "https://files.pythonhosted.org/packages/c5/c7/f92b81f1a151c13afb114f57799b86da9330bec844ea5a0d3fe6a8732678/soxr-1.0.0-cp312-abi3-macosx_10_14_x86_64.whl", hash = "sha256:abecf4e39017f3fadb5e051637c272ae5778d838e5c3926a35db36a53e3a607f", size = 205508, upload-time = "2025-09-07T13:22:01.252Z" },
+ { url = "https://files.pythonhosted.org/packages/ff/1d/c945fea9d83ea1f2be9d116b3674dbaef26ed090374a77c394b31e3b083b/soxr-1.0.0-cp312-abi3-macosx_11_0_arm64.whl", hash = "sha256:e973d487ee46aa8023ca00a139db6e09af053a37a032fe22f9ff0cc2e19c94b4", size = 163568, upload-time = "2025-09-07T13:22:03.558Z" },
+ { url = "https://files.pythonhosted.org/packages/b5/80/10640970998a1d2199bef6c4d92205f36968cddaf3e4d0e9fe35ddd405bd/soxr-1.0.0-cp312-abi3-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:e8ce273cca101aff3d8c387db5a5a41001ba76ef1837883438d3c652507a9ccc", size = 204707, upload-time = "2025-09-07T13:22:05.125Z" },
+ { url = "https://files.pythonhosted.org/packages/b1/87/2726603c13c2126cb8ded9e57381b7377f4f0df6ba4408e1af5ddbfdc3dd/soxr-1.0.0-cp312-abi3-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:e8f2a69686f2856d37823bbb7b78c3d44904f311fe70ba49b893af11d6b6047b", size = 238032, upload-time = "2025-09-07T13:22:06.428Z" },
+ { url = "https://files.pythonhosted.org/packages/ce/04/530252227f4d0721a5524a936336485dfb429bb206a66baf8e470384f4a2/soxr-1.0.0-cp312-abi3-win_amd64.whl", hash = "sha256:2a3b77b115ae7c478eecdbd060ed4f61beda542dfb70639177ac263aceda42a2", size = 172070, upload-time = "2025-09-07T13:22:07.62Z" },
+]
+
+[[package]]
+name = "split-lang"
+version = "2.1.1"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "budoux" },
+ { name = "fast-langdetect" },
+ { name = "pydantic" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/fd/ec/aa906f61cfff2f1fad7080881a36843569ac81264def09271bbd48106336/split_lang-2.1.1.tar.gz", hash = "sha256:38710be6750eb22e1ad52a9b79197f594489c015ddc8c2b0624673dd2c31eca4", size = 51649, upload-time = "2025-09-18T03:16:47.081Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/2e/3b/de8981f1034a914290218508cf58e8b72aab80bbe47354c9edd44b21039f/split_lang-2.1.1-py3-none-any.whl", hash = "sha256:7b2dd63a6b462eecc21f2fa12cefc065496084748b18b1fd40cce9c98ef0b056", size = 32725, upload-time = "2025-09-18T03:16:46.09Z" },
+]
+
+[[package]]
+name = "standard-aifc"
+version = "3.13.0"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "audioop-lts", marker = "python_full_version >= '3.13' or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "standard-chunk", marker = "python_full_version >= '3.13' or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/c4/53/6050dc3dde1671eb3db592c13b55a8005e5040131f7509cef0215212cb84/standard_aifc-3.13.0.tar.gz", hash = "sha256:64e249c7cb4b3daf2fdba4e95721f811bde8bdfc43ad9f936589b7bb2fae2e43", size = 15240, upload-time = "2024-10-30T16:01:31.772Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/c3/52/5fbb203394cc852334d1575cc020f6bcec768d2265355984dfd361968f36/standard_aifc-3.13.0-py3-none-any.whl", hash = "sha256:f7ae09cc57de1224a0dd8e3eb8f73830be7c3d0bc485de4c1f82b4a7f645ac66", size = 10492, upload-time = "2024-10-30T16:01:07.071Z" },
+]
+
+[[package]]
+name = "standard-chunk"
+version = "3.13.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/43/06/ce1bb165c1f111c7d23a1ad17204d67224baa69725bb6857a264db61beaf/standard_chunk-3.13.0.tar.gz", hash = "sha256:4ac345d37d7e686d2755e01836b8d98eda0d1a3ee90375e597ae43aaf064d654", size = 4672, upload-time = "2024-10-30T16:18:28.326Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/7a/90/a5c1084d87767d787a6caba615aa50dc587229646308d9420c960cb5e4c0/standard_chunk-3.13.0-py3-none-any.whl", hash = "sha256:17880a26c285189c644bd5bd8f8ed2bdb795d216e3293e6dbe55bbd848e2982c", size = 4944, upload-time = "2024-10-30T16:18:26.694Z" },
+]
+
+[[package]]
+name = "standard-sunau"
+version = "3.13.0"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "audioop-lts", marker = "python_full_version >= '3.13' or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/66/e3/ce8d38cb2d70e05ffeddc28bb09bad77cfef979eb0a299c9117f7ed4e6a9/standard_sunau-3.13.0.tar.gz", hash = "sha256:b319a1ac95a09a2378a8442f403c66f4fd4b36616d6df6ae82b8e536ee790908", size = 9368, upload-time = "2024-10-30T16:01:41.626Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/34/ae/e3707f6c1bc6f7aa0df600ba8075bfb8a19252140cd595335be60e25f9ee/standard_sunau-3.13.0-py3-none-any.whl", hash = "sha256:53af624a9529c41062f4c2fd33837f297f3baa196b0cfceffea6555654602622", size = 7364, upload-time = "2024-10-30T16:01:28.003Z" },
+]
+
+[[package]]
+name = "starlette"
+version = "0.52.1"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "anyio" },
+ { name = "typing-extensions", marker = "python_full_version < '3.13' or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/c4/68/79977123bb7be889ad680d79a40f339082c1978b5cfcf62c2d8d196873ac/starlette-0.52.1.tar.gz", hash = "sha256:834edd1b0a23167694292e94f597773bc3f89f362be6effee198165a35d62933", size = 2653702, upload-time = "2026-01-18T13:34:11.062Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/81/0d/13d1d239a25cbfb19e740db83143e95c772a1fe10202dda4b76792b114dd/starlette-0.52.1-py3-none-any.whl", hash = "sha256:0029d43eb3d273bc4f83a08720b4912ea4b071087a3b48db01b7c839f7954d74", size = 74272, upload-time = "2026-01-18T13:34:09.188Z" },
+]
+
+[[package]]
+name = "sympy"
+version = "1.14.0"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "mpmath" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/83/d3/803453b36afefb7c2bb238361cd4ae6125a569b4db67cd9e79846ba2d68c/sympy-1.14.0.tar.gz", hash = "sha256:d3d3fe8df1e5a0b42f0e7bdf50541697dbe7d23746e894990c030e2b05e72517", size = 7793921, upload-time = "2025-04-27T18:05:01.611Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/a2/09/77d55d46fd61b4a135c444fc97158ef34a095e5681d0a6c10b75bf356191/sympy-1.14.0-py3-none-any.whl", hash = "sha256:e091cc3e99d2141a0ba2847328f5479b05d94a6635cb96148ccb3f34671bd8f5", size = 6299353, upload-time = "2025-04-27T18:04:59.103Z" },
+]
+
+[[package]]
+name = "tensorboard"
+version = "2.20.0"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "absl-py" },
+ { name = "grpcio" },
+ { name = "markdown" },
+ { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11' or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "numpy", version = "2.3.5", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11' or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "packaging" },
+ { name = "pillow" },
+ { name = "protobuf" },
+ { name = "setuptools" },
+ { name = "tensorboard-data-server" },
+ { name = "werkzeug" },
+]
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/9c/d9/a5db55f88f258ac669a92858b70a714bbbd5acd993820b41ec4a96a4d77f/tensorboard-2.20.0-py3-none-any.whl", hash = "sha256:9dc9f978cb84c0723acf9a345d96c184f0293d18f166bb8d59ee098e6cfaaba6", size = 5525680, upload-time = "2025-07-17T19:20:49.638Z" },
+]
+
+[[package]]
+name = "tensorboard-data-server"
+version = "0.7.2"
+source = { registry = "https://pypi.org/simple" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/7a/13/e503968fefabd4c6b2650af21e110aa8466fe21432cd7c43a84577a89438/tensorboard_data_server-0.7.2-py3-none-any.whl", hash = "sha256:7e0610d205889588983836ec05dc098e80f97b7e7bbff7e994ebb78f578d0ddb", size = 2356, upload-time = "2023-10-23T21:23:32.16Z" },
+ { url = "https://files.pythonhosted.org/packages/b7/85/dabeaf902892922777492e1d253bb7e1264cadce3cea932f7ff599e53fea/tensorboard_data_server-0.7.2-py3-none-macosx_10_9_x86_64.whl", hash = "sha256:9fe5d24221b29625dbc7328b0436ca7fc1c23de4acf4d272f1180856e32f9f60", size = 4823598, upload-time = "2023-10-23T21:23:33.714Z" },
+ { url = "https://files.pythonhosted.org/packages/73/c6/825dab04195756cf8ff2e12698f22513b3db2f64925bdd41671bfb33aaa5/tensorboard_data_server-0.7.2-py3-none-manylinux_2_31_x86_64.whl", hash = "sha256:ef687163c24185ae9754ed5650eb5bc4d84ff257aabdc33f0cc6f74d8ba54530", size = 6590363, upload-time = "2023-10-23T21:23:35.583Z" },
+]
+
+[[package]]
+name = "tensorboardx"
+version = "2.6.4"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11' or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "numpy", version = "2.3.5", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11' or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "packaging" },
+ { name = "protobuf" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/2b/c5/d4cc6e293fb837aaf9f76dd7745476aeba8ef7ef5146c3b3f9ee375fe7a5/tensorboardx-2.6.4.tar.gz", hash = "sha256:b163ccb7798b31100b9f5fa4d6bc22dad362d7065c2f24b51e50731adde86828", size = 4769801, upload-time = "2025-06-10T22:37:07.419Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/e0/1d/b5d63f1a6b824282b57f7b581810d20b7a28ca951f2d5b59f1eb0782c12b/tensorboardx-2.6.4-py3-none-any.whl", hash = "sha256:5970cf3a1f0a6a6e8b180ccf46f3fe832b8a25a70b86e5a237048a7c0beb18e2", size = 87201, upload-time = "2025-06-10T22:37:05.44Z" },
+]
+
+[[package]]
+name = "threadpoolctl"
+version = "3.6.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/b7/4d/08c89e34946fce2aec4fbb45c9016efd5f4d7f24af8e5d93296e935631d8/threadpoolctl-3.6.0.tar.gz", hash = "sha256:8ab8b4aa3491d812b623328249fab5302a68d2d71745c8a4c719a2fcaba9f44e", size = 21274, upload-time = "2025-03-13T13:49:23.031Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/32/d5/f9a850d79b0851d1d4ef6456097579a9005b31fea68726a4ae5f2d82ddd9/threadpoolctl-3.6.0-py3-none-any.whl", hash = "sha256:43a0b8fd5a2928500110039e43a5eed8480b918967083ea48dc3ab9f13c4a7fb", size = 18638, upload-time = "2025-03-13T13:49:21.846Z" },
+]
+
+[[package]]
+name = "tiktoken"
+version = "0.12.0"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "regex", marker = "(platform_machine != 'aarch64' and sys_platform == 'darwin') or (platform_machine != 'x86_64' and sys_platform == 'linux') or (sys_platform != 'darwin' and sys_platform != 'linux')" },
+ { name = "requests", marker = "(platform_machine != 'aarch64' and sys_platform == 'darwin') or (platform_machine != 'x86_64' and sys_platform == 'linux') or (sys_platform != 'darwin' and sys_platform != 'linux')" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/7d/ab/4d017d0f76ec3171d469d80fc03dfbb4e48a4bcaddaa831b31d526f05edc/tiktoken-0.12.0.tar.gz", hash = "sha256:b18ba7ee2b093863978fcb14f74b3707cdc8d4d4d3836853ce7ec60772139931", size = 37806, upload-time = "2025-10-06T20:22:45.419Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/89/b3/2cb7c17b6c4cf8ca983204255d3f1d95eda7213e247e6947a0ee2c747a2c/tiktoken-0.12.0-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:3de02f5a491cfd179aec916eddb70331814bd6bf764075d39e21d5862e533970", size = 1051991, upload-time = "2025-10-06T20:21:34.098Z" },
+ { url = "https://files.pythonhosted.org/packages/27/0f/df139f1df5f6167194ee5ab24634582ba9a1b62c6b996472b0277ec80f66/tiktoken-0.12.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:b6cfb6d9b7b54d20af21a912bfe63a2727d9cfa8fbda642fd8322c70340aad16", size = 995798, upload-time = "2025-10-06T20:21:35.579Z" },
+ { url = "https://files.pythonhosted.org/packages/ef/5d/26a691f28ab220d5edc09b9b787399b130f24327ef824de15e5d85ef21aa/tiktoken-0.12.0-cp310-cp310-manylinux_2_28_aarch64.whl", hash = "sha256:cde24cdb1b8a08368f709124f15b36ab5524aac5fa830cc3fdce9c03d4fb8030", size = 1129865, upload-time = "2025-10-06T20:21:36.675Z" },
+ { url = "https://files.pythonhosted.org/packages/b2/94/443fab3d4e5ebecac895712abd3849b8da93b7b7dec61c7db5c9c7ebe40c/tiktoken-0.12.0-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:6de0da39f605992649b9cfa6f84071e3f9ef2cec458d08c5feb1b6f0ff62e134", size = 1152856, upload-time = "2025-10-06T20:21:37.873Z" },
+ { url = "https://files.pythonhosted.org/packages/54/35/388f941251b2521c70dd4c5958e598ea6d2c88e28445d2fb8189eecc1dfc/tiktoken-0.12.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:6faa0534e0eefbcafaccb75927a4a380463a2eaa7e26000f0173b920e98b720a", size = 1195308, upload-time = "2025-10-06T20:21:39.577Z" },
+ { url = "https://files.pythonhosted.org/packages/f8/00/c6681c7f833dd410576183715a530437a9873fa910265817081f65f9105f/tiktoken-0.12.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:82991e04fc860afb933efb63957affc7ad54f83e2216fe7d319007dab1ba5892", size = 1255697, upload-time = "2025-10-06T20:21:41.154Z" },
+ { url = "https://files.pythonhosted.org/packages/5f/d2/82e795a6a9bafa034bf26a58e68fe9a89eeaaa610d51dbeb22106ba04f0a/tiktoken-0.12.0-cp310-cp310-win_amd64.whl", hash = "sha256:6fb2995b487c2e31acf0a9e17647e3b242235a20832642bb7a9d1a181c0c1bb1", size = 879375, upload-time = "2025-10-06T20:21:43.201Z" },
+ { url = "https://files.pythonhosted.org/packages/de/46/21ea696b21f1d6d1efec8639c204bdf20fde8bafb351e1355c72c5d7de52/tiktoken-0.12.0-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:6e227c7f96925003487c33b1b32265fad2fbcec2b7cf4817afb76d416f40f6bb", size = 1051565, upload-time = "2025-10-06T20:21:44.566Z" },
+ { url = "https://files.pythonhosted.org/packages/c9/d9/35c5d2d9e22bb2a5f74ba48266fb56c63d76ae6f66e02feb628671c0283e/tiktoken-0.12.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:c06cf0fcc24c2cb2adb5e185c7082a82cba29c17575e828518c2f11a01f445aa", size = 995284, upload-time = "2025-10-06T20:21:45.622Z" },
+ { url = "https://files.pythonhosted.org/packages/01/84/961106c37b8e49b9fdcf33fe007bb3a8fdcc380c528b20cc7fbba80578b8/tiktoken-0.12.0-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:f18f249b041851954217e9fd8e5c00b024ab2315ffda5ed77665a05fa91f42dc", size = 1129201, upload-time = "2025-10-06T20:21:47.074Z" },
+ { url = "https://files.pythonhosted.org/packages/6a/d0/3d9275198e067f8b65076a68894bb52fd253875f3644f0a321a720277b8a/tiktoken-0.12.0-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:47a5bc270b8c3db00bb46ece01ef34ad050e364b51d406b6f9730b64ac28eded", size = 1152444, upload-time = "2025-10-06T20:21:48.139Z" },
+ { url = "https://files.pythonhosted.org/packages/78/db/a58e09687c1698a7c592e1038e01c206569b86a0377828d51635561f8ebf/tiktoken-0.12.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:508fa71810c0efdcd1b898fda574889ee62852989f7c1667414736bcb2b9a4bd", size = 1195080, upload-time = "2025-10-06T20:21:49.246Z" },
+ { url = "https://files.pythonhosted.org/packages/9e/1b/a9e4d2bf91d515c0f74afc526fd773a812232dd6cda33ebea7f531202325/tiktoken-0.12.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:a1af81a6c44f008cba48494089dd98cccb8b313f55e961a52f5b222d1e507967", size = 1255240, upload-time = "2025-10-06T20:21:50.274Z" },
+ { url = "https://files.pythonhosted.org/packages/9d/15/963819345f1b1fb0809070a79e9dd96938d4ca41297367d471733e79c76c/tiktoken-0.12.0-cp311-cp311-win_amd64.whl", hash = "sha256:3e68e3e593637b53e56f7237be560f7a394451cb8c11079755e80ae64b9e6def", size = 879422, upload-time = "2025-10-06T20:21:51.734Z" },
+ { url = "https://files.pythonhosted.org/packages/a4/85/be65d39d6b647c79800fd9d29241d081d4eeb06271f383bb87200d74cf76/tiktoken-0.12.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:b97f74aca0d78a1ff21b8cd9e9925714c15a9236d6ceacf5c7327c117e6e21e8", size = 1050728, upload-time = "2025-10-06T20:21:52.756Z" },
+ { url = "https://files.pythonhosted.org/packages/4a/42/6573e9129bc55c9bf7300b3a35bef2c6b9117018acca0dc760ac2d93dffe/tiktoken-0.12.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:2b90f5ad190a4bb7c3eb30c5fa32e1e182ca1ca79f05e49b448438c3e225a49b", size = 994049, upload-time = "2025-10-06T20:21:53.782Z" },
+ { url = "https://files.pythonhosted.org/packages/66/c5/ed88504d2f4a5fd6856990b230b56d85a777feab84e6129af0822f5d0f70/tiktoken-0.12.0-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:65b26c7a780e2139e73acc193e5c63ac754021f160df919add909c1492c0fb37", size = 1129008, upload-time = "2025-10-06T20:21:54.832Z" },
+ { url = "https://files.pythonhosted.org/packages/f4/90/3dae6cc5436137ebd38944d396b5849e167896fc2073da643a49f372dc4f/tiktoken-0.12.0-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:edde1ec917dfd21c1f2f8046b86348b0f54a2c0547f68149d8600859598769ad", size = 1152665, upload-time = "2025-10-06T20:21:56.129Z" },
+ { url = "https://files.pythonhosted.org/packages/a3/fe/26df24ce53ffde419a42f5f53d755b995c9318908288c17ec3f3448313a3/tiktoken-0.12.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:35a2f8ddd3824608b3d650a000c1ef71f730d0c56486845705a8248da00f9fe5", size = 1194230, upload-time = "2025-10-06T20:21:57.546Z" },
+ { url = "https://files.pythonhosted.org/packages/20/cc/b064cae1a0e9fac84b0d2c46b89f4e57051a5f41324e385d10225a984c24/tiktoken-0.12.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:83d16643edb7fa2c99eff2ab7733508aae1eebb03d5dfc46f5565862810f24e3", size = 1254688, upload-time = "2025-10-06T20:21:58.619Z" },
+ { url = "https://files.pythonhosted.org/packages/81/10/b8523105c590c5b8349f2587e2fdfe51a69544bd5a76295fc20f2374f470/tiktoken-0.12.0-cp312-cp312-win_amd64.whl", hash = "sha256:ffc5288f34a8bc02e1ea7047b8d041104791d2ddbf42d1e5fa07822cbffe16bd", size = 878694, upload-time = "2025-10-06T20:21:59.876Z" },
+ { url = "https://files.pythonhosted.org/packages/00/61/441588ee21e6b5cdf59d6870f86beb9789e532ee9718c251b391b70c68d6/tiktoken-0.12.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:775c2c55de2310cc1bc9a3ad8826761cbdc87770e586fd7b6da7d4589e13dab3", size = 1050802, upload-time = "2025-10-06T20:22:00.96Z" },
+ { url = "https://files.pythonhosted.org/packages/1f/05/dcf94486d5c5c8d34496abe271ac76c5b785507c8eae71b3708f1ad9b45a/tiktoken-0.12.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:a01b12f69052fbe4b080a2cfb867c4de12c704b56178edf1d1d7b273561db160", size = 993995, upload-time = "2025-10-06T20:22:02.788Z" },
+ { url = "https://files.pythonhosted.org/packages/a0/70/5163fe5359b943f8db9946b62f19be2305de8c3d78a16f629d4165e2f40e/tiktoken-0.12.0-cp313-cp313-manylinux_2_28_aarch64.whl", hash = "sha256:01d99484dc93b129cd0964f9d34eee953f2737301f18b3c7257bf368d7615baa", size = 1128948, upload-time = "2025-10-06T20:22:03.814Z" },
+ { url = "https://files.pythonhosted.org/packages/0c/da/c028aa0babf77315e1cef357d4d768800c5f8a6de04d0eac0f377cb619fa/tiktoken-0.12.0-cp313-cp313-manylinux_2_28_x86_64.whl", hash = "sha256:4a1a4fcd021f022bfc81904a911d3df0f6543b9e7627b51411da75ff2fe7a1be", size = 1151986, upload-time = "2025-10-06T20:22:05.173Z" },
+ { url = "https://files.pythonhosted.org/packages/a0/5a/886b108b766aa53e295f7216b509be95eb7d60b166049ce2c58416b25f2a/tiktoken-0.12.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:981a81e39812d57031efdc9ec59fa32b2a5a5524d20d4776574c4b4bd2e9014a", size = 1194222, upload-time = "2025-10-06T20:22:06.265Z" },
+ { url = "https://files.pythonhosted.org/packages/f4/f8/4db272048397636ac7a078d22773dd2795b1becee7bc4922fe6207288d57/tiktoken-0.12.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:9baf52f84a3f42eef3ff4e754a0db79a13a27921b457ca9832cf944c6be4f8f3", size = 1255097, upload-time = "2025-10-06T20:22:07.403Z" },
+ { url = "https://files.pythonhosted.org/packages/8e/32/45d02e2e0ea2be3a9ed22afc47d93741247e75018aac967b713b2941f8ea/tiktoken-0.12.0-cp313-cp313-win_amd64.whl", hash = "sha256:b8a0cd0c789a61f31bf44851defbd609e8dd1e2c8589c614cc1060940ef1f697", size = 879117, upload-time = "2025-10-06T20:22:08.418Z" },
+ { url = "https://files.pythonhosted.org/packages/ce/76/994fc868f88e016e6d05b0da5ac24582a14c47893f4474c3e9744283f1d5/tiktoken-0.12.0-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:d5f89ea5680066b68bcb797ae85219c72916c922ef0fcdd3480c7d2315ffff16", size = 1050309, upload-time = "2025-10-06T20:22:10.939Z" },
+ { url = "https://files.pythonhosted.org/packages/f6/b8/57ef1456504c43a849821920d582a738a461b76a047f352f18c0b26c6516/tiktoken-0.12.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:b4e7ed1c6a7a8a60a3230965bdedba8cc58f68926b835e519341413370e0399a", size = 993712, upload-time = "2025-10-06T20:22:12.115Z" },
+ { url = "https://files.pythonhosted.org/packages/72/90/13da56f664286ffbae9dbcfadcc625439142675845baa62715e49b87b68b/tiktoken-0.12.0-cp313-cp313t-manylinux_2_28_aarch64.whl", hash = "sha256:fc530a28591a2d74bce821d10b418b26a094bf33839e69042a6e86ddb7a7fb27", size = 1128725, upload-time = "2025-10-06T20:22:13.541Z" },
+ { url = "https://files.pythonhosted.org/packages/05/df/4f80030d44682235bdaecd7346c90f67ae87ec8f3df4a3442cb53834f7e4/tiktoken-0.12.0-cp313-cp313t-manylinux_2_28_x86_64.whl", hash = "sha256:06a9f4f49884139013b138920a4c393aa6556b2f8f536345f11819389c703ebb", size = 1151875, upload-time = "2025-10-06T20:22:14.559Z" },
+ { url = "https://files.pythonhosted.org/packages/22/1f/ae535223a8c4ef4c0c1192e3f9b82da660be9eb66b9279e95c99288e9dab/tiktoken-0.12.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:04f0e6a985d95913cabc96a741c5ffec525a2c72e9df086ff17ebe35985c800e", size = 1194451, upload-time = "2025-10-06T20:22:15.545Z" },
+ { url = "https://files.pythonhosted.org/packages/78/a7/f8ead382fce0243cb625c4f266e66c27f65ae65ee9e77f59ea1653b6d730/tiktoken-0.12.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:0ee8f9ae00c41770b5f9b0bb1235474768884ae157de3beb5439ca0fd70f3e25", size = 1253794, upload-time = "2025-10-06T20:22:16.624Z" },
+ { url = "https://files.pythonhosted.org/packages/93/e0/6cc82a562bc6365785a3ff0af27a2a092d57c47d7a81d9e2295d8c36f011/tiktoken-0.12.0-cp313-cp313t-win_amd64.whl", hash = "sha256:dc2dd125a62cb2b3d858484d6c614d136b5b848976794edfb63688d539b8b93f", size = 878777, upload-time = "2025-10-06T20:22:18.036Z" },
+]
+
+[[package]]
+name = "tojyutping"
+version = "3.2.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/fe/fe/d10b672782478e87b687779d7303c35d763132cf1b04ad4209c95eb7de4a/tojyutping-3.2.0.tar.gz", hash = "sha256:3a78560ff83716294bb87e88117e8f81ea3b4ef6fc6e9a54411d0e1dd356b6f0", size = 302121, upload-time = "2024-09-24T23:49:08.471Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/21/73/232b2ddc09db98b1ae37df6aebffa9c4808196e588d73f40cd6d26596cb7/ToJyutping-3.2.0-py3-none-any.whl", hash = "sha256:af7fe10095a3ce91b5cf2bcd7e7c62002407f432c3083562f725ddc140c6fd7e", size = 287884, upload-time = "2024-09-24T23:49:06.286Z" },
+]
+
+[[package]]
+name = "tokenizers"
+version = "0.22.2"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "huggingface-hub" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/73/6f/f80cfef4a312e1fb34baf7d85c72d4411afde10978d4657f8cdd811d3ccc/tokenizers-0.22.2.tar.gz", hash = "sha256:473b83b915e547aa366d1eee11806deaf419e17be16310ac0a14077f1e28f917", size = 372115, upload-time = "2026-01-05T10:45:15.988Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/92/97/5dbfabf04c7e348e655e907ed27913e03db0923abb5dfdd120d7b25630e1/tokenizers-0.22.2-cp39-abi3-macosx_10_12_x86_64.whl", hash = "sha256:544dd704ae7238755d790de45ba8da072e9af3eea688f698b137915ae959281c", size = 3100275, upload-time = "2026-01-05T10:41:02.158Z" },
+ { url = "https://files.pythonhosted.org/packages/2e/47/174dca0502ef88b28f1c9e06b73ce33500eedfac7a7692108aec220464e7/tokenizers-0.22.2-cp39-abi3-macosx_11_0_arm64.whl", hash = "sha256:1e418a55456beedca4621dbab65a318981467a2b188e982a23e117f115ce5001", size = 2981472, upload-time = "2026-01-05T10:41:00.276Z" },
+ { url = "https://files.pythonhosted.org/packages/d6/84/7990e799f1309a8b87af6b948f31edaa12a3ed22d11b352eaf4f4b2e5753/tokenizers-0.22.2-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2249487018adec45d6e3554c71d46eb39fa8ea67156c640f7513eb26f318cec7", size = 3290736, upload-time = "2026-01-05T10:40:32.165Z" },
+ { url = "https://files.pythonhosted.org/packages/78/59/09d0d9ba94dcd5f4f1368d4858d24546b4bdc0231c2354aa31d6199f0399/tokenizers-0.22.2-cp39-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:25b85325d0815e86e0bac263506dd114578953b7b53d7de09a6485e4a160a7dd", size = 3168835, upload-time = "2026-01-05T10:40:38.847Z" },
+ { url = "https://files.pythonhosted.org/packages/47/50/b3ebb4243e7160bda8d34b731e54dd8ab8b133e50775872e7a434e524c28/tokenizers-0.22.2-cp39-abi3-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:bfb88f22a209ff7b40a576d5324bf8286b519d7358663db21d6246fb17eea2d5", size = 3521673, upload-time = "2026-01-05T10:40:56.614Z" },
+ { url = "https://files.pythonhosted.org/packages/e0/fa/89f4cb9e08df770b57adb96f8cbb7e22695a4cb6c2bd5f0c4f0ebcf33b66/tokenizers-0.22.2-cp39-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1c774b1276f71e1ef716e5486f21e76333464f47bece56bbd554485982a9e03e", size = 3724818, upload-time = "2026-01-05T10:40:44.507Z" },
+ { url = "https://files.pythonhosted.org/packages/64/04/ca2363f0bfbe3b3d36e95bf67e56a4c88c8e3362b658e616d1ac185d47f2/tokenizers-0.22.2-cp39-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:df6c4265b289083bf710dff49bc51ef252f9d5be33a45ee2bed151114a56207b", size = 3379195, upload-time = "2026-01-05T10:40:51.139Z" },
+ { url = "https://files.pythonhosted.org/packages/2e/76/932be4b50ef6ccedf9d3c6639b056a967a86258c6d9200643f01269211ca/tokenizers-0.22.2-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:369cc9fc8cc10cb24143873a0d95438bb8ee257bb80c71989e3ee290e8d72c67", size = 3274982, upload-time = "2026-01-05T10:40:58.331Z" },
+ { url = "https://files.pythonhosted.org/packages/1d/28/5f9f5a4cc211b69e89420980e483831bcc29dade307955cc9dc858a40f01/tokenizers-0.22.2-cp39-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:29c30b83d8dcd061078b05ae0cb94d3c710555fbb44861139f9f83dcca3dc3e4", size = 9478245, upload-time = "2026-01-05T10:41:04.053Z" },
+ { url = "https://files.pythonhosted.org/packages/6c/fb/66e2da4704d6aadebf8cb39f1d6d1957df667ab24cff2326b77cda0dcb85/tokenizers-0.22.2-cp39-abi3-musllinux_1_2_armv7l.whl", hash = "sha256:37ae80a28c1d3265bb1f22464c856bd23c02a05bb211e56d0c5301a435be6c1a", size = 9560069, upload-time = "2026-01-05T10:45:10.673Z" },
+ { url = "https://files.pythonhosted.org/packages/16/04/fed398b05caa87ce9b1a1bb5166645e38196081b225059a6edaff6440fac/tokenizers-0.22.2-cp39-abi3-musllinux_1_2_i686.whl", hash = "sha256:791135ee325f2336f498590eb2f11dc5c295232f288e75c99a36c5dbce63088a", size = 9899263, upload-time = "2026-01-05T10:45:12.559Z" },
+ { url = "https://files.pythonhosted.org/packages/05/a1/d62dfe7376beaaf1394917e0f8e93ee5f67fea8fcf4107501db35996586b/tokenizers-0.22.2-cp39-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:38337540fbbddff8e999d59970f3c6f35a82de10053206a7562f1ea02d046fa5", size = 10033429, upload-time = "2026-01-05T10:45:14.333Z" },
+ { url = "https://files.pythonhosted.org/packages/fd/18/a545c4ea42af3df6effd7d13d250ba77a0a86fb20393143bbb9a92e434d4/tokenizers-0.22.2-cp39-abi3-win32.whl", hash = "sha256:a6bf3f88c554a2b653af81f3204491c818ae2ac6fbc09e76ef4773351292bc92", size = 2502363, upload-time = "2026-01-05T10:45:20.593Z" },
+ { url = "https://files.pythonhosted.org/packages/65/71/0670843133a43d43070abeb1949abfdef12a86d490bea9cd9e18e37c5ff7/tokenizers-0.22.2-cp39-abi3-win_amd64.whl", hash = "sha256:c9ea31edff2968b44a88f97d784c2f16dc0729b8b143ed004699ebca91f05c48", size = 2747786, upload-time = "2026-01-05T10:45:18.411Z" },
+ { url = "https://files.pythonhosted.org/packages/72/f4/0de46cfa12cdcbcd464cc59fde36912af405696f687e53a091fb432f694c/tokenizers-0.22.2-cp39-abi3-win_arm64.whl", hash = "sha256:9ce725d22864a1e965217204946f830c37876eee3b2ba6fc6255e8e903d5fcbc", size = 2612133, upload-time = "2026-01-05T10:45:17.232Z" },
+ { url = "https://files.pythonhosted.org/packages/84/04/655b79dbcc9b3ac5f1479f18e931a344af67e5b7d3b251d2dcdcd7558592/tokenizers-0.22.2-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:753d47ebd4542742ef9261d9da92cd545b2cacbb48349a1225466745bb866ec4", size = 3282301, upload-time = "2026-01-05T10:40:34.858Z" },
+ { url = "https://files.pythonhosted.org/packages/46/cd/e4851401f3d8f6f45d8480262ab6a5c8cb9c4302a790a35aa14eeed6d2fd/tokenizers-0.22.2-pp310-pypy310_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:e10bf9113d209be7cd046d40fbabbaf3278ff6d18eb4da4c500443185dc1896c", size = 3161308, upload-time = "2026-01-05T10:40:40.737Z" },
+ { url = "https://files.pythonhosted.org/packages/6f/6e/55553992a89982cd12d4a66dddb5e02126c58677ea3931efcbe601d419db/tokenizers-0.22.2-pp310-pypy310_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:64d94e84f6660764e64e7e0b22baa72f6cd942279fdbb21d46abd70d179f0195", size = 3718964, upload-time = "2026-01-05T10:40:46.56Z" },
+ { url = "https://files.pythonhosted.org/packages/59/8c/b1c87148aa15e099243ec9f0cf9d0e970cc2234c3257d558c25a2c5304e6/tokenizers-0.22.2-pp310-pypy310_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f01a9c019878532f98927d2bacb79bbb404b43d3437455522a00a30718cdedb5", size = 3373542, upload-time = "2026-01-05T10:40:52.803Z" },
+]
+
+[[package]]
+name = "tomli"
+version = "2.4.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/82/30/31573e9457673ab10aa432461bee537ce6cef177667deca369efb79df071/tomli-2.4.0.tar.gz", hash = "sha256:aa89c3f6c277dd275d8e243ad24f3b5e701491a860d5121f2cdd399fbb31fc9c", size = 17477, upload-time = "2026-01-11T11:22:38.165Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/3c/d9/3dc2289e1f3b32eb19b9785b6a006b28ee99acb37d1d47f78d4c10e28bf8/tomli-2.4.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:b5ef256a3fd497d4973c11bf142e9ed78b150d36f5773f1ca6088c230ffc5867", size = 153663, upload-time = "2026-01-11T11:21:45.27Z" },
+ { url = "https://files.pythonhosted.org/packages/51/32/ef9f6845e6b9ca392cd3f64f9ec185cc6f09f0a2df3db08cbe8809d1d435/tomli-2.4.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:5572e41282d5268eb09a697c89a7bee84fae66511f87533a6f88bd2f7b652da9", size = 148469, upload-time = "2026-01-11T11:21:46.873Z" },
+ { url = "https://files.pythonhosted.org/packages/d6/c2/506e44cce89a8b1b1e047d64bd495c22c9f71f21e05f380f1a950dd9c217/tomli-2.4.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:551e321c6ba03b55676970b47cb1b73f14a0a4dce6a3e1a9458fd6d921d72e95", size = 236039, upload-time = "2026-01-11T11:21:48.503Z" },
+ { url = "https://files.pythonhosted.org/packages/b3/40/e1b65986dbc861b7e986e8ec394598187fa8aee85b1650b01dd925ca0be8/tomli-2.4.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:5e3f639a7a8f10069d0e15408c0b96a2a828cfdec6fca05296ebcdcc28ca7c76", size = 243007, upload-time = "2026-01-11T11:21:49.456Z" },
+ { url = "https://files.pythonhosted.org/packages/9c/6f/6e39ce66b58a5b7ae572a0f4352ff40c71e8573633deda43f6a379d56b3e/tomli-2.4.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:1b168f2731796b045128c45982d3a4874057626da0e2ef1fdd722848b741361d", size = 240875, upload-time = "2026-01-11T11:21:50.755Z" },
+ { url = "https://files.pythonhosted.org/packages/aa/ad/cb089cb190487caa80204d503c7fd0f4d443f90b95cf4ef5cf5aa0f439b0/tomli-2.4.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:133e93646ec4300d651839d382d63edff11d8978be23da4cc106f5a18b7d0576", size = 246271, upload-time = "2026-01-11T11:21:51.81Z" },
+ { url = "https://files.pythonhosted.org/packages/0b/63/69125220e47fd7a3a27fd0de0c6398c89432fec41bc739823bcc66506af6/tomli-2.4.0-cp311-cp311-win32.whl", hash = "sha256:b6c78bdf37764092d369722d9946cb65b8767bfa4110f902a1b2542d8d173c8a", size = 96770, upload-time = "2026-01-11T11:21:52.647Z" },
+ { url = "https://files.pythonhosted.org/packages/1e/0d/a22bb6c83f83386b0008425a6cd1fa1c14b5f3dd4bad05e98cf3dbbf4a64/tomli-2.4.0-cp311-cp311-win_amd64.whl", hash = "sha256:d3d1654e11d724760cdb37a3d7691f0be9db5fbdaef59c9f532aabf87006dbaa", size = 107626, upload-time = "2026-01-11T11:21:53.459Z" },
+ { url = "https://files.pythonhosted.org/packages/2f/6d/77be674a3485e75cacbf2ddba2b146911477bd887dda9d8c9dfb2f15e871/tomli-2.4.0-cp311-cp311-win_arm64.whl", hash = "sha256:cae9c19ed12d4e8f3ebf46d1a75090e4c0dc16271c5bce1c833ac168f08fb614", size = 94842, upload-time = "2026-01-11T11:21:54.831Z" },
+ { url = "https://files.pythonhosted.org/packages/3c/43/7389a1869f2f26dba52404e1ef13b4784b6b37dac93bac53457e3ff24ca3/tomli-2.4.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:920b1de295e72887bafa3ad9f7a792f811847d57ea6b1215154030cf131f16b1", size = 154894, upload-time = "2026-01-11T11:21:56.07Z" },
+ { url = "https://files.pythonhosted.org/packages/e9/05/2f9bf110b5294132b2edf13fe6ca6ae456204f3d749f623307cbb7a946f2/tomli-2.4.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:7d6d9a4aee98fac3eab4952ad1d73aee87359452d1c086b5ceb43ed02ddb16b8", size = 149053, upload-time = "2026-01-11T11:21:57.467Z" },
+ { url = "https://files.pythonhosted.org/packages/e8/41/1eda3ca1abc6f6154a8db4d714a4d35c4ad90adc0bcf700657291593fbf3/tomli-2.4.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:36b9d05b51e65b254ea6c2585b59d2c4cb91c8a3d91d0ed0f17591a29aaea54a", size = 243481, upload-time = "2026-01-11T11:21:58.661Z" },
+ { url = "https://files.pythonhosted.org/packages/d2/6d/02ff5ab6c8868b41e7d4b987ce2b5f6a51d3335a70aa144edd999e055a01/tomli-2.4.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:1c8a885b370751837c029ef9bc014f27d80840e48bac415f3412e6593bbc18c1", size = 251720, upload-time = "2026-01-11T11:22:00.178Z" },
+ { url = "https://files.pythonhosted.org/packages/7b/57/0405c59a909c45d5b6f146107c6d997825aa87568b042042f7a9c0afed34/tomli-2.4.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:8768715ffc41f0008abe25d808c20c3d990f42b6e2e58305d5da280ae7d1fa3b", size = 247014, upload-time = "2026-01-11T11:22:01.238Z" },
+ { url = "https://files.pythonhosted.org/packages/2c/0e/2e37568edd944b4165735687cbaf2fe3648129e440c26d02223672ee0630/tomli-2.4.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:7b438885858efd5be02a9a133caf5812b8776ee0c969fea02c45e8e3f296ba51", size = 251820, upload-time = "2026-01-11T11:22:02.727Z" },
+ { url = "https://files.pythonhosted.org/packages/5a/1c/ee3b707fdac82aeeb92d1a113f803cf6d0f37bdca0849cb489553e1f417a/tomli-2.4.0-cp312-cp312-win32.whl", hash = "sha256:0408e3de5ec77cc7f81960c362543cbbd91ef883e3138e81b729fc3eea5b9729", size = 97712, upload-time = "2026-01-11T11:22:03.777Z" },
+ { url = "https://files.pythonhosted.org/packages/69/13/c07a9177d0b3bab7913299b9278845fc6eaaca14a02667c6be0b0a2270c8/tomli-2.4.0-cp312-cp312-win_amd64.whl", hash = "sha256:685306e2cc7da35be4ee914fd34ab801a6acacb061b6a7abca922aaf9ad368da", size = 108296, upload-time = "2026-01-11T11:22:04.86Z" },
+ { url = "https://files.pythonhosted.org/packages/18/27/e267a60bbeeee343bcc279bb9e8fbed0cbe224bc7b2a3dc2975f22809a09/tomli-2.4.0-cp312-cp312-win_arm64.whl", hash = "sha256:5aa48d7c2356055feef06a43611fc401a07337d5b006be13a30f6c58f869e3c3", size = 94553, upload-time = "2026-01-11T11:22:05.854Z" },
+ { url = "https://files.pythonhosted.org/packages/34/91/7f65f9809f2936e1f4ce6268ae1903074563603b2a2bd969ebbda802744f/tomli-2.4.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:84d081fbc252d1b6a982e1870660e7330fb8f90f676f6e78b052ad4e64714bf0", size = 154915, upload-time = "2026-01-11T11:22:06.703Z" },
+ { url = "https://files.pythonhosted.org/packages/20/aa/64dd73a5a849c2e8f216b755599c511badde80e91e9bc2271baa7b2cdbb1/tomli-2.4.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:9a08144fa4cba33db5255f9b74f0b89888622109bd2776148f2597447f92a94e", size = 149038, upload-time = "2026-01-11T11:22:07.56Z" },
+ { url = "https://files.pythonhosted.org/packages/9e/8a/6d38870bd3d52c8d1505ce054469a73f73a0fe62c0eaf5dddf61447e32fa/tomli-2.4.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:c73add4bb52a206fd0c0723432db123c0c75c280cbd67174dd9d2db228ebb1b4", size = 242245, upload-time = "2026-01-11T11:22:08.344Z" },
+ { url = "https://files.pythonhosted.org/packages/59/bb/8002fadefb64ab2669e5b977df3f5e444febea60e717e755b38bb7c41029/tomli-2.4.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:1fb2945cbe303b1419e2706e711b7113da57b7db31ee378d08712d678a34e51e", size = 250335, upload-time = "2026-01-11T11:22:09.951Z" },
+ { url = "https://files.pythonhosted.org/packages/a5/3d/4cdb6f791682b2ea916af2de96121b3cb1284d7c203d97d92d6003e91c8d/tomli-2.4.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:bbb1b10aa643d973366dc2cb1ad94f99c1726a02343d43cbc011edbfac579e7c", size = 245962, upload-time = "2026-01-11T11:22:11.27Z" },
+ { url = "https://files.pythonhosted.org/packages/f2/4a/5f25789f9a460bd858ba9756ff52d0830d825b458e13f754952dd15fb7bb/tomli-2.4.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:4cbcb367d44a1f0c2be408758b43e1ffb5308abe0ea222897d6bfc8e8281ef2f", size = 250396, upload-time = "2026-01-11T11:22:12.325Z" },
+ { url = "https://files.pythonhosted.org/packages/aa/2f/b73a36fea58dfa08e8b3a268750e6853a6aac2a349241a905ebd86f3047a/tomli-2.4.0-cp313-cp313-win32.whl", hash = "sha256:7d49c66a7d5e56ac959cb6fc583aff0651094ec071ba9ad43df785abc2320d86", size = 97530, upload-time = "2026-01-11T11:22:13.865Z" },
+ { url = "https://files.pythonhosted.org/packages/3b/af/ca18c134b5d75de7e8dc551c5234eaba2e8e951f6b30139599b53de9c187/tomli-2.4.0-cp313-cp313-win_amd64.whl", hash = "sha256:3cf226acb51d8f1c394c1b310e0e0e61fecdd7adcb78d01e294ac297dd2e7f87", size = 108227, upload-time = "2026-01-11T11:22:15.224Z" },
+ { url = "https://files.pythonhosted.org/packages/22/c3/b386b832f209fee8073c8138ec50f27b4460db2fdae9ffe022df89a57f9b/tomli-2.4.0-cp313-cp313-win_arm64.whl", hash = "sha256:d20b797a5c1ad80c516e41bc1fb0443ddb5006e9aaa7bda2d71978346aeb9132", size = 94748, upload-time = "2026-01-11T11:22:16.009Z" },
+ { url = "https://files.pythonhosted.org/packages/23/d1/136eb2cb77520a31e1f64cbae9d33ec6df0d78bdf4160398e86eec8a8754/tomli-2.4.0-py3-none-any.whl", hash = "sha256:1f776e7d669ebceb01dee46484485f43a4048746235e683bcdffacdf1fb4785a", size = 14477, upload-time = "2026-01-11T11:22:37.446Z" },
+]
+
+[[package]]
+name = "tomlkit"
+version = "0.13.3"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/cc/18/0bbf3884e9eaa38819ebe46a7bd25dcd56b67434402b66a58c4b8e552575/tomlkit-0.13.3.tar.gz", hash = "sha256:430cf247ee57df2b94ee3fbe588e71d362a941ebb545dec29b53961d61add2a1", size = 185207, upload-time = "2025-06-05T07:13:44.947Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/bd/75/8539d011f6be8e29f339c42e633aae3cb73bffa95dd0f9adec09b9c58e85/tomlkit-0.13.3-py3-none-any.whl", hash = "sha256:c89c649d79ee40629a9fda55f8ace8c6a1b42deb912b2a8fd8d942ddadb606b0", size = 38901, upload-time = "2025-06-05T07:13:43.546Z" },
+]
+
+[[package]]
+name = "torch"
+version = "2.9.1"
+source = { registry = "https://download.pytorch.org/whl/cpu" }
+resolution-markers = [
+ "python_full_version >= '3.13' and platform_machine == 'arm64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version == '3.12.*' and platform_machine == 'arm64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version == '3.11.*' and platform_machine == 'arm64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version < '3.11' and platform_machine == 'arm64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "(python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version >= '3.13' and platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.12.*' and platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.12.*' and platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.11.*' and platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version < '3.11' and platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version < '3.11' and platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+]
+dependencies = [
+ { name = "filelock", marker = "(platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu') or (platform_machine == 'aarch64' and sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cpu') or (platform_machine == 'arm64' and sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu') or (platform_machine != 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine != 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine != 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine != 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'aarch64' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "fsspec", marker = "(platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu') or (platform_machine == 'aarch64' and sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cpu') or (platform_machine == 'arm64' and sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu') or (platform_machine != 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine != 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine != 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine != 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'aarch64' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "jinja2", marker = "(platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu') or (platform_machine == 'aarch64' and sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cpu') or (platform_machine == 'arm64' and sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu') or (platform_machine != 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine != 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine != 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine != 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'aarch64' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "networkx", version = "3.4.2", source = { registry = "https://pypi.org/simple" }, marker = "(python_full_version < '3.11' and platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu') or (python_full_version < '3.11' and platform_machine == 'aarch64' and sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cpu') or (python_full_version < '3.11' and platform_machine == 'arm64' and sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-mlx') or (python_full_version < '3.11' and platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu') or (python_full_version >= '3.11' and sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (python_full_version >= '3.11' and sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (python_full_version >= '3.11' and sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (python_full_version >= '3.11' and sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine != 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine != 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine != 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'aarch64' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "networkx", version = "3.6.1", source = { registry = "https://pypi.org/simple" }, marker = "(python_full_version >= '3.11' and platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu') or (python_full_version >= '3.11' and platform_machine == 'aarch64' and sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cpu') or (python_full_version >= '3.11' and platform_machine == 'arm64' and sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-mlx') or (python_full_version < '3.11' and platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (python_full_version < '3.11' and platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (python_full_version < '3.11' and platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (python_full_version < '3.11' and platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version < '3.11' and platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (python_full_version < '3.11' and platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (python_full_version < '3.11' and platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version < '3.11' and platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (python_full_version < '3.11' and platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version < '3.11' and platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version >= '3.11' and platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine == 'aarch64' and sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'aarch64' and sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'aarch64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine != 'aarch64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'aarch64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'aarch64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'aarch64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'aarch64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "setuptools", marker = "(python_full_version >= '3.12' and platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu') or (python_full_version >= '3.12' and platform_machine == 'aarch64' and sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cpu') or (python_full_version >= '3.12' and platform_machine == 'arm64' and sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-mlx') or (python_full_version < '3.12' and platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (python_full_version < '3.12' and platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (python_full_version < '3.12' and platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (python_full_version < '3.12' and platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version < '3.12' and platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (python_full_version < '3.12' and platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (python_full_version < '3.12' and platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version < '3.12' and platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (python_full_version < '3.12' and platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version < '3.12' and platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version >= '3.12' and platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine == 'aarch64' and sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'aarch64' and sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'aarch64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine != 'aarch64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'aarch64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'aarch64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'aarch64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'aarch64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "sympy", marker = "(platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu') or (platform_machine == 'aarch64' and sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cpu') or (platform_machine == 'arm64' and sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu') or (platform_machine != 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine != 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine != 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine != 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'aarch64' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "typing-extensions", marker = "(platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu') or (platform_machine == 'aarch64' and sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cpu') or (platform_machine == 'arm64' and sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu') or (platform_machine != 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine != 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine != 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine != 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'aarch64' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+]
+wheels = [
+ { url = "https://download.pytorch.org/whl/cpu/torch-2.9.1-cp310-none-macosx_11_0_arm64.whl", hash = "sha256:bf1e68cfb935ae2046374ff02a7aa73dda70351b46342846f557055b3a540bf0" },
+ { url = "https://download.pytorch.org/whl/cpu/torch-2.9.1-cp311-none-macosx_11_0_arm64.whl", hash = "sha256:a52952a8c90a422c14627ea99b9826b7557203b46b4d0772d3ca5c7699692425" },
+ { url = "https://download.pytorch.org/whl/cpu/torch-2.9.1-cp312-none-macosx_11_0_arm64.whl", hash = "sha256:287242dd1f830846098b5eca847f817aa5c6015ea57ab4c1287809efea7b77eb" },
+ { url = "https://download.pytorch.org/whl/cpu/torch-2.9.1-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:8924d10d36eac8fe0652a060a03fc2ae52980841850b9a1a2ddb0f27a4f181cd" },
+ { url = "https://download.pytorch.org/whl/cpu/torch-2.9.1-cp313-none-macosx_11_0_arm64.whl", hash = "sha256:bcee64ae7aa65876ceeae6dcaebe75109485b213528c74939602208a20706e3f" },
+]
+
+[[package]]
+name = "torch"
+version = "2.9.1+cpu"
+source = { registry = "https://download.pytorch.org/whl/cpu" }
+resolution-markers = [
+ "python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version == '3.12.*' and platform_machine == 'aarch64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "(python_full_version >= '3.13' and platform_machine == 'AMD64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version >= '3.13' and platform_machine == 'x86_64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.12.*' and platform_machine == 'AMD64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.12.*' and platform_machine == 'x86_64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.11.*' and platform_machine == 'AMD64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.11.*' and platform_machine == 'x86_64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "python_full_version < '3.11' and platform_machine == 'aarch64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "(python_full_version < '3.11' and platform_machine == 'AMD64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version < '3.11' and platform_machine == 'x86_64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "python_full_version >= '3.13' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version == '3.12.*' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version == '3.11.*' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version < '3.11' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "(python_full_version >= '3.13' and platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version >= '3.13' and platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.12.*' and platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.12.*' and platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.11.*' and platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.11.*' and platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version < '3.11' and platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version < '3.11' and platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "python_full_version >= '3.13' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version == '3.12.*' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version == '3.11.*' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version < '3.11' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version == '3.12.*' and platform_machine == 'aarch64' and sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version < '3.11' and platform_machine == 'aarch64' and sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+]
+dependencies = [
+ { name = "filelock", marker = "(platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'arm64' and sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine == 'aarch64' and sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'aarch64' and sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'arm64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'aarch64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine != 'aarch64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'aarch64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'aarch64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'aarch64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'linux' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (sys_platform == 'linux' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'linux' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'linux' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'linux' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'linux' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "fsspec", marker = "(platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'arm64' and sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine == 'aarch64' and sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'aarch64' and sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'arm64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'aarch64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine != 'aarch64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'aarch64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'aarch64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'aarch64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'linux' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (sys_platform == 'linux' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'linux' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'linux' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'linux' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'linux' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "jinja2", marker = "(platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'arm64' and sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine == 'aarch64' and sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'aarch64' and sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'arm64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'aarch64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine != 'aarch64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'aarch64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'aarch64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'aarch64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'linux' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (sys_platform == 'linux' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'linux' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'linux' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'linux' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'linux' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "networkx", version = "3.4.2", source = { registry = "https://pypi.org/simple" }, marker = "(python_full_version < '3.11' and platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu') or (python_full_version < '3.11' and platform_machine != 'arm64' and sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu') or (python_full_version < '3.11' and platform_machine == 'aarch64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (python_full_version < '3.11' and platform_machine != 'arm64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (python_full_version >= '3.11' and platform_machine != 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (python_full_version >= '3.11' and platform_machine != 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (python_full_version >= '3.11' and platform_machine != 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (python_full_version >= '3.11' and platform_machine != 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version >= '3.11' and platform_machine != 'aarch64' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version >= '3.11' and sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (python_full_version >= '3.11' and sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (python_full_version >= '3.11' and sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (python_full_version >= '3.11' and sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version >= '3.11' and sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (python_full_version >= '3.11' and sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (python_full_version >= '3.11' and sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (python_full_version >= '3.11' and sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version >= '3.11' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine == 'aarch64' and sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'aarch64' and sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'aarch64' and sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine == 'aarch64' and sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'aarch64' and sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'aarch64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine != 'aarch64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'aarch64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'aarch64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'aarch64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'linux' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (sys_platform == 'linux' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'linux' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'linux' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'linux' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'linux' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "networkx", version = "3.6.1", source = { registry = "https://pypi.org/simple" }, marker = "(python_full_version >= '3.11' and platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu') or (python_full_version >= '3.11' and platform_machine != 'arm64' and sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu') or (python_full_version >= '3.11' and platform_machine == 'aarch64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (python_full_version >= '3.11' and platform_machine != 'arm64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (python_full_version < '3.11' and platform_machine != 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (python_full_version < '3.11' and platform_machine != 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (python_full_version < '3.11' and platform_machine != 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (python_full_version < '3.11' and platform_machine != 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version < '3.11' and platform_machine != 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (python_full_version < '3.11' and platform_machine != 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (python_full_version < '3.11' and platform_machine != 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version < '3.11' and platform_machine != 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (python_full_version < '3.11' and platform_machine != 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version < '3.11' and platform_machine != 'aarch64' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version < '3.11' and sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (python_full_version < '3.11' and sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (python_full_version < '3.11' and sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (python_full_version < '3.11' and sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version < '3.11' and sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (python_full_version < '3.11' and sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (python_full_version < '3.11' and sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version < '3.11' and sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (python_full_version < '3.11' and sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version < '3.11' and sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version < '3.11' and sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (python_full_version < '3.11' and sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (python_full_version < '3.11' and sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (python_full_version < '3.11' and sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version < '3.11' and sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (python_full_version < '3.11' and sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (python_full_version < '3.11' and sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version < '3.11' and sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (python_full_version < '3.11' and sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version < '3.11' and sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine == 'aarch64' and sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'aarch64' and sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'aarch64' and sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine == 'aarch64' and sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'aarch64' and sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'aarch64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine != 'aarch64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'aarch64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'aarch64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'aarch64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'linux' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (sys_platform == 'linux' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'linux' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'linux' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'linux' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'linux' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "setuptools", marker = "(python_full_version >= '3.12' and platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu') or (python_full_version >= '3.12' and platform_machine != 'arm64' and sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu') or (python_full_version >= '3.12' and platform_machine == 'aarch64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (python_full_version >= '3.12' and platform_machine != 'arm64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (python_full_version < '3.12' and platform_machine != 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (python_full_version < '3.12' and platform_machine != 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (python_full_version < '3.12' and platform_machine != 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (python_full_version < '3.12' and platform_machine != 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version < '3.12' and platform_machine != 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (python_full_version < '3.12' and platform_machine != 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (python_full_version < '3.12' and platform_machine != 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version < '3.12' and platform_machine != 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (python_full_version < '3.12' and platform_machine != 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version < '3.12' and platform_machine != 'aarch64' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version < '3.12' and sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (python_full_version < '3.12' and sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (python_full_version < '3.12' and sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (python_full_version < '3.12' and sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version < '3.12' and sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (python_full_version < '3.12' and sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (python_full_version < '3.12' and sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version < '3.12' and sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (python_full_version < '3.12' and sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version < '3.12' and sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version < '3.12' and sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (python_full_version < '3.12' and sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (python_full_version < '3.12' and sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (python_full_version < '3.12' and sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version < '3.12' and sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (python_full_version < '3.12' and sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (python_full_version < '3.12' and sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version < '3.12' and sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (python_full_version < '3.12' and sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version < '3.12' and sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine == 'aarch64' and sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'aarch64' and sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'aarch64' and sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and sys_platform != 'darwin' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine == 'aarch64' and sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'aarch64' and sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'aarch64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine != 'aarch64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'aarch64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'aarch64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'aarch64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'linux' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (sys_platform == 'linux' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'linux' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'linux' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'linux' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'linux' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "sympy", marker = "(platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'arm64' and sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine == 'aarch64' and sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'aarch64' and sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'arm64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'aarch64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine != 'aarch64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'aarch64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'aarch64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'aarch64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'linux' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (sys_platform == 'linux' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'linux' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'linux' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'linux' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'linux' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "typing-extensions", marker = "(platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'arm64' and sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine == 'aarch64' and sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'aarch64' and sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'arm64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'aarch64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine != 'aarch64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'aarch64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'aarch64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'aarch64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'linux' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (sys_platform == 'linux' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'linux' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'linux' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'linux' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'linux' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+]
+wheels = [
+ { url = "https://download.pytorch.org/whl/cpu/torch-2.9.1%2Bcpu-cp310-cp310-manylinux_2_28_aarch64.whl", hash = "sha256:10866c8a48c4aa5ae3f48538dc8a055b99c57d9c6af2bf5dd715374d9d6ddca3" },
+ { url = "https://download.pytorch.org/whl/cpu/torch-2.9.1%2Bcpu-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:7210713b66943fdbfcc237b2e782871b649123ac5d29f548ce8c85be4223ab38" },
+ { url = "https://download.pytorch.org/whl/cpu/torch-2.9.1%2Bcpu-cp310-cp310-win_amd64.whl", hash = "sha256:d6e8441453dc27524e3f1037fbf27b90a02644b84e42944b9354b4024cb51cc1" },
+ { url = "https://download.pytorch.org/whl/cpu/torch-2.9.1%2Bcpu-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:0e611cfb16724e62252b67d31073bc5c490cb83e92ecdc1192762535e0e44487" },
+ { url = "https://download.pytorch.org/whl/cpu/torch-2.9.1%2Bcpu-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:3de2adb9b4443dc9210ef1f1b16da3647ace53553166d6360bbbd7edd6f16e4d" },
+ { url = "https://download.pytorch.org/whl/cpu/torch-2.9.1%2Bcpu-cp311-cp311-win_amd64.whl", hash = "sha256:69b3785d28be5a9c56ab525788ec5000349ec59132a74b7d5e954b905015b992" },
+ { url = "https://download.pytorch.org/whl/cpu/torch-2.9.1%2Bcpu-cp311-cp311-win_arm64.whl", hash = "sha256:15b4ae6fe371d96bffb8e1e9af62164797db20a0dc1337345781659cfd0b8bb1" },
+ { url = "https://download.pytorch.org/whl/cpu/torch-2.9.1%2Bcpu-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:3bf9b442a51a2948e41216a76d7ab00f0694cfcaaa51b6f9bcab57b7f89843e6" },
+ { url = "https://download.pytorch.org/whl/cpu/torch-2.9.1%2Bcpu-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:7417d8c565f219d3455654cb431c6d892a3eb40246055e14d645422de13b9ea1" },
+ { url = "https://download.pytorch.org/whl/cpu/torch-2.9.1%2Bcpu-cp312-cp312-win_amd64.whl", hash = "sha256:a4e06b4f441675d26b462123c8a83e77c55f1ec8ebc081203be2db1ea8054add" },
+ { url = "https://download.pytorch.org/whl/cpu/torch-2.9.1%2Bcpu-cp312-cp312-win_arm64.whl", hash = "sha256:1abe31f14b560c1f062699e966cb08ef5b67518a1cfac2d8547a3dbcd8387b06" },
+ { url = "https://download.pytorch.org/whl/cpu/torch-2.9.1%2Bcpu-cp313-cp313-manylinux_2_28_aarch64.whl", hash = "sha256:3e532e553b37ee859205a9b2d1c7977fd6922f53bbb1b9bfdd5bdc00d1a60ed4" },
+ { url = "https://download.pytorch.org/whl/cpu/torch-2.9.1%2Bcpu-cp313-cp313-manylinux_2_28_x86_64.whl", hash = "sha256:39b3dff6d8fba240ae0d1bede4ca11c2531ae3b47329206512d99e17907ff74b" },
+ { url = "https://download.pytorch.org/whl/cpu/torch-2.9.1%2Bcpu-cp313-cp313-win_amd64.whl", hash = "sha256:404a7ab2fffaf2ca069e662f331eb46313692b2f1630df2720094284f390ccef" },
+ { url = "https://download.pytorch.org/whl/cpu/torch-2.9.1%2Bcpu-cp313-cp313-win_arm64.whl", hash = "sha256:161decbff26a33f13cb5ba6d2c8f458bbf56193bcc32ecc70be6dd4c7a3ee79d" },
+ { url = "https://download.pytorch.org/whl/cpu/torch-2.9.1%2Bcpu-cp313-cp313t-manylinux_2_28_aarch64.whl", hash = "sha256:01b1884f724977a20c7da2f640f1c7b37f4a2c117a7f4a6c1c0424d14cb86322" },
+ { url = "https://download.pytorch.org/whl/cpu/torch-2.9.1%2Bcpu-cp313-cp313t-manylinux_2_28_x86_64.whl", hash = "sha256:031a597147fa81b1e6d79ccf1ad3ccc7fafa27941d6cf26ff5caaa384fb20e92" },
+ { url = "https://download.pytorch.org/whl/cpu/torch-2.9.1%2Bcpu-cp313-cp313t-win_amd64.whl", hash = "sha256:e586ab1363e3f86aa4cc133b7fdcf98deb1d2c13d43a7a6e5a6a18e9c5364893" },
+]
+
+[[package]]
+name = "torch"
+version = "2.9.1+cu129"
+source = { registry = "https://download.pytorch.org/whl/cu129" }
+resolution-markers = [
+ "(python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform == 'win32') or (python_full_version >= '3.13' and platform_machine == 'arm64' and sys_platform == 'win32')",
+ "(python_full_version == '3.12.*' and platform_machine == 'aarch64' and sys_platform == 'win32') or (python_full_version == '3.12.*' and platform_machine == 'arm64' and sys_platform == 'win32')",
+ "(python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform == 'win32') or (python_full_version == '3.11.*' and platform_machine == 'arm64' and sys_platform == 'win32')",
+ "(python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform != 'darwin' and sys_platform != 'win32') or (python_full_version >= '3.13' and platform_machine == 'arm64' and sys_platform != 'darwin' and sys_platform != 'win32')",
+ "(python_full_version == '3.12.*' and platform_machine == 'aarch64' and sys_platform != 'darwin' and sys_platform != 'win32') or (python_full_version == '3.12.*' and platform_machine == 'arm64' and sys_platform != 'darwin' and sys_platform != 'win32')",
+ "(python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform != 'darwin' and sys_platform != 'win32') or (python_full_version == '3.11.*' and platform_machine == 'arm64' and sys_platform != 'darwin' and sys_platform != 'win32')",
+ "(python_full_version >= '3.13' and platform_machine == 'AMD64' and sys_platform == 'win32') or (python_full_version >= '3.13' and platform_machine == 'x86_64' and sys_platform == 'win32')",
+ "(python_full_version == '3.12.*' and platform_machine == 'AMD64' and sys_platform == 'win32') or (python_full_version == '3.12.*' and platform_machine == 'x86_64' and sys_platform == 'win32')",
+ "(python_full_version == '3.11.*' and platform_machine == 'AMD64' and sys_platform == 'win32') or (python_full_version == '3.11.*' and platform_machine == 'x86_64' and sys_platform == 'win32')",
+ "python_full_version >= '3.13' and platform_machine == 'x86_64' and sys_platform == 'linux'",
+ "python_full_version == '3.12.*' and platform_machine == 'x86_64' and sys_platform == 'linux'",
+ "python_full_version == '3.11.*' and platform_machine == 'x86_64' and sys_platform == 'linux'",
+ "(python_full_version >= '3.13' and platform_machine == 'AMD64' and sys_platform == 'linux') or (python_full_version >= '3.13' and platform_machine == 'AMD64' and sys_platform != 'darwin' and sys_platform != 'win32') or (python_full_version >= '3.13' and platform_machine == 'x86_64' and sys_platform != 'darwin' and sys_platform != 'linux' and sys_platform != 'win32')",
+ "(python_full_version == '3.12.*' and platform_machine == 'AMD64' and sys_platform == 'linux') or (python_full_version == '3.12.*' and platform_machine == 'AMD64' and sys_platform != 'darwin' and sys_platform != 'win32') or (python_full_version == '3.12.*' and platform_machine == 'x86_64' and sys_platform != 'darwin' and sys_platform != 'linux' and sys_platform != 'win32')",
+ "(python_full_version == '3.11.*' and platform_machine == 'AMD64' and sys_platform == 'linux') or (python_full_version == '3.11.*' and platform_machine == 'AMD64' and sys_platform != 'darwin' and sys_platform != 'win32') or (python_full_version == '3.11.*' and platform_machine == 'x86_64' and sys_platform != 'darwin' and sys_platform != 'linux' and sys_platform != 'win32')",
+ "(python_full_version < '3.11' and platform_machine == 'aarch64' and sys_platform == 'win32') or (python_full_version < '3.11' and platform_machine == 'arm64' and sys_platform == 'win32')",
+ "(python_full_version < '3.11' and platform_machine == 'aarch64' and sys_platform != 'darwin' and sys_platform != 'win32') or (python_full_version < '3.11' and platform_machine == 'arm64' and sys_platform != 'darwin' and sys_platform != 'win32')",
+ "(python_full_version < '3.11' and platform_machine == 'AMD64' and sys_platform == 'win32') or (python_full_version < '3.11' and platform_machine == 'x86_64' and sys_platform == 'win32')",
+ "python_full_version < '3.11' and platform_machine == 'x86_64' and sys_platform == 'linux'",
+ "(python_full_version < '3.11' and platform_machine == 'AMD64' and sys_platform == 'linux') or (python_full_version < '3.11' and platform_machine == 'AMD64' and sys_platform != 'darwin' and sys_platform != 'win32') or (python_full_version < '3.11' and platform_machine == 'x86_64' and sys_platform != 'darwin' and sys_platform != 'linux' and sys_platform != 'win32')",
+ "python_full_version >= '3.13' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and sys_platform != 'darwin'",
+ "python_full_version == '3.12.*' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and sys_platform != 'darwin'",
+ "python_full_version == '3.11.*' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and sys_platform != 'darwin'",
+ "python_full_version < '3.11' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and sys_platform != 'darwin'",
+]
+dependencies = [
+ { name = "filelock", marker = "(sys_platform != 'darwin' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "fsspec", marker = "(sys_platform != 'darwin' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "jinja2", marker = "(sys_platform != 'darwin' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "networkx", version = "3.4.2", source = { registry = "https://pypi.org/simple" }, marker = "(python_full_version < '3.11' and sys_platform != 'darwin' and extra == 'extra-15-gpt-sovits-meta-mlx') or (python_full_version >= '3.11' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "networkx", version = "3.6.1", source = { registry = "https://pypi.org/simple" }, marker = "(python_full_version >= '3.11' and sys_platform != 'darwin' and extra == 'extra-15-gpt-sovits-meta-mlx') or (python_full_version < '3.11' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "nvidia-cublas-cu12", version = "12.9.1.4", source = { registry = "https://pypi.org/simple" }, marker = "(sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "nvidia-cuda-cupti-cu12", version = "12.9.79", source = { registry = "https://pypi.org/simple" }, marker = "(sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "nvidia-cuda-nvrtc-cu12", version = "12.9.86", source = { registry = "https://pypi.org/simple" }, marker = "(sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "nvidia-cuda-runtime-cu12", version = "12.9.79", source = { registry = "https://pypi.org/simple" }, marker = "(sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "nvidia-cudnn-cu12", marker = "(sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "nvidia-cufft-cu12", version = "11.4.1.4", source = { registry = "https://pypi.org/simple" }, marker = "(sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "nvidia-cufile-cu12", version = "1.14.1.1", source = { registry = "https://pypi.org/simple" }, marker = "(sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "nvidia-curand-cu12", version = "10.3.10.19", source = { registry = "https://pypi.org/simple" }, marker = "(sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "nvidia-cusolver-cu12", version = "11.7.5.82", source = { registry = "https://pypi.org/simple" }, marker = "(sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "nvidia-cusparse-cu12", version = "12.5.10.65", source = { registry = "https://pypi.org/simple" }, marker = "(sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "nvidia-cusparselt-cu12", marker = "(sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "nvidia-nccl-cu12", marker = "(sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "nvidia-nvjitlink-cu12", version = "12.9.86", source = { registry = "https://pypi.org/simple" }, marker = "(sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "nvidia-nvshmem-cu12", version = "3.3.20", source = { registry = "https://pypi.org/simple" }, marker = "(sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "nvidia-nvtx-cu12", version = "12.9.79", source = { registry = "https://pypi.org/simple" }, marker = "(sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "setuptools", marker = "(python_full_version >= '3.12' and sys_platform != 'darwin' and extra == 'extra-15-gpt-sovits-meta-mlx') or (python_full_version < '3.12' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "sympy", marker = "(sys_platform != 'darwin' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "triton", version = "3.5.1", source = { registry = "https://pypi.org/simple" }, marker = "(sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "typing-extensions", marker = "(sys_platform != 'darwin' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+]
+wheels = [
+ { url = "https://download.pytorch.org/whl/cu129/torch-2.9.1%2Bcu129-cp310-cp310-manylinux_2_28_aarch64.whl", hash = "sha256:aa843d96289c3211a640d381aac50b1903b6a6f7367e7e04aacfb34732dced64" },
+ { url = "https://download.pytorch.org/whl/cu129/torch-2.9.1%2Bcu129-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:b8bf86419f37f226a925b4b55b0aa227d77ff685fec0a7703fa77533b19bdc4e" },
+ { url = "https://download.pytorch.org/whl/cu129/torch-2.9.1%2Bcu129-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:5a990644f98b4db59630a5b9cf41711294fe621131dbc41e1488f3a665c8b320" },
+ { url = "https://download.pytorch.org/whl/cu129/torch-2.9.1%2Bcu129-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:a070a0c3d357b44a239810767f7509c3fce3146e051751410b50630b12486cc2" },
+ { url = "https://download.pytorch.org/whl/cu129/torch-2.9.1%2Bcu129-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:c501c66fe5b0e2fc70f9d8a18e17a265f92ad1d1009dba03f5938d2f15a9066f" },
+ { url = "https://download.pytorch.org/whl/cu129/torch-2.9.1%2Bcu129-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:9968834a95e4b09f702549285f6210eade0d268b3b7e52b35aff1c6529fb8022" },
+ { url = "https://download.pytorch.org/whl/cu129/torch-2.9.1%2Bcu129-cp313-cp313-manylinux_2_28_aarch64.whl", hash = "sha256:ab44cf28e6ca2df679f0845fb4b950c81834431218840ca01c0a1583892a0986" },
+ { url = "https://download.pytorch.org/whl/cu129/torch-2.9.1%2Bcu129-cp313-cp313-manylinux_2_28_x86_64.whl", hash = "sha256:5adb25576c9cff0a25aab7e859f44121a5b150a6e319e027c27b55bf1ed57524" },
+ { url = "https://download.pytorch.org/whl/cu129/torch-2.9.1%2Bcu129-cp313-cp313t-manylinux_2_28_aarch64.whl", hash = "sha256:794482180a4f2d92a960f470fcd47e066dbe2eeb27816880e618d3ce031805f7" },
+ { url = "https://download.pytorch.org/whl/cu129/torch-2.9.1%2Bcu129-cp313-cp313t-manylinux_2_28_x86_64.whl", hash = "sha256:0df90a06330f53bebb40b5740e5c24c0aad4e8b363d09b02379f1c12ab43564b" },
+]
+
+[[package]]
+name = "torch"
+version = "2.9.1+rocm6.4"
+source = { registry = "https://download.pytorch.org/whl/rocm6.4" }
+resolution-markers = [
+ "(python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform != 'darwin') or (python_full_version >= '3.13' and platform_machine == 'arm64' and sys_platform != 'darwin')",
+ "(python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform == 'darwin') or (python_full_version >= '3.13' and platform_machine == 'arm64' and sys_platform == 'darwin')",
+ "(python_full_version == '3.12.*' and platform_machine == 'aarch64') or (python_full_version == '3.12.*' and platform_machine == 'arm64')",
+ "(python_full_version == '3.11.*' and platform_machine == 'aarch64') or (python_full_version == '3.11.*' and platform_machine == 'arm64')",
+ "(python_full_version >= '3.13' and platform_machine == 'AMD64') or (python_full_version >= '3.13' and platform_machine == 'x86_64')",
+ "(python_full_version == '3.12.*' and platform_machine == 'AMD64') or (python_full_version == '3.12.*' and platform_machine == 'x86_64')",
+ "(python_full_version == '3.11.*' and platform_machine == 'AMD64') or (python_full_version == '3.11.*' and platform_machine == 'x86_64')",
+ "(python_full_version < '3.11' and platform_machine == 'aarch64') or (python_full_version < '3.11' and platform_machine == 'arm64')",
+ "(python_full_version < '3.11' and platform_machine == 'AMD64') or (python_full_version < '3.11' and platform_machine == 'x86_64')",
+ "python_full_version >= '3.13' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64'",
+ "python_full_version == '3.12.*' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64'",
+ "python_full_version == '3.11.*' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64'",
+ "python_full_version < '3.11' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64'",
+]
+dependencies = [
+ { name = "filelock", marker = "(extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "fsspec", marker = "(extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "jinja2", marker = "(extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "networkx", version = "3.4.2", source = { registry = "https://pypi.org/simple" }, marker = "(python_full_version < '3.11' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "networkx", version = "3.6.1", source = { registry = "https://pypi.org/simple" }, marker = "(python_full_version >= '3.11' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "pytorch-triton-rocm", marker = "(sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "setuptools", marker = "(python_full_version >= '3.12' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "sympy", marker = "(extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "typing-extensions", marker = "(extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+]
+wheels = [
+ { url = "https://download.pytorch.org/whl/rocm6.4/torch-2.9.1%2Brocm6.4-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:879e2065c2493eca823c0037d2a70ee4a13f66146b3689395376ca728b743acc" },
+ { url = "https://download.pytorch.org/whl/rocm6.4/torch-2.9.1%2Brocm6.4-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:5a4a6c10ee410fdff68a8102d9f53f836d755b2d1eb6502f2f2853794f31ed0a" },
+ { url = "https://download.pytorch.org/whl/rocm6.4/torch-2.9.1%2Brocm6.4-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:43471c9e4520402b5feeebd6c6d180e8bf2314402925798fe219c32fecd1ef95" },
+ { url = "https://download.pytorch.org/whl/rocm6.4/torch-2.9.1%2Brocm6.4-cp313-cp313-manylinux_2_28_x86_64.whl", hash = "sha256:19ac1ef5db3f96e01172d0f62bc0438c6d3a8667358c3a00204fbbb44da74229" },
+ { url = "https://download.pytorch.org/whl/rocm6.4/torch-2.9.1%2Brocm6.4-cp313-cp313t-manylinux_2_28_x86_64.whl", hash = "sha256:435361fcc18291a725970beb21f5327b28ba809130a129587551249f22998522" },
+]
+
+[[package]]
+name = "torch"
+version = "2.10.0"
+source = { registry = "https://pypi.org/simple" }
+resolution-markers = [
+ "(python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform != 'darwin') or (python_full_version >= '3.13' and platform_machine == 'arm64' and sys_platform != 'darwin')",
+ "(python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform == 'darwin') or (python_full_version >= '3.13' and platform_machine == 'arm64' and sys_platform == 'darwin')",
+ "(python_full_version == '3.12.*' and platform_machine == 'aarch64' and sys_platform != 'darwin') or (python_full_version == '3.12.*' and platform_machine == 'arm64' and sys_platform != 'darwin')",
+ "(python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform != 'darwin') or (python_full_version == '3.11.*' and platform_machine == 'arm64' and sys_platform != 'darwin')",
+ "(python_full_version == '3.12.*' and platform_machine == 'aarch64' and sys_platform == 'darwin') or (python_full_version == '3.12.*' and platform_machine == 'arm64' and sys_platform == 'darwin')",
+ "(python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform == 'darwin') or (python_full_version == '3.11.*' and platform_machine == 'arm64' and sys_platform == 'darwin')",
+ "(python_full_version >= '3.13' and platform_machine == 'AMD64') or (python_full_version >= '3.13' and platform_machine == 'x86_64')",
+ "(python_full_version == '3.12.*' and platform_machine == 'AMD64') or (python_full_version == '3.12.*' and platform_machine == 'x86_64')",
+ "(python_full_version == '3.11.*' and platform_machine == 'AMD64') or (python_full_version == '3.11.*' and platform_machine == 'x86_64')",
+ "(python_full_version < '3.11' and platform_machine == 'aarch64' and sys_platform != 'darwin') or (python_full_version < '3.11' and platform_machine == 'arm64' and sys_platform != 'darwin')",
+ "(python_full_version < '3.11' and platform_machine == 'aarch64' and sys_platform == 'darwin') or (python_full_version < '3.11' and platform_machine == 'arm64' and sys_platform == 'darwin')",
+ "(python_full_version < '3.11' and platform_machine == 'AMD64') or (python_full_version < '3.11' and platform_machine == 'x86_64')",
+ "python_full_version >= '3.13' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64'",
+ "python_full_version == '3.12.*' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64'",
+ "python_full_version == '3.11.*' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64'",
+ "python_full_version < '3.11' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64'",
+]
+dependencies = [
+ { name = "cuda-bindings", marker = "(platform_machine == 'x86_64' and sys_platform == 'linux' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "filelock", marker = "(extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "fsspec", marker = "(extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "jinja2", marker = "(extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "networkx", version = "3.4.2", source = { registry = "https://pypi.org/simple" }, marker = "(python_full_version < '3.11' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "networkx", version = "3.6.1", source = { registry = "https://pypi.org/simple" }, marker = "(python_full_version >= '3.11' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "nvidia-cublas-cu12", version = "12.8.4.1", source = { registry = "https://pypi.org/simple" }, marker = "(platform_machine == 'x86_64' and sys_platform == 'linux' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "nvidia-cuda-cupti-cu12", version = "12.8.90", source = { registry = "https://pypi.org/simple" }, marker = "(platform_machine == 'x86_64' and sys_platform == 'linux' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "nvidia-cuda-nvrtc-cu12", version = "12.8.93", source = { registry = "https://pypi.org/simple" }, marker = "(platform_machine == 'x86_64' and sys_platform == 'linux' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "nvidia-cuda-runtime-cu12", version = "12.8.90", source = { registry = "https://pypi.org/simple" }, marker = "(platform_machine == 'x86_64' and sys_platform == 'linux' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "nvidia-cudnn-cu12", marker = "(platform_machine == 'x86_64' and sys_platform == 'linux' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "nvidia-cufft-cu12", version = "11.3.3.83", source = { registry = "https://pypi.org/simple" }, marker = "(platform_machine == 'x86_64' and sys_platform == 'linux' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "nvidia-cufile-cu12", version = "1.13.1.3", source = { registry = "https://pypi.org/simple" }, marker = "(platform_machine == 'x86_64' and sys_platform == 'linux' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "nvidia-curand-cu12", version = "10.3.9.90", source = { registry = "https://pypi.org/simple" }, marker = "(platform_machine == 'x86_64' and sys_platform == 'linux' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "nvidia-cusolver-cu12", version = "11.7.3.90", source = { registry = "https://pypi.org/simple" }, marker = "(platform_machine == 'x86_64' and sys_platform == 'linux' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "nvidia-cusparse-cu12", version = "12.5.8.93", source = { registry = "https://pypi.org/simple" }, marker = "(platform_machine == 'x86_64' and sys_platform == 'linux' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "nvidia-cusparselt-cu12", marker = "(platform_machine == 'x86_64' and sys_platform == 'linux' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "nvidia-nccl-cu12", marker = "(platform_machine == 'x86_64' and sys_platform == 'linux' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "nvidia-nvjitlink-cu12", version = "12.8.93", source = { registry = "https://pypi.org/simple" }, marker = "(platform_machine == 'x86_64' and sys_platform == 'linux' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "nvidia-nvshmem-cu12", version = "3.4.5", source = { registry = "https://pypi.org/simple" }, marker = "(platform_machine == 'x86_64' and sys_platform == 'linux' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "nvidia-nvtx-cu12", version = "12.8.90", source = { registry = "https://pypi.org/simple" }, marker = "(platform_machine == 'x86_64' and sys_platform == 'linux' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "setuptools", marker = "(python_full_version >= '3.12' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "sympy", marker = "(extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "triton", version = "3.6.0", source = { registry = "https://pypi.org/simple" }, marker = "(platform_machine == 'x86_64' and sys_platform == 'linux' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "typing-extensions", marker = "(extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')" },
+]
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/5b/30/bfebdd8ec77db9a79775121789992d6b3b75ee5494971294d7b4b7c999bc/torch-2.10.0-2-cp310-none-macosx_11_0_arm64.whl", hash = "sha256:2b980edd8d7c0a68c4e951ee1856334a43193f98730d97408fbd148c1a933313", size = 79411457, upload-time = "2026-02-10T21:44:59.189Z" },
+ { url = "https://files.pythonhosted.org/packages/0f/8b/4b61d6e13f7108f36910df9ab4b58fd389cc2520d54d81b88660804aad99/torch-2.10.0-2-cp311-none-macosx_11_0_arm64.whl", hash = "sha256:418997cb02d0a0f1497cf6a09f63166f9f5df9f3e16c8a716ab76a72127c714f", size = 79423467, upload-time = "2026-02-10T21:44:48.711Z" },
+ { url = "https://files.pythonhosted.org/packages/d3/54/a2ba279afcca44bbd320d4e73675b282fcee3d81400ea1b53934efca6462/torch-2.10.0-2-cp312-none-macosx_11_0_arm64.whl", hash = "sha256:13ec4add8c3faaed8d13e0574f5cd4a323c11655546f91fbe6afa77b57423574", size = 79498202, upload-time = "2026-02-10T21:44:52.603Z" },
+ { url = "https://files.pythonhosted.org/packages/ec/23/2c9fe0c9c27f7f6cb865abcea8a4568f29f00acaeadfc6a37f6801f84cb4/torch-2.10.0-2-cp313-none-macosx_11_0_arm64.whl", hash = "sha256:e521c9f030a3774ed770a9c011751fb47c4d12029a3d6522116e48431f2ff89e", size = 79498254, upload-time = "2026-02-10T21:44:44.095Z" },
+ { url = "https://files.pythonhosted.org/packages/0c/1a/c61f36cfd446170ec27b3a4984f072fd06dab6b5d7ce27e11adb35d6c838/torch-2.10.0-cp310-cp310-manylinux_2_28_aarch64.whl", hash = "sha256:5276fa790a666ee8becaffff8acb711922252521b28fbce5db7db5cf9cb2026d", size = 145992962, upload-time = "2026-01-21T16:24:14.04Z" },
+ { url = "https://files.pythonhosted.org/packages/b5/60/6662535354191e2d1555296045b63e4279e5a9dbad49acf55a5d38655a39/torch-2.10.0-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:aaf663927bcd490ae971469a624c322202a2a1e68936eb952535ca4cd3b90444", size = 915599237, upload-time = "2026-01-21T16:23:25.497Z" },
+ { url = "https://files.pythonhosted.org/packages/40/b8/66bbe96f0d79be2b5c697b2e0b187ed792a15c6c4b8904613454651db848/torch-2.10.0-cp310-cp310-win_amd64.whl", hash = "sha256:a4be6a2a190b32ff5c8002a0977a25ea60e64f7ba46b1be37093c141d9c49aeb", size = 113720931, upload-time = "2026-01-21T16:24:23.743Z" },
+ { url = "https://files.pythonhosted.org/packages/76/bb/d820f90e69cda6c8169b32a0c6a3ab7b17bf7990b8f2c680077c24a3c14c/torch-2.10.0-cp310-none-macosx_11_0_arm64.whl", hash = "sha256:35e407430795c8d3edb07a1d711c41cc1f9eaddc8b2f1cc0a165a6767a8fb73d", size = 79411450, upload-time = "2026-01-21T16:25:30.692Z" },
+ { url = "https://files.pythonhosted.org/packages/78/89/f5554b13ebd71e05c0b002f95148033e730d3f7067f67423026cc9c69410/torch-2.10.0-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:3282d9febd1e4e476630a099692b44fdc214ee9bf8ee5377732d9d9dfe5712e4", size = 145992610, upload-time = "2026-01-21T16:25:26.327Z" },
+ { url = "https://files.pythonhosted.org/packages/ae/30/a3a2120621bf9c17779b169fc17e3dc29b230c29d0f8222f499f5e159aa8/torch-2.10.0-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:a2f9edd8dbc99f62bc4dfb78af7bf89499bca3d753423ac1b4e06592e467b763", size = 915607863, upload-time = "2026-01-21T16:25:06.696Z" },
+ { url = "https://files.pythonhosted.org/packages/6f/3d/c87b33c5f260a2a8ad68da7147e105f05868c281c63d65ed85aa4da98c66/torch-2.10.0-cp311-cp311-win_amd64.whl", hash = "sha256:29b7009dba4b7a1c960260fc8ac85022c784250af43af9fb0ebafc9883782ebd", size = 113723116, upload-time = "2026-01-21T16:25:21.916Z" },
+ { url = "https://files.pythonhosted.org/packages/61/d8/15b9d9d3a6b0c01b883787bd056acbe5cc321090d4b216d3ea89a8fcfdf3/torch-2.10.0-cp311-none-macosx_11_0_arm64.whl", hash = "sha256:b7bd80f3477b830dd166c707c5b0b82a898e7b16f59a7d9d42778dd058272e8b", size = 79423461, upload-time = "2026-01-21T16:24:50.266Z" },
+ { url = "https://files.pythonhosted.org/packages/cc/af/758e242e9102e9988969b5e621d41f36b8f258bb4a099109b7a4b4b50ea4/torch-2.10.0-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:5fd4117d89ffd47e3dcc71e71a22efac24828ad781c7e46aaaf56bf7f2796acf", size = 145996088, upload-time = "2026-01-21T16:24:44.171Z" },
+ { url = "https://files.pythonhosted.org/packages/23/8e/3c74db5e53bff7ed9e34c8123e6a8bfef718b2450c35eefab85bb4a7e270/torch-2.10.0-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:787124e7db3b379d4f1ed54dd12ae7c741c16a4d29b49c0226a89bea50923ffb", size = 915711952, upload-time = "2026-01-21T16:23:53.503Z" },
+ { url = "https://files.pythonhosted.org/packages/6e/01/624c4324ca01f66ae4c7cd1b74eb16fb52596dce66dbe51eff95ef9e7a4c/torch-2.10.0-cp312-cp312-win_amd64.whl", hash = "sha256:2c66c61f44c5f903046cc696d088e21062644cbe541c7f1c4eaae88b2ad23547", size = 113757972, upload-time = "2026-01-21T16:24:39.516Z" },
+ { url = "https://files.pythonhosted.org/packages/c9/5c/dee910b87c4d5c0fcb41b50839ae04df87c1cfc663cf1b5fca7ea565eeaa/torch-2.10.0-cp312-none-macosx_11_0_arm64.whl", hash = "sha256:6d3707a61863d1c4d6ebba7be4ca320f42b869ee657e9b2c21c736bf17000294", size = 79498198, upload-time = "2026-01-21T16:24:34.704Z" },
+ { url = "https://files.pythonhosted.org/packages/c9/6f/f2e91e34e3fcba2e3fc8d8f74e7d6c22e74e480bbd1db7bc8900fdf3e95c/torch-2.10.0-cp313-cp313-manylinux_2_28_aarch64.whl", hash = "sha256:5c4d217b14741e40776dd7074d9006fd28b8a97ef5654db959d8635b2fe5f29b", size = 146004247, upload-time = "2026-01-21T16:24:29.335Z" },
+ { url = "https://files.pythonhosted.org/packages/98/fb/5160261aeb5e1ee12ee95fe599d0541f7c976c3701d607d8fc29e623229f/torch-2.10.0-cp313-cp313-manylinux_2_28_x86_64.whl", hash = "sha256:6b71486353fce0f9714ca0c9ef1c850a2ae766b409808acd58e9678a3edb7738", size = 915716445, upload-time = "2026-01-21T16:22:45.353Z" },
+ { url = "https://files.pythonhosted.org/packages/6a/16/502fb1b41e6d868e8deb5b0e3ae926bbb36dab8ceb0d1b769b266ad7b0c3/torch-2.10.0-cp313-cp313-win_amd64.whl", hash = "sha256:c2ee399c644dc92ef7bc0d4f7e74b5360c37cdbe7c5ba11318dda49ffac2bc57", size = 113757050, upload-time = "2026-01-21T16:24:19.204Z" },
+ { url = "https://files.pythonhosted.org/packages/1a/0b/39929b148f4824bc3ad6f9f72a29d4ad865bcf7ebfc2fa67584773e083d2/torch-2.10.0-cp313-cp313t-macosx_14_0_arm64.whl", hash = "sha256:3202429f58309b9fa96a614885eace4b7995729f44beb54d3e4a47773649d382", size = 79851305, upload-time = "2026-01-21T16:24:09.209Z" },
+ { url = "https://files.pythonhosted.org/packages/d8/14/21fbce63bc452381ba5f74a2c0a959fdf5ad5803ccc0c654e752e0dbe91a/torch-2.10.0-cp313-cp313t-manylinux_2_28_aarch64.whl", hash = "sha256:aae1b29cd68e50a9397f5ee897b9c24742e9e306f88a807a27d617f07adb3bd8", size = 146005472, upload-time = "2026-01-21T16:22:29.022Z" },
+ { url = "https://files.pythonhosted.org/packages/54/fd/b207d1c525cb570ef47f3e9f836b154685011fce11a2f444ba8a4084d042/torch-2.10.0-cp313-cp313t-manylinux_2_28_x86_64.whl", hash = "sha256:6021db85958db2f07ec94e1bc77212721ba4920c12a18dc552d2ae36a3eb163f", size = 915612644, upload-time = "2026-01-21T16:21:47.019Z" },
+ { url = "https://files.pythonhosted.org/packages/36/53/0197f868c75f1050b199fe58f9bf3bf3aecac9b4e85cc9c964383d745403/torch-2.10.0-cp313-cp313t-win_amd64.whl", hash = "sha256:ff43db38af76fda183156153983c9a096fc4c78d0cd1e07b14a2314c7f01c2c8", size = 113997015, upload-time = "2026-01-21T16:23:00.767Z" },
+ { url = "https://files.pythonhosted.org/packages/0e/13/e76b4d9c160e89fff48bf16b449ea324bda84745d2ab30294c37c2434c0d/torch-2.10.0-cp313-none-macosx_11_0_arm64.whl", hash = "sha256:cdf2a523d699b70d613243211ecaac14fe9c5df8a0b0a9c02add60fb2a413e0f", size = 79498248, upload-time = "2026-01-21T16:23:09.315Z" },
+]
+
+[[package]]
+name = "torch"
+version = "2.10.0+cu126"
+source = { registry = "https://download.pytorch.org/whl/cu126" }
+resolution-markers = [
+ "(python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform != 'darwin') or (python_full_version >= '3.13' and platform_machine == 'arm64' and sys_platform != 'darwin')",
+ "(python_full_version == '3.12.*' and platform_machine == 'aarch64' and sys_platform != 'darwin') or (python_full_version == '3.12.*' and platform_machine == 'arm64' and sys_platform != 'darwin')",
+ "(python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform == 'darwin') or (python_full_version >= '3.13' and platform_machine == 'arm64' and sys_platform == 'darwin')",
+ "(python_full_version == '3.12.*' and platform_machine == 'aarch64' and sys_platform == 'darwin') or (python_full_version == '3.12.*' and platform_machine == 'arm64' and sys_platform == 'darwin')",
+ "(python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform != 'darwin') or (python_full_version == '3.11.*' and platform_machine == 'arm64' and sys_platform != 'darwin')",
+ "(python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform == 'darwin') or (python_full_version == '3.11.*' and platform_machine == 'arm64' and sys_platform == 'darwin')",
+ "(python_full_version >= '3.13' and platform_machine == 'AMD64') or (python_full_version >= '3.13' and platform_machine == 'x86_64')",
+ "(python_full_version == '3.12.*' and platform_machine == 'AMD64') or (python_full_version == '3.12.*' and platform_machine == 'x86_64')",
+ "(python_full_version == '3.11.*' and platform_machine == 'AMD64') or (python_full_version == '3.11.*' and platform_machine == 'x86_64')",
+ "(python_full_version < '3.11' and platform_machine == 'aarch64' and sys_platform != 'darwin') or (python_full_version < '3.11' and platform_machine == 'arm64' and sys_platform != 'darwin')",
+ "(python_full_version < '3.11' and platform_machine == 'aarch64' and sys_platform == 'darwin') or (python_full_version < '3.11' and platform_machine == 'arm64' and sys_platform == 'darwin')",
+ "(python_full_version < '3.11' and platform_machine == 'AMD64') or (python_full_version < '3.11' and platform_machine == 'x86_64')",
+ "python_full_version >= '3.13' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64'",
+ "python_full_version == '3.12.*' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64'",
+ "python_full_version == '3.11.*' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64'",
+ "python_full_version < '3.11' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64'",
+]
+dependencies = [
+ { name = "cuda-bindings", marker = "(sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "filelock", marker = "extra == 'extra-15-gpt-sovits-meta-cu126' or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "fsspec", marker = "extra == 'extra-15-gpt-sovits-meta-cu126' or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "jinja2", marker = "extra == 'extra-15-gpt-sovits-meta-cu126' or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "networkx", version = "3.4.2", source = { registry = "https://pypi.org/simple" }, marker = "(python_full_version < '3.11' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "networkx", version = "3.6.1", source = { registry = "https://pypi.org/simple" }, marker = "(python_full_version >= '3.11' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "nvidia-cublas-cu12", version = "12.6.4.1", source = { registry = "https://pypi.org/simple" }, marker = "(sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "nvidia-cuda-cupti-cu12", version = "12.6.80", source = { registry = "https://pypi.org/simple" }, marker = "(sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "nvidia-cuda-nvrtc-cu12", version = "12.6.77", source = { registry = "https://pypi.org/simple" }, marker = "(sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "nvidia-cuda-runtime-cu12", version = "12.6.77", source = { registry = "https://pypi.org/simple" }, marker = "(sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "nvidia-cudnn-cu12", marker = "(sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "nvidia-cufft-cu12", version = "11.3.0.4", source = { registry = "https://pypi.org/simple" }, marker = "(sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "nvidia-cufile-cu12", version = "1.11.1.6", source = { registry = "https://pypi.org/simple" }, marker = "(sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "nvidia-curand-cu12", version = "10.3.7.77", source = { registry = "https://pypi.org/simple" }, marker = "(sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "nvidia-cusolver-cu12", version = "11.7.1.2", source = { registry = "https://pypi.org/simple" }, marker = "(sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "nvidia-cusparse-cu12", version = "12.5.4.2", source = { registry = "https://pypi.org/simple" }, marker = "(sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "nvidia-cusparselt-cu12", marker = "(sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "nvidia-nccl-cu12", marker = "(sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "nvidia-nvjitlink-cu12", version = "12.6.85", source = { registry = "https://pypi.org/simple" }, marker = "(sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "nvidia-nvshmem-cu12", version = "3.4.5", source = { registry = "https://pypi.org/simple" }, marker = "(sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "nvidia-nvtx-cu12", version = "12.6.77", source = { registry = "https://pypi.org/simple" }, marker = "(sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "setuptools", marker = "(python_full_version >= '3.12' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "sympy", marker = "extra == 'extra-15-gpt-sovits-meta-cu126' or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "triton", version = "3.6.0", source = { registry = "https://pypi.org/simple" }, marker = "(sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "typing-extensions", marker = "extra == 'extra-15-gpt-sovits-meta-cu126' or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+]
+wheels = [
+ { url = "https://download.pytorch.org/whl/cu126/torch-2.10.0%2Bcu126-cp310-cp310-manylinux_2_28_aarch64.whl", hash = "sha256:dae63a4756c9c455f299309b7b093f1b7c3460e63b53769cab10543b51a1d827" },
+ { url = "https://download.pytorch.org/whl/cu126/torch-2.10.0%2Bcu126-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:a256b51e8ca00770a47fe7ab865e3211d2a080d4f1cdc814cdcfb073b36cf1a1" },
+ { url = "https://download.pytorch.org/whl/cu126/torch-2.10.0%2Bcu126-cp310-cp310-win_amd64.whl", hash = "sha256:b91012be20b6c0370800ed7c153fd5b51582495f00f7341c38fa0cb6b9c9a968" },
+ { url = "https://download.pytorch.org/whl/cu126/torch-2.10.0%2Bcu126-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:3a5fb967ffb53ffa0d2579c9819491cfc36c557040de6fdeabcfcfb45df019bc" },
+ { url = "https://download.pytorch.org/whl/cu126/torch-2.10.0%2Bcu126-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:a9a9ba3b2baf23c044499ffbcbed88e04b6e38b94189c7dc42dd2cfcdd8c55c0" },
+ { url = "https://download.pytorch.org/whl/cu126/torch-2.10.0%2Bcu126-cp311-cp311-win_amd64.whl", hash = "sha256:4749cd32e32ed55179ff2ff0407e0ae5077fe4d332bfa49258f4578d09eccb40" },
+ { url = "https://download.pytorch.org/whl/cu126/torch-2.10.0%2Bcu126-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:81264238b3d8840276dd30c31f393e325b8f5da6390d18ac2a80dacecfd693ea" },
+ { url = "https://download.pytorch.org/whl/cu126/torch-2.10.0%2Bcu126-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:2a7a569206f07965eff69b28e147676540bb0ba6e1a39410802b6e4708cb8356" },
+ { url = "https://download.pytorch.org/whl/cu126/torch-2.10.0%2Bcu126-cp312-cp312-win_amd64.whl", hash = "sha256:95d8409b8a15191de4c2958e86ca47f3ea8f9739b994ee4ca0e7586f37336413" },
+ { url = "https://download.pytorch.org/whl/cu126/torch-2.10.0%2Bcu126-cp313-cp313-manylinux_2_28_aarch64.whl", hash = "sha256:9ffbf240bc193841ba0a79976510aa9ec14c95a57699257b581bc782316b592f" },
+ { url = "https://download.pytorch.org/whl/cu126/torch-2.10.0%2Bcu126-cp313-cp313-manylinux_2_28_x86_64.whl", hash = "sha256:8568052253534abe27b3ac56d301f69d35ef5ce16479e6a3d7808fb052310919" },
+ { url = "https://download.pytorch.org/whl/cu126/torch-2.10.0%2Bcu126-cp313-cp313-win_amd64.whl", hash = "sha256:91e21e7ad572bf0136e5b7f192714f120c8abde8e128f1a0759f158951643822" },
+ { url = "https://download.pytorch.org/whl/cu126/torch-2.10.0%2Bcu126-cp313-cp313t-manylinux_2_28_aarch64.whl", hash = "sha256:c3480edd0ecc95df5f3418687f584037c072392646f94f5181d32bba5446724f" },
+ { url = "https://download.pytorch.org/whl/cu126/torch-2.10.0%2Bcu126-cp313-cp313t-manylinux_2_28_x86_64.whl", hash = "sha256:270918b7a7ae46951fae6150bee9fcbd6a908242a1acc8d7e73de1194a041902" },
+ { url = "https://download.pytorch.org/whl/cu126/torch-2.10.0%2Bcu126-cp313-cp313t-win_amd64.whl", hash = "sha256:06335b76cbaae9ee94071e69dd79ecfadab76a48edd4ef79a95de0fbf1bc04b4" },
+]
+
+[[package]]
+name = "torch"
+version = "2.10.0+cu128"
+source = { registry = "https://download.pytorch.org/whl/cu128" }
+resolution-markers = [
+ "(python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform != 'darwin') or (python_full_version >= '3.13' and platform_machine == 'arm64' and sys_platform != 'darwin')",
+ "(python_full_version == '3.12.*' and platform_machine == 'aarch64' and sys_platform != 'darwin') or (python_full_version == '3.12.*' and platform_machine == 'arm64' and sys_platform != 'darwin')",
+ "(python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform == 'darwin') or (python_full_version >= '3.13' and platform_machine == 'arm64' and sys_platform == 'darwin')",
+ "(python_full_version == '3.12.*' and platform_machine == 'aarch64' and sys_platform == 'darwin') or (python_full_version == '3.12.*' and platform_machine == 'arm64' and sys_platform == 'darwin')",
+ "(python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform != 'darwin') or (python_full_version == '3.11.*' and platform_machine == 'arm64' and sys_platform != 'darwin')",
+ "(python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform == 'darwin') or (python_full_version == '3.11.*' and platform_machine == 'arm64' and sys_platform == 'darwin')",
+ "(python_full_version >= '3.13' and platform_machine == 'AMD64') or (python_full_version >= '3.13' and platform_machine == 'x86_64')",
+ "(python_full_version == '3.12.*' and platform_machine == 'AMD64') or (python_full_version == '3.12.*' and platform_machine == 'x86_64')",
+ "(python_full_version == '3.11.*' and platform_machine == 'AMD64') or (python_full_version == '3.11.*' and platform_machine == 'x86_64')",
+ "(python_full_version < '3.11' and platform_machine == 'aarch64' and sys_platform != 'darwin') or (python_full_version < '3.11' and platform_machine == 'arm64' and sys_platform != 'darwin')",
+ "(python_full_version < '3.11' and platform_machine == 'aarch64' and sys_platform == 'darwin') or (python_full_version < '3.11' and platform_machine == 'arm64' and sys_platform == 'darwin')",
+ "(python_full_version < '3.11' and platform_machine == 'AMD64') or (python_full_version < '3.11' and platform_machine == 'x86_64')",
+ "python_full_version >= '3.13' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64'",
+ "python_full_version == '3.12.*' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64'",
+ "python_full_version == '3.11.*' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64'",
+ "python_full_version < '3.11' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64'",
+]
+dependencies = [
+ { name = "cuda-bindings", marker = "(sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "filelock", marker = "extra == 'extra-15-gpt-sovits-meta-cu128' or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "fsspec", marker = "extra == 'extra-15-gpt-sovits-meta-cu128' or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "jinja2", marker = "extra == 'extra-15-gpt-sovits-meta-cu128' or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "networkx", version = "3.4.2", source = { registry = "https://pypi.org/simple" }, marker = "(python_full_version < '3.11' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "networkx", version = "3.6.1", source = { registry = "https://pypi.org/simple" }, marker = "(python_full_version >= '3.11' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "nvidia-cublas-cu12", version = "12.8.4.1", source = { registry = "https://pypi.org/simple" }, marker = "(sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "nvidia-cuda-cupti-cu12", version = "12.8.90", source = { registry = "https://pypi.org/simple" }, marker = "(sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "nvidia-cuda-nvrtc-cu12", version = "12.8.93", source = { registry = "https://pypi.org/simple" }, marker = "(sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "nvidia-cuda-runtime-cu12", version = "12.8.90", source = { registry = "https://pypi.org/simple" }, marker = "(sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "nvidia-cudnn-cu12", marker = "(sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "nvidia-cufft-cu12", version = "11.3.3.83", source = { registry = "https://pypi.org/simple" }, marker = "(sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "nvidia-cufile-cu12", version = "1.13.1.3", source = { registry = "https://pypi.org/simple" }, marker = "(sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "nvidia-curand-cu12", version = "10.3.9.90", source = { registry = "https://pypi.org/simple" }, marker = "(sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "nvidia-cusolver-cu12", version = "11.7.3.90", source = { registry = "https://pypi.org/simple" }, marker = "(sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "nvidia-cusparse-cu12", version = "12.5.8.93", source = { registry = "https://pypi.org/simple" }, marker = "(sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "nvidia-cusparselt-cu12", marker = "(sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "nvidia-nccl-cu12", marker = "(sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "nvidia-nvjitlink-cu12", version = "12.8.93", source = { registry = "https://pypi.org/simple" }, marker = "(sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "nvidia-nvshmem-cu12", version = "3.4.5", source = { registry = "https://pypi.org/simple" }, marker = "(sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "nvidia-nvtx-cu12", version = "12.8.90", source = { registry = "https://pypi.org/simple" }, marker = "(sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "setuptools", marker = "(python_full_version >= '3.12' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "sympy", marker = "extra == 'extra-15-gpt-sovits-meta-cu128' or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "triton", version = "3.6.0", source = { registry = "https://pypi.org/simple" }, marker = "(sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "typing-extensions", marker = "extra == 'extra-15-gpt-sovits-meta-cu128' or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+]
+wheels = [
+ { url = "https://download.pytorch.org/whl/cu128/torch-2.10.0%2Bcu128-cp310-cp310-manylinux_2_28_aarch64.whl", hash = "sha256:e186f57ef1de1aa877943259819468fc6f27efb583b4a91f9215ada7b7f4e6cc" },
+ { url = "https://download.pytorch.org/whl/cu128/torch-2.10.0%2Bcu128-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:36368507b56eaa51acbd3c96ac8893bb9a86991ffcd0699fea3a1a74a2b8bdcb" },
+ { url = "https://download.pytorch.org/whl/cu128/torch-2.10.0%2Bcu128-cp310-cp310-win_amd64.whl", hash = "sha256:14d2831b9292c3a9b0d80116451315a08ffe8db745d403d06000bc47165b1f9e" },
+ { url = "https://download.pytorch.org/whl/cu128/torch-2.10.0%2Bcu128-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:85ed7944655ea6fd69377692e9cbfd7bba28d99696ceae79985e7caa99cf0a95" },
+ { url = "https://download.pytorch.org/whl/cu128/torch-2.10.0%2Bcu128-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:1d01ffaebf64715c0f507a39463149cb19e596ff702bd4bcf862601f2881dabc" },
+ { url = "https://download.pytorch.org/whl/cu128/torch-2.10.0%2Bcu128-cp311-cp311-win_amd64.whl", hash = "sha256:3523fda6e2cfab2b04ae09b1424681358e508bb3faa11ceb67004113d5e7acad" },
+ { url = "https://download.pytorch.org/whl/cu128/torch-2.10.0%2Bcu128-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:6f09cdf2415516be028ae82e6b985bcfc3eac37bc52ab401142689f6224516ca" },
+ { url = "https://download.pytorch.org/whl/cu128/torch-2.10.0%2Bcu128-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:628e89bd5110ced7debee2a57c69959725b7fbc64eab81a39dd70e46c7e28ba5" },
+ { url = "https://download.pytorch.org/whl/cu128/torch-2.10.0%2Bcu128-cp312-cp312-win_amd64.whl", hash = "sha256:fbde8f6a9ec8c76979a0d14df21c10b9e5cab6f0d106a73ca73e2179bc597cae" },
+ { url = "https://download.pytorch.org/whl/cu128/torch-2.10.0%2Bcu128-cp313-cp313-manylinux_2_28_aarch64.whl", hash = "sha256:bdbcc703382f948e951c063448c9406bf38ce66c41dd698d9e2733fcf96c037a" },
+ { url = "https://download.pytorch.org/whl/cu128/torch-2.10.0%2Bcu128-cp313-cp313-manylinux_2_28_x86_64.whl", hash = "sha256:7b4bd23ed63de97456fcc81c26fea9f02ee02ce1112111c4dac0d8cfe574b23e" },
+ { url = "https://download.pytorch.org/whl/cu128/torch-2.10.0%2Bcu128-cp313-cp313-win_amd64.whl", hash = "sha256:4d1b0b49c54223c7c04050b49eac141d77b6edbc34aea1dfc74a6fdb661baa8c" },
+ { url = "https://download.pytorch.org/whl/cu128/torch-2.10.0%2Bcu128-cp313-cp313t-manylinux_2_28_aarch64.whl", hash = "sha256:f1f8b840c64b645a4bc61a393db48effb9c92b2dc26c8373873911f0750d1ea7" },
+ { url = "https://download.pytorch.org/whl/cu128/torch-2.10.0%2Bcu128-cp313-cp313t-manylinux_2_28_x86_64.whl", hash = "sha256:23f58258012bcf1c349cb22af387e33aadca7f83ea617b080e774eb41e4fe8ff" },
+ { url = "https://download.pytorch.org/whl/cu128/torch-2.10.0%2Bcu128-cp313-cp313t-win_amd64.whl", hash = "sha256:01b216e097b17a5277cfb47c383cdcacf06abeadcb0daca0c76b59e72854c3b6" },
+]
+
+[[package]]
+name = "torch-complex"
+version = "0.4.4"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11' or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "numpy", version = "2.3.5", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11' or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "packaging" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/bf/2b/17cb15a383cf2135330371e034d13b9043dc6d8bd07c871b5aa3064fbed1/torch_complex-0.4.4.tar.gz", hash = "sha256:4153fd6b24a0bad689e6f193bfbd00f38283b1890d808bef684ddc6d1f63fd3f", size = 10025, upload-time = "2024-06-28T07:10:28.136Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/f4/c5/9b4d756a7ada951e9b17dcc636f98ed1073c737ae809b150ef408afb6298/torch_complex-0.4.4-py3-none-any.whl", hash = "sha256:6ab4ecd4f3a16e3adb70a7f7cd2e769a9dfd07d7a8e27d04ff9c621ebbe34b13", size = 9125, upload-time = "2024-06-28T07:10:26.651Z" },
+]
+
+[[package]]
+name = "torchaudio"
+version = "2.9.1"
+source = { registry = "https://download.pytorch.org/whl/cpu" }
+resolution-markers = [
+ "(python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version >= '3.13' and platform_machine == 'arm64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version >= '3.13' and platform_machine == 'arm64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.12.*' and platform_machine == 'aarch64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.12.*' and platform_machine == 'arm64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.11.*' and platform_machine == 'aarch64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.11.*' and platform_machine == 'arm64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version < '3.11' and platform_machine == 'aarch64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version < '3.11' and platform_machine == 'arm64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')",
+ "python_full_version >= '3.13' and platform_machine == 'arm64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version == '3.12.*' and platform_machine == 'arm64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version == '3.11.*' and platform_machine == 'arm64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "(python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform != 'darwin' and sys_platform != 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version >= '3.13' and platform_machine == 'arm64' and sys_platform != 'darwin' and sys_platform != 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.12.*' and platform_machine == 'aarch64' and sys_platform != 'darwin' and sys_platform != 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.12.*' and platform_machine == 'arm64' and sys_platform != 'darwin' and sys_platform != 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform != 'darwin' and sys_platform != 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.11.*' and platform_machine == 'arm64' and sys_platform != 'darwin' and sys_platform != 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "python_full_version < '3.11' and platform_machine == 'arm64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "(python_full_version < '3.11' and platform_machine == 'aarch64' and sys_platform != 'darwin' and sys_platform != 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version < '3.11' and platform_machine == 'arm64' and sys_platform != 'darwin' and sys_platform != 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version >= '3.13' and platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.12.*' and platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.12.*' and platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.11.*' and platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version < '3.11' and platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version < '3.11' and platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version == '3.12.*' and platform_machine == 'aarch64' and sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version < '3.11' and platform_machine == 'aarch64' and sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+]
+dependencies = [
+ { name = "torch", version = "2.9.1", source = { registry = "https://download.pytorch.org/whl/cpu" }, marker = "(platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu') or (platform_machine == 'aarch64' and sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cpu') or (platform_machine == 'arm64' and sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu') or (platform_machine != 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine != 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine != 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine != 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'aarch64' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "torch", version = "2.9.1+cpu", source = { registry = "https://download.pytorch.org/whl/cpu" }, marker = "(platform_machine == 'aarch64' and sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu') or (platform_machine != 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine != 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine != 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine != 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'aarch64' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "torch", version = "2.9.1+cu129", source = { registry = "https://download.pytorch.org/whl/cu129" }, marker = "(platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and sys_platform != 'darwin' and sys_platform != 'win32' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and sys_platform != 'darwin' and sys_platform != 'win32' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'win32' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (sys_platform == 'win32' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (sys_platform == 'win32' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'win32' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'win32' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (sys_platform == 'win32' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'win32' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'win32' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'win32' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'win32' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "torch", version = "2.9.1+rocm6.4", source = { registry = "https://download.pytorch.org/whl/rocm6.4" }, marker = "(platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+]
+wheels = [
+ { url = "https://download.pytorch.org/whl/cpu/torchaudio-2.9.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:b7cb5172b6ce67cabccc560b8123def95036cd1587e114dc697a27b7b81db13d" },
+ { url = "https://download.pytorch.org/whl/cpu/torchaudio-2.9.1-cp310-cp310-manylinux_2_28_aarch64.whl", hash = "sha256:6acbd63be64af4cb2d175bf0668ee6a604604cef17c653e805866fa79577434d" },
+ { url = "https://download.pytorch.org/whl/cpu/torchaudio-2.9.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:e6a4c796b1b5dbd820be83388c209d0f163ef5d74a43a06d519360fdacd36ed1" },
+ { url = "https://download.pytorch.org/whl/cpu/torchaudio-2.9.1-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:9d3956e2bcf8a67e7e8468d760209aed0a5de3cfbdd46e4adfba80a3bc2d0d7b" },
+ { url = "https://download.pytorch.org/whl/cpu/torchaudio-2.9.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:c779c0380fbba12d63f56c093dd93be1222d6cc3caf140ad1d89c4a60b28eff1" },
+ { url = "https://download.pytorch.org/whl/cpu/torchaudio-2.9.1-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:f6fa882b750385fdb0a2aa5215a6a04b97cf9668b37617038a814c7630b2dc8d" },
+ { url = "https://download.pytorch.org/whl/cpu/torchaudio-2.9.1-cp313-cp313-macosx_12_0_arm64.whl", hash = "sha256:1c521e9f70fab2e825f6b831ac314a79dc37f51c8d11cd5498c0f3c880a122e1" },
+ { url = "https://download.pytorch.org/whl/cpu/torchaudio-2.9.1-cp313-cp313-manylinux_2_28_aarch64.whl", hash = "sha256:0b3fecc6bcfe46fcb905ea826ef63e9a052a6d9d1e2cd713f59a53a509fc8b5c" },
+ { url = "https://download.pytorch.org/whl/cpu/torchaudio-2.9.1-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:976c4106f9f1d86ecd74c1a6e1fbf903403f2a37547ba2ece262f82b0daae300" },
+ { url = "https://download.pytorch.org/whl/cpu/torchaudio-2.9.1-cp313-cp313t-manylinux_2_28_aarch64.whl", hash = "sha256:f5b0595fa19ee8c5ac6a997c0d14b662d9c92a08c43771698ae4c9e3f2273fdf" },
+]
+
+[[package]]
+name = "torchaudio"
+version = "2.9.1+cpu"
+source = { registry = "https://download.pytorch.org/whl/cpu" }
+resolution-markers = [
+ "(python_full_version >= '3.13' and platform_machine == 'AMD64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version >= '3.13' and platform_machine == 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.12.*' and platform_machine == 'AMD64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.12.*' and platform_machine == 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.11.*' and platform_machine == 'AMD64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.11.*' and platform_machine == 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version < '3.11' and platform_machine == 'AMD64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version < '3.11' and platform_machine == 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')",
+ "python_full_version >= '3.13' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version == '3.12.*' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version == '3.11.*' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version < '3.11' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64'",
+ "(python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform == 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version >= '3.13' and platform_machine == 'arm64' and sys_platform == 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.12.*' and platform_machine == 'aarch64' and sys_platform == 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.12.*' and platform_machine == 'arm64' and sys_platform == 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform == 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.11.*' and platform_machine == 'arm64' and sys_platform == 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version == '3.12.*' and platform_machine == 'aarch64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "(python_full_version >= '3.13' and platform_machine == 'AMD64' and sys_platform == 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version >= '3.13' and platform_machine == 'x86_64' and sys_platform == 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.12.*' and platform_machine == 'AMD64' and sys_platform == 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.12.*' and platform_machine == 'x86_64' and sys_platform == 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.11.*' and platform_machine == 'AMD64' and sys_platform == 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.11.*' and platform_machine == 'x86_64' and sys_platform == 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "python_full_version >= '3.13' and platform_machine == 'x86_64' and sys_platform == 'linux' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version == '3.12.*' and platform_machine == 'x86_64' and sys_platform == 'linux' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version == '3.11.*' and platform_machine == 'x86_64' and sys_platform == 'linux' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "(python_full_version >= '3.13' and platform_machine == 'AMD64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version >= '3.13' and platform_machine == 'x86_64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.12.*' and platform_machine == 'AMD64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.12.*' and platform_machine == 'x86_64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.11.*' and platform_machine == 'AMD64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.11.*' and platform_machine == 'x86_64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version >= '3.13' and platform_machine == 'x86_64' and sys_platform != 'darwin' and sys_platform != 'linux' and sys_platform != 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version >= '3.13' and platform_machine == 'AMD64' and sys_platform != 'darwin' and sys_platform != 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version >= '3.13' and platform_machine == 'AMD64' and sys_platform == 'linux' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.12.*' and platform_machine == 'x86_64' and sys_platform != 'darwin' and sys_platform != 'linux' and sys_platform != 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.12.*' and platform_machine == 'AMD64' and sys_platform != 'darwin' and sys_platform != 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.12.*' and platform_machine == 'AMD64' and sys_platform == 'linux' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.11.*' and platform_machine == 'x86_64' and sys_platform != 'darwin' and sys_platform != 'linux' and sys_platform != 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.11.*' and platform_machine == 'AMD64' and sys_platform != 'darwin' and sys_platform != 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.11.*' and platform_machine == 'AMD64' and sys_platform == 'linux' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version < '3.11' and platform_machine == 'aarch64' and sys_platform == 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version < '3.11' and platform_machine == 'arm64' and sys_platform == 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "python_full_version < '3.11' and platform_machine == 'aarch64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "(python_full_version < '3.11' and platform_machine == 'AMD64' and sys_platform == 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version < '3.11' and platform_machine == 'x86_64' and sys_platform == 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "python_full_version < '3.11' and platform_machine == 'x86_64' and sys_platform == 'linux' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "(python_full_version < '3.11' and platform_machine == 'AMD64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version < '3.11' and platform_machine == 'x86_64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version < '3.11' and platform_machine == 'x86_64' and sys_platform != 'darwin' and sys_platform != 'linux' and sys_platform != 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version < '3.11' and platform_machine == 'AMD64' and sys_platform != 'darwin' and sys_platform != 'win32' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version < '3.11' and platform_machine == 'AMD64' and sys_platform == 'linux' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "python_full_version >= '3.13' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version == '3.12.*' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version == '3.11.*' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version < '3.11' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version >= '3.13' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version == '3.12.*' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version == '3.11.*' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version < '3.11' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "(python_full_version >= '3.13' and platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version >= '3.13' and platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.12.*' and platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.12.*' and platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.11.*' and platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.11.*' and platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version < '3.11' and platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version < '3.11' and platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "python_full_version >= '3.13' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version == '3.12.*' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version == '3.11.*' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version < '3.11' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+]
+dependencies = [
+ { name = "torch", version = "2.9.1+cpu", source = { registry = "https://download.pytorch.org/whl/cpu" }, marker = "(platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'arm64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "torch", version = "2.9.1+cu129", source = { registry = "https://download.pytorch.org/whl/cu129" }, marker = "(platform_machine != 'aarch64' and platform_machine != 'arm64' and sys_platform != 'darwin' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'win32' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'win32' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (sys_platform == 'win32' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (sys_platform == 'win32' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (sys_platform == 'win32' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'win32' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'win32' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "torch", version = "2.9.1+rocm6.4", source = { registry = "https://download.pytorch.org/whl/rocm6.4" }, marker = "(platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+]
+wheels = [
+ { url = "https://download.pytorch.org/whl/cpu/torchaudio-2.9.1%2Bcpu-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:6b4ee4ea11ce021cefec8feb74afcb3e00ab650666bb5f41cec09e5d9511adcd" },
+ { url = "https://download.pytorch.org/whl/cpu/torchaudio-2.9.1%2Bcpu-cp310-cp310-win_amd64.whl", hash = "sha256:8b72d229b0cdb631985f13820647baab3d95c33bd8e71a683f5f88b993c4f51b" },
+ { url = "https://download.pytorch.org/whl/cpu/torchaudio-2.9.1%2Bcpu-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:6adc89a3c903d552e1654102134734179036bb8b756acab3db27d8bd8bd4d186" },
+ { url = "https://download.pytorch.org/whl/cpu/torchaudio-2.9.1%2Bcpu-cp311-cp311-win_amd64.whl", hash = "sha256:54667bd392300887cf0948aa5a793ac51b4cef6395afdd9469e7ed9097dadac2" },
+ { url = "https://download.pytorch.org/whl/cpu/torchaudio-2.9.1%2Bcpu-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:43cf20a2965cf081945c91d2dc8844377e5e3f1b172c0d0c18399ca3ecf1f899" },
+ { url = "https://download.pytorch.org/whl/cpu/torchaudio-2.9.1%2Bcpu-cp312-cp312-win_amd64.whl", hash = "sha256:53dd3155b794019e8de2dc49d044f410e6bce081d23a0e6548c156f37dfc9d0d" },
+ { url = "https://download.pytorch.org/whl/cpu/torchaudio-2.9.1%2Bcpu-cp313-cp313-manylinux_2_28_x86_64.whl", hash = "sha256:c3cb189e9b30ff639535c1152056cc2523aecf139978f2b9b89109e2d376909e" },
+ { url = "https://download.pytorch.org/whl/cpu/torchaudio-2.9.1%2Bcpu-cp313-cp313-win_amd64.whl", hash = "sha256:f5426c7766f1e6aae0f2e59967292b9c3a3a21012e12ac7dcfd138a489eca4c7" },
+ { url = "https://download.pytorch.org/whl/cpu/torchaudio-2.9.1%2Bcpu-cp313-cp313t-manylinux_2_28_x86_64.whl", hash = "sha256:386141130d1f054225e483cfaa942fe0219f1340d737de9018417452b42cf994" },
+ { url = "https://download.pytorch.org/whl/cpu/torchaudio-2.9.1%2Bcpu-cp313-cp313t-win_amd64.whl", hash = "sha256:0306bc184da793ffbfd6ae4ef32ab39215f64f4155c762f4c54970a991638bb5" },
+]
+
+[[package]]
+name = "torchaudio"
+version = "2.10.0"
+source = { registry = "https://download.pytorch.org/whl/cpu" }
+resolution-markers = [
+ "(python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform == 'darwin') or (python_full_version >= '3.13' and platform_machine == 'arm64' and sys_platform == 'darwin')",
+ "(python_full_version == '3.12.*' and platform_machine == 'aarch64' and sys_platform == 'darwin') or (python_full_version == '3.12.*' and platform_machine == 'arm64' and sys_platform == 'darwin')",
+ "(python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform == 'darwin') or (python_full_version == '3.11.*' and platform_machine == 'arm64' and sys_platform == 'darwin')",
+ "(python_full_version < '3.11' and platform_machine == 'aarch64' and sys_platform == 'darwin') or (python_full_version < '3.11' and platform_machine == 'arm64' and sys_platform == 'darwin')",
+]
+dependencies = [
+ { name = "torch", version = "2.10.0", source = { registry = "https://pypi.org/simple" }, marker = "(platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform != 'darwin' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (sys_platform != 'darwin' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (sys_platform != 'darwin' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform != 'darwin' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform != 'darwin' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (sys_platform != 'darwin' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform != 'darwin' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform != 'darwin' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform != 'darwin' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform != 'darwin' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "torch", version = "2.10.0+cu126", source = { registry = "https://download.pytorch.org/whl/cu126" }, marker = "(platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine == 'arm64' and sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform != 'darwin' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (sys_platform != 'darwin' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (sys_platform != 'darwin' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform != 'darwin' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform != 'darwin' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (sys_platform != 'darwin' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform != 'darwin' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform != 'darwin' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform != 'darwin' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform != 'darwin' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "torch", version = "2.10.0+cu128", source = { registry = "https://download.pytorch.org/whl/cu128" }, marker = "(platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'arm64' and sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform != 'darwin' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (sys_platform != 'darwin' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (sys_platform != 'darwin' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform != 'darwin' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform != 'darwin' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (sys_platform != 'darwin' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform != 'darwin' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform != 'darwin' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform != 'darwin' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform != 'darwin' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+]
+wheels = [
+ { url = "https://download.pytorch.org/whl/cpu/torchaudio-2.10.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:a5ba7e9c00e5a786994a468453da28589933e8ef89cb330dd799fe63a85c92b9" },
+ { url = "https://download.pytorch.org/whl/cpu/torchaudio-2.10.0-cp310-cp310-manylinux_2_28_aarch64.whl", hash = "sha256:f182fa1917701bbc24fb3e2aeb7801c1596cf42d023d7d7e34105d2f27d72998" },
+ { url = "https://download.pytorch.org/whl/cpu/torchaudio-2.10.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:28813664c4c86557921f0ae0ef0f624e065132b02c525bff599e7656e19ef727" },
+ { url = "https://download.pytorch.org/whl/cpu/torchaudio-2.10.0-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:d35900f4689cb0164195b31263a769987c8953412197a6b4b758218d2e2dbc86" },
+ { url = "https://download.pytorch.org/whl/cpu/torchaudio-2.10.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:085f1b72339e4321005b9aacd7d06b1c64e5f3a2e3ff9fc6ad598bfb6fdecec4" },
+ { url = "https://download.pytorch.org/whl/cpu/torchaudio-2.10.0-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:4a511f5d55ee0348052670e5834800774e426ce1685d87b482ac9e2324074bb7" },
+ { url = "https://download.pytorch.org/whl/cpu/torchaudio-2.10.0-cp313-cp313-macosx_12_0_arm64.whl", hash = "sha256:bd2a7607860798e584747d7356b3f11b43ada695b264215ce5a7b6f68fe0f355" },
+ { url = "https://download.pytorch.org/whl/cpu/torchaudio-2.10.0-cp313-cp313-manylinux_2_28_aarch64.whl", hash = "sha256:dd8ed1b729b4694f01776ae95e7db432b1a808db4377f99596fe74c24ccba2be" },
+ { url = "https://download.pytorch.org/whl/cpu/torchaudio-2.10.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:6d7a796de0b2e1246a468aed0cd7aef136bb7a8d6171c07e97b478b1b2a41e5f" },
+ { url = "https://download.pytorch.org/whl/cpu/torchaudio-2.10.0-cp313-cp313t-manylinux_2_28_aarch64.whl", hash = "sha256:8bec0eb0762379d6eb38878ea0a4c7fd8f73dbc6e249b67e1e706c1287a87ef0" },
+]
+
+[[package]]
+name = "torchaudio"
+version = "2.10.0+cpu"
+source = { registry = "https://download.pytorch.org/whl/cpu" }
+resolution-markers = [
+ "(python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform != 'darwin') or (python_full_version >= '3.13' and platform_machine == 'arm64' and sys_platform != 'darwin')",
+ "(python_full_version == '3.12.*' and platform_machine == 'aarch64' and sys_platform != 'darwin') or (python_full_version == '3.12.*' and platform_machine == 'arm64' and sys_platform != 'darwin')",
+ "(python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform != 'darwin') or (python_full_version == '3.11.*' and platform_machine == 'arm64' and sys_platform != 'darwin')",
+ "(python_full_version >= '3.13' and platform_machine == 'AMD64') or (python_full_version >= '3.13' and platform_machine == 'x86_64')",
+ "(python_full_version == '3.12.*' and platform_machine == 'AMD64') or (python_full_version == '3.12.*' and platform_machine == 'x86_64')",
+ "(python_full_version == '3.11.*' and platform_machine == 'AMD64') or (python_full_version == '3.11.*' and platform_machine == 'x86_64')",
+ "(python_full_version < '3.11' and platform_machine == 'aarch64' and sys_platform != 'darwin') or (python_full_version < '3.11' and platform_machine == 'arm64' and sys_platform != 'darwin')",
+ "(python_full_version < '3.11' and platform_machine == 'AMD64') or (python_full_version < '3.11' and platform_machine == 'x86_64')",
+ "python_full_version >= '3.13' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64'",
+ "python_full_version == '3.12.*' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64'",
+ "python_full_version == '3.11.*' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64'",
+ "python_full_version < '3.11' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64'",
+]
+dependencies = [
+ { name = "torch", version = "2.10.0", source = { registry = "https://pypi.org/simple" }, marker = "(platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform != 'darwin' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (sys_platform != 'darwin' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (sys_platform != 'darwin' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform != 'darwin' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform != 'darwin' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (sys_platform != 'darwin' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform != 'darwin' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform != 'darwin' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform != 'darwin' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform != 'darwin' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "torch", version = "2.10.0+cu126", source = { registry = "https://download.pytorch.org/whl/cu126" }, marker = "(platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform != 'darwin' and extra == 'extra-15-gpt-sovits-meta-cu126') or (sys_platform != 'darwin' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (sys_platform != 'darwin' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform != 'darwin' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform != 'darwin' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform != 'darwin' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform != 'darwin' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "torch", version = "2.10.0+cu128", source = { registry = "https://download.pytorch.org/whl/cu128" }, marker = "(platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform != 'darwin' and extra == 'extra-15-gpt-sovits-meta-cu128') or (sys_platform != 'darwin' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (sys_platform != 'darwin' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform != 'darwin' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform != 'darwin' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform != 'darwin' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform != 'darwin' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+]
+wheels = [
+ { url = "https://download.pytorch.org/whl/cpu/torchaudio-2.10.0%2Bcpu-cp310-cp310-manylinux_2_28_aarch64.whl", hash = "sha256:2e923e36c6e6240a70a2ea7a002c8ff6094a386e3014894d20402c42bd6aab1c" },
+ { url = "https://download.pytorch.org/whl/cpu/torchaudio-2.10.0%2Bcpu-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:18079d35314af1fc6a80eaa4f9d7b8e6c53317fc51dbe2ec48703e59b490eb90" },
+ { url = "https://download.pytorch.org/whl/cpu/torchaudio-2.10.0%2Bcpu-cp310-cp310-win_amd64.whl", hash = "sha256:15a7da0c9e7928e3f3c0fe442d22aee7dd8ecca67718c2ac662d1fb0d1fb6385" },
+ { url = "https://download.pytorch.org/whl/cpu/torchaudio-2.10.0%2Bcpu-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:08981b656c71bcb990165f45b2421136df286de46ced976dba372fba5a627d2e" },
+ { url = "https://download.pytorch.org/whl/cpu/torchaudio-2.10.0%2Bcpu-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:d578c9bc636623c83103054d797c3a889d7f733c1375fedf48d0be4dd9ff0031" },
+ { url = "https://download.pytorch.org/whl/cpu/torchaudio-2.10.0%2Bcpu-cp311-cp311-win_amd64.whl", hash = "sha256:2a78b81a7a21d39a309e5df6e7473c814f5e2de68ef054788a633e618fe5baa8" },
+ { url = "https://download.pytorch.org/whl/cpu/torchaudio-2.10.0%2Bcpu-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:2ef1f8d0f0feba5a9364620925c864890b90abc98a65f35895256dd6aa1710be" },
+ { url = "https://download.pytorch.org/whl/cpu/torchaudio-2.10.0%2Bcpu-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:502b19a5bd0ef8fc97adf06c24146c5e2b94bc3c43b768174407c031cd21c3a5" },
+ { url = "https://download.pytorch.org/whl/cpu/torchaudio-2.10.0%2Bcpu-cp312-cp312-win_amd64.whl", hash = "sha256:32707736ef079a673433ca36c227c135375602b74d41ee21ff18d1e75caee0b0" },
+ { url = "https://download.pytorch.org/whl/cpu/torchaudio-2.10.0%2Bcpu-cp313-cp313-manylinux_2_28_aarch64.whl", hash = "sha256:5a7ab98c247753ee09fb9193cd6acef7884643134c3b1ef31fe30acde10344d1" },
+ { url = "https://download.pytorch.org/whl/cpu/torchaudio-2.10.0%2Bcpu-cp313-cp313-manylinux_2_28_x86_64.whl", hash = "sha256:9b07ad143c5d7727a48aa6923991b8d7a06a6b3c78dedee6a1aa46ff16ad3db2" },
+ { url = "https://download.pytorch.org/whl/cpu/torchaudio-2.10.0%2Bcpu-cp313-cp313-win_amd64.whl", hash = "sha256:ef9a3bc9c0dcbb766775f60bb4e1f5dc02801db0367bc45a6c76e98e041968af" },
+ { url = "https://download.pytorch.org/whl/cpu/torchaudio-2.10.0%2Bcpu-cp313-cp313t-manylinux_2_28_aarch64.whl", hash = "sha256:6b95eb81b3960961c419b48b321d5dd837f696067ae4adc2bbb431c8b3737366" },
+ { url = "https://download.pytorch.org/whl/cpu/torchaudio-2.10.0%2Bcpu-cp313-cp313t-manylinux_2_28_x86_64.whl", hash = "sha256:eeb02bee18b0a98a5f6ea2bceebb3bf3176fbadfe9fcb9fa062d9387d8fecc17" },
+ { url = "https://download.pytorch.org/whl/cpu/torchaudio-2.10.0%2Bcpu-cp313-cp313t-win_amd64.whl", hash = "sha256:35763804fc32eb5d108ba49b75dd8cc09ae0892070dc528ef6beed6a3d923c7f" },
+]
+
+[[package]]
+name = "torchcodec"
+version = "0.10.0"
+source = { registry = "https://download.pytorch.org/whl/cpu" }
+resolution-markers = [
+ "python_full_version >= '3.13' and platform_machine == 'arm64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version == '3.12.*' and platform_machine == 'arm64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version == '3.11.*' and platform_machine == 'arm64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version == '3.12.*' and platform_machine == 'aarch64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "(python_full_version >= '3.13' and platform_machine == 'AMD64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version >= '3.13' and platform_machine == 'x86_64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.12.*' and platform_machine == 'AMD64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.12.*' and platform_machine == 'x86_64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.11.*' and platform_machine == 'AMD64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.11.*' and platform_machine == 'x86_64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "python_full_version < '3.11' and platform_machine == 'arm64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version < '3.11' and platform_machine == 'aarch64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "(python_full_version < '3.11' and platform_machine == 'AMD64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version < '3.11' and platform_machine == 'x86_64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "python_full_version >= '3.13' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version == '3.12.*' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version == '3.11.*' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version < '3.11' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "(python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version >= '3.13' and platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.12.*' and platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.12.*' and platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.11.*' and platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version >= '3.13' and platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version >= '3.13' and platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.12.*' and platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.12.*' and platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.11.*' and platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.11.*' and platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version < '3.11' and platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version < '3.11' and platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version < '3.11' and platform_machine == 'AMD64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version < '3.11' and platform_machine == 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "python_full_version >= '3.13' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version == '3.12.*' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version == '3.11.*' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version < '3.11' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+]
+wheels = [
+ { url = "https://download.pytorch.org/whl/cpu/torchcodec-0.10.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:a2ecb3e38414a9326ffca56e49a05a9f513813aa118b7f540110d09ab725d1f7" },
+ { url = "https://download.pytorch.org/whl/cpu/torchcodec-0.10.0-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:61f9b12fcd5b89d5e7e874c5feeb7c2c99821868a32f6ebbf6e8692409b2b6f7" },
+ { url = "https://download.pytorch.org/whl/cpu/torchcodec-0.10.0-cp310-cp310-win_amd64.whl", hash = "sha256:a49e3ebab65e559a98af6f63371a837f69b8542059da8def30bd6e658c5e86d3" },
+ { url = "https://download.pytorch.org/whl/cpu/torchcodec-0.10.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:3dde1ebd9677ec1587f1e45486b3d59bd3e41a0bf4fc9b3dc6880e64c421ad56" },
+ { url = "https://download.pytorch.org/whl/cpu/torchcodec-0.10.0-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:2e2be11c4468a58940572fcf5f8ed5e41187c1de214267f692e2fd5ac8731198" },
+ { url = "https://download.pytorch.org/whl/cpu/torchcodec-0.10.0-cp311-cp311-win_amd64.whl", hash = "sha256:f51d9435d3c75c0b55f5dc64a22ce9cfb58ac19013cdd8ce572a523ef75e2b58" },
+ { url = "https://download.pytorch.org/whl/cpu/torchcodec-0.10.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:b35fa4061c5757f8d714187c040a90a11669de6470a644bb04e3cd335ff1c110" },
+ { url = "https://download.pytorch.org/whl/cpu/torchcodec-0.10.0-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:6e43184d83ccced965b31cad5bb6200c779646fee2ec153a6d784b4def40c91b" },
+ { url = "https://download.pytorch.org/whl/cpu/torchcodec-0.10.0-cp312-cp312-win_amd64.whl", hash = "sha256:e4f022fa53d91b414b4177fe87b0afc40a806092da4595d24de4b245d6fb0fba" },
+ { url = "https://download.pytorch.org/whl/cpu/torchcodec-0.10.0-cp313-cp313-macosx_12_0_arm64.whl", hash = "sha256:be3ce7cc667effecd06da9d0d6c5e9e347c5f376b705934e7b82378a65cf6eef" },
+ { url = "https://download.pytorch.org/whl/cpu/torchcodec-0.10.0-cp313-cp313-manylinux_2_28_x86_64.whl", hash = "sha256:71f25caf9ab89a434ae2008b1374fd98557a6864b8313b103bae53af3e6fd17f" },
+ { url = "https://download.pytorch.org/whl/cpu/torchcodec-0.10.0-cp313-cp313-win_amd64.whl", hash = "sha256:9e077146e894f373b805972da96aee42ff8bb87b1a3f3fb64d26925cd9e64184" },
+]
+
+[[package]]
+name = "torchcodec"
+version = "0.10.0+cu126"
+source = { registry = "https://download.pytorch.org/whl/cu126" }
+resolution-markers = [
+ "(python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform != 'darwin') or (python_full_version >= '3.13' and platform_machine == 'arm64' and sys_platform != 'darwin')",
+ "(python_full_version == '3.12.*' and platform_machine == 'aarch64' and sys_platform != 'darwin') or (python_full_version == '3.12.*' and platform_machine == 'arm64' and sys_platform != 'darwin')",
+ "(python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform == 'darwin') or (python_full_version >= '3.13' and platform_machine == 'arm64' and sys_platform == 'darwin')",
+ "(python_full_version == '3.12.*' and platform_machine == 'aarch64' and sys_platform == 'darwin') or (python_full_version == '3.12.*' and platform_machine == 'arm64' and sys_platform == 'darwin')",
+ "(python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform != 'darwin') or (python_full_version == '3.11.*' and platform_machine == 'arm64' and sys_platform != 'darwin')",
+ "(python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform == 'darwin') or (python_full_version == '3.11.*' and platform_machine == 'arm64' and sys_platform == 'darwin')",
+ "(python_full_version >= '3.13' and platform_machine == 'AMD64') or (python_full_version >= '3.13' and platform_machine == 'x86_64')",
+ "(python_full_version == '3.12.*' and platform_machine == 'AMD64') or (python_full_version == '3.12.*' and platform_machine == 'x86_64')",
+ "(python_full_version == '3.11.*' and platform_machine == 'AMD64') or (python_full_version == '3.11.*' and platform_machine == 'x86_64')",
+ "(python_full_version < '3.11' and platform_machine == 'aarch64' and sys_platform != 'darwin') or (python_full_version < '3.11' and platform_machine == 'arm64' and sys_platform != 'darwin')",
+ "(python_full_version < '3.11' and platform_machine == 'aarch64' and sys_platform == 'darwin') or (python_full_version < '3.11' and platform_machine == 'arm64' and sys_platform == 'darwin')",
+ "(python_full_version < '3.11' and platform_machine == 'AMD64') or (python_full_version < '3.11' and platform_machine == 'x86_64')",
+ "python_full_version >= '3.13' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64'",
+ "python_full_version == '3.12.*' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64'",
+ "python_full_version == '3.11.*' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64'",
+ "python_full_version < '3.11' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64'",
+]
+wheels = [
+ { url = "https://download.pytorch.org/whl/cu126/torchcodec-0.10.0%2Bcu126-cp310-cp310-manylinux_2_28_aarch64.whl", hash = "sha256:15fabc4d7bba91fb3a6726cd26b3096240873ec42756c1a76e8b8654688bd9c0" },
+ { url = "https://download.pytorch.org/whl/cu126/torchcodec-0.10.0%2Bcu126-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:f098d0dd87f8d9192ecdadbe8d5ab23307fb6b1ef703ded6c19eb5ec43ea8eb2" },
+ { url = "https://download.pytorch.org/whl/cu126/torchcodec-0.10.0%2Bcu126-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:cb22c174674d358cc1d97eae8ebc5f65b2b4831338c2ea020fc7f0108fa4f086" },
+ { url = "https://download.pytorch.org/whl/cu126/torchcodec-0.10.0%2Bcu126-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:01b97785c18f4ec3f539270d33e5fa08e840148ab50e3aed4d9606e10e20ccae" },
+ { url = "https://download.pytorch.org/whl/cu126/torchcodec-0.10.0%2Bcu126-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:cf8eb917f4182e0fdea5fcabf089ae29cab64241a53b70bbf85bed830864a3fc" },
+ { url = "https://download.pytorch.org/whl/cu126/torchcodec-0.10.0%2Bcu126-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:e6bcca5e66a2fd1b6998de8fd474edd8731b1f35f7405d51eb148d13daf34c66" },
+ { url = "https://download.pytorch.org/whl/cu126/torchcodec-0.10.0%2Bcu126-cp313-cp313-manylinux_2_28_aarch64.whl", hash = "sha256:b7e72a6f1f42016af0b5cf41db1cc7db78d9d30d598463e9e821c5d3fee992fe" },
+ { url = "https://download.pytorch.org/whl/cu126/torchcodec-0.10.0%2Bcu126-cp313-cp313-manylinux_2_28_x86_64.whl", hash = "sha256:d64d772c557e3a82f06ae8881d14f18922b7c5897a422423b328a6e52cbac2ae" },
+]
+
+[[package]]
+name = "torchcodec"
+version = "0.10.0+cu128"
+source = { registry = "https://download.pytorch.org/whl/cu128" }
+resolution-markers = [
+ "(python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version >= '3.13' and platform_machine == 'arm64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version >= '3.13' and platform_machine == 'arm64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.12.*' and platform_machine == 'aarch64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.12.*' and platform_machine == 'arm64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.11.*' and platform_machine == 'aarch64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.11.*' and platform_machine == 'arm64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version >= '3.13' and platform_machine == 'AMD64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version >= '3.13' and platform_machine == 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.12.*' and platform_machine == 'AMD64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.12.*' and platform_machine == 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.11.*' and platform_machine == 'AMD64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.11.*' and platform_machine == 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version < '3.11' and platform_machine == 'aarch64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version < '3.11' and platform_machine == 'arm64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version < '3.11' and platform_machine == 'AMD64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version < '3.11' and platform_machine == 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')",
+ "python_full_version >= '3.13' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version == '3.12.*' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version == '3.11.*' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version < '3.11' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64'",
+ "(python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version >= '3.13' and platform_machine == 'arm64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.12.*' and platform_machine == 'aarch64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.12.*' and platform_machine == 'arm64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version >= '3.13' and platform_machine == 'arm64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.12.*' and platform_machine == 'aarch64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.12.*' and platform_machine == 'arm64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.11.*' and platform_machine == 'arm64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.11.*' and platform_machine == 'arm64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version >= '3.13' and platform_machine == 'AMD64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version >= '3.13' and platform_machine == 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.12.*' and platform_machine == 'AMD64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.12.*' and platform_machine == 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version == '3.11.*' and platform_machine == 'AMD64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version == '3.11.*' and platform_machine == 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version < '3.11' and platform_machine == 'aarch64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version < '3.11' and platform_machine == 'arm64' and sys_platform != 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version < '3.11' and platform_machine == 'aarch64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version < '3.11' and platform_machine == 'arm64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "(python_full_version < '3.11' and platform_machine == 'AMD64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64') or (python_full_version < '3.11' and platform_machine == 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')",
+ "python_full_version >= '3.13' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version == '3.12.*' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version == '3.11.*' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version < '3.11' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version == '3.12.*' and platform_machine == 'aarch64' and sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+ "python_full_version < '3.11' and platform_machine == 'aarch64' and sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64'",
+]
+wheels = [
+ { url = "https://download.pytorch.org/whl/cu128/torchcodec-0.10.0%2Bcu128-cp310-cp310-manylinux_2_28_aarch64.whl", hash = "sha256:aaf6318fd4cb407c18aaa95a25c0b3816fdb40d7efab5613d75be86fede16924" },
+ { url = "https://download.pytorch.org/whl/cu128/torchcodec-0.10.0%2Bcu128-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:6995040e2a8a01b4ef66a84bc78a0c3bfc4afef6ddca94798afdcc481bea6393" },
+ { url = "https://download.pytorch.org/whl/cu128/torchcodec-0.10.0%2Bcu128-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:935a8332ec4d2cda4765d9e7da9e16c49c3ed41a3787965167995873f891d8f7" },
+ { url = "https://download.pytorch.org/whl/cu128/torchcodec-0.10.0%2Bcu128-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:1d696c23ead006b94d9cbc670c81906c6348154ce8ae334667dc94f3a3d1afc5" },
+ { url = "https://download.pytorch.org/whl/cu128/torchcodec-0.10.0%2Bcu128-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:bef47589149b941b296b0448855ad89269784015f735afd446264dd7367c7883" },
+ { url = "https://download.pytorch.org/whl/cu128/torchcodec-0.10.0%2Bcu128-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:5ecb4aeb61b4f14f30ceed11ce892308f38232d82eee64605ae19583c51a8e72" },
+ { url = "https://download.pytorch.org/whl/cu128/torchcodec-0.10.0%2Bcu128-cp313-cp313-manylinux_2_28_aarch64.whl", hash = "sha256:ec23567f5466cd8e69c1994380f697097ad430199063df7a6d6ecd8302b4faa9" },
+ { url = "https://download.pytorch.org/whl/cu128/torchcodec-0.10.0%2Bcu128-cp313-cp313-manylinux_2_28_x86_64.whl", hash = "sha256:a2c3c16c7be56989360cb2894d8443d6f067cc615ac1830f89cc5f37482861d5" },
+]
+
+[[package]]
+name = "torchcodec"
+version = "0.10.0+cu129"
+source = { registry = "https://download.pytorch.org/whl/cu129" }
+resolution-markers = [
+ "(python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform == 'win32') or (python_full_version >= '3.13' and platform_machine == 'arm64' and sys_platform == 'win32')",
+ "(python_full_version == '3.12.*' and platform_machine == 'aarch64' and sys_platform == 'win32') or (python_full_version == '3.12.*' and platform_machine == 'arm64' and sys_platform == 'win32')",
+ "(python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform == 'win32') or (python_full_version == '3.11.*' and platform_machine == 'arm64' and sys_platform == 'win32')",
+ "(python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform != 'darwin' and sys_platform != 'win32') or (python_full_version >= '3.13' and platform_machine == 'arm64' and sys_platform != 'darwin' and sys_platform != 'win32')",
+ "(python_full_version == '3.12.*' and platform_machine == 'aarch64' and sys_platform != 'darwin' and sys_platform != 'win32') or (python_full_version == '3.12.*' and platform_machine == 'arm64' and sys_platform != 'darwin' and sys_platform != 'win32')",
+ "(python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform != 'darwin' and sys_platform != 'win32') or (python_full_version == '3.11.*' and platform_machine == 'arm64' and sys_platform != 'darwin' and sys_platform != 'win32')",
+ "(python_full_version >= '3.13' and platform_machine == 'AMD64' and sys_platform == 'win32') or (python_full_version >= '3.13' and platform_machine == 'x86_64' and sys_platform == 'win32')",
+ "(python_full_version == '3.12.*' and platform_machine == 'AMD64' and sys_platform == 'win32') or (python_full_version == '3.12.*' and platform_machine == 'x86_64' and sys_platform == 'win32')",
+ "(python_full_version == '3.11.*' and platform_machine == 'AMD64' and sys_platform == 'win32') or (python_full_version == '3.11.*' and platform_machine == 'x86_64' and sys_platform == 'win32')",
+ "python_full_version >= '3.13' and platform_machine == 'x86_64' and sys_platform == 'linux'",
+ "python_full_version == '3.12.*' and platform_machine == 'x86_64' and sys_platform == 'linux'",
+ "python_full_version == '3.11.*' and platform_machine == 'x86_64' and sys_platform == 'linux'",
+ "(python_full_version >= '3.13' and platform_machine == 'AMD64' and sys_platform == 'linux') or (python_full_version >= '3.13' and platform_machine == 'AMD64' and sys_platform != 'darwin' and sys_platform != 'win32') or (python_full_version >= '3.13' and platform_machine == 'x86_64' and sys_platform != 'darwin' and sys_platform != 'linux' and sys_platform != 'win32')",
+ "(python_full_version == '3.12.*' and platform_machine == 'AMD64' and sys_platform == 'linux') or (python_full_version == '3.12.*' and platform_machine == 'AMD64' and sys_platform != 'darwin' and sys_platform != 'win32') or (python_full_version == '3.12.*' and platform_machine == 'x86_64' and sys_platform != 'darwin' and sys_platform != 'linux' and sys_platform != 'win32')",
+ "(python_full_version == '3.11.*' and platform_machine == 'AMD64' and sys_platform == 'linux') or (python_full_version == '3.11.*' and platform_machine == 'AMD64' and sys_platform != 'darwin' and sys_platform != 'win32') or (python_full_version == '3.11.*' and platform_machine == 'x86_64' and sys_platform != 'darwin' and sys_platform != 'linux' and sys_platform != 'win32')",
+ "(python_full_version < '3.11' and platform_machine == 'aarch64' and sys_platform == 'win32') or (python_full_version < '3.11' and platform_machine == 'arm64' and sys_platform == 'win32')",
+ "(python_full_version < '3.11' and platform_machine == 'aarch64' and sys_platform != 'darwin' and sys_platform != 'win32') or (python_full_version < '3.11' and platform_machine == 'arm64' and sys_platform != 'darwin' and sys_platform != 'win32')",
+ "(python_full_version < '3.11' and platform_machine == 'AMD64' and sys_platform == 'win32') or (python_full_version < '3.11' and platform_machine == 'x86_64' and sys_platform == 'win32')",
+ "python_full_version < '3.11' and platform_machine == 'x86_64' and sys_platform == 'linux'",
+ "(python_full_version < '3.11' and platform_machine == 'AMD64' and sys_platform == 'linux') or (python_full_version < '3.11' and platform_machine == 'AMD64' and sys_platform != 'darwin' and sys_platform != 'win32') or (python_full_version < '3.11' and platform_machine == 'x86_64' and sys_platform != 'darwin' and sys_platform != 'linux' and sys_platform != 'win32')",
+ "python_full_version >= '3.13' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and sys_platform != 'darwin'",
+ "python_full_version == '3.12.*' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and sys_platform != 'darwin'",
+ "python_full_version == '3.11.*' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and sys_platform != 'darwin'",
+ "python_full_version < '3.11' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and sys_platform != 'darwin'",
+]
+wheels = [
+ { url = "https://download.pytorch.org/whl/cu129/torchcodec-0.10.0%2Bcu129-cp310-cp310-manylinux_2_28_aarch64.whl" },
+ { url = "https://download.pytorch.org/whl/cu129/torchcodec-0.10.0%2Bcu129-cp310-cp310-manylinux_2_28_x86_64.whl" },
+ { url = "https://download.pytorch.org/whl/cu129/torchcodec-0.10.0%2Bcu129-cp311-cp311-manylinux_2_28_aarch64.whl" },
+ { url = "https://download.pytorch.org/whl/cu129/torchcodec-0.10.0%2Bcu129-cp311-cp311-manylinux_2_28_x86_64.whl" },
+ { url = "https://download.pytorch.org/whl/cu129/torchcodec-0.10.0%2Bcu129-cp312-cp312-manylinux_2_28_aarch64.whl" },
+ { url = "https://download.pytorch.org/whl/cu129/torchcodec-0.10.0%2Bcu129-cp312-cp312-manylinux_2_28_x86_64.whl" },
+ { url = "https://download.pytorch.org/whl/cu129/torchcodec-0.10.0%2Bcu129-cp313-cp313-manylinux_2_28_aarch64.whl" },
+ { url = "https://download.pytorch.org/whl/cu129/torchcodec-0.10.0%2Bcu129-cp313-cp313-manylinux_2_28_x86_64.whl" },
+]
+
+[[package]]
+name = "torchmetrics"
+version = "1.8.2"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "lightning-utilities" },
+ { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11' or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "numpy", version = "2.3.5", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11' or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "packaging" },
+ { name = "torch", version = "2.9.1", source = { registry = "https://download.pytorch.org/whl/cpu" }, marker = "(platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu') or (platform_machine == 'aarch64' and sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cpu') or (platform_machine == 'arm64' and sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu') or (platform_machine != 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine != 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine != 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine != 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'aarch64' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "torch", version = "2.9.1+cpu", source = { registry = "https://download.pytorch.org/whl/cpu" }, marker = "(platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'arm64' and sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine == 'aarch64' and sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'aarch64' and sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'arm64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'aarch64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine != 'aarch64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'aarch64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'aarch64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'aarch64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'linux' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (sys_platform == 'linux' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'linux' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'linux' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'linux' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'linux' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "torch", version = "2.9.1+cu129", source = { registry = "https://download.pytorch.org/whl/cu129" }, marker = "(sys_platform != 'darwin' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "torch", version = "2.9.1+rocm6.4", source = { registry = "https://download.pytorch.org/whl/rocm6.4" }, marker = "(extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "torch", version = "2.10.0", source = { registry = "https://pypi.org/simple" }, marker = "(extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "torch", version = "2.10.0+cu126", source = { registry = "https://download.pytorch.org/whl/cu126" }, marker = "extra == 'extra-15-gpt-sovits-meta-cu126' or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "torch", version = "2.10.0+cu128", source = { registry = "https://download.pytorch.org/whl/cu128" }, marker = "extra == 'extra-15-gpt-sovits-meta-cu128' or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/85/2e/48a887a59ecc4a10ce9e8b35b3e3c5cef29d902c4eac143378526e7485cb/torchmetrics-1.8.2.tar.gz", hash = "sha256:cf64a901036bf107f17a524009eea7781c9c5315d130713aeca5747a686fe7a5", size = 580679, upload-time = "2025-09-03T14:00:54.077Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/02/21/aa0f434434c48490f91b65962b1ce863fdcce63febc166ca9fe9d706c2b6/torchmetrics-1.8.2-py3-none-any.whl", hash = "sha256:08382fd96b923e39e904c4d570f3d49e2cc71ccabd2a94e0f895d1f0dac86242", size = 983161, upload-time = "2025-09-03T14:00:51.921Z" },
+]
+
+[[package]]
+name = "tqdm"
+version = "4.67.3"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "colorama", marker = "sys_platform == 'win32' or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/09/a9/6ba95a270c6f1fbcd8dac228323f2777d886cb206987444e4bce66338dd4/tqdm-4.67.3.tar.gz", hash = "sha256:7d825f03f89244ef73f1d4ce193cb1774a8179fd96f31d7e1dcde62092b960bb", size = 169598, upload-time = "2026-02-03T17:35:53.048Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/16/e1/3079a9ff9b8e11b846c6ac5c8b5bfb7ff225eee721825310c91b3b50304f/tqdm-4.67.3-py3-none-any.whl", hash = "sha256:ee1e4c0e59148062281c49d80b25b67771a127c85fc9676d3be5f243206826bf", size = 78374, upload-time = "2026-02-03T17:35:50.982Z" },
+]
+
+[[package]]
+name = "transformers"
+version = "5.2.0"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "huggingface-hub" },
+ { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11' or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "numpy", version = "2.3.5", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11' or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "packaging" },
+ { name = "pyyaml" },
+ { name = "regex" },
+ { name = "safetensors" },
+ { name = "tokenizers" },
+ { name = "tqdm" },
+ { name = "typer-slim" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/bd/7e/8a0c57d562015e5b16c97c1f0b8e0e92ead2c7c20513225dc12c2043ba9f/transformers-5.2.0.tar.gz", hash = "sha256:0088b8b46ccc9eff1a1dca72b5d618a5ee3b1befc3e418c9512b35dea9f9a650", size = 8618176, upload-time = "2026-02-16T18:54:02.867Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/4e/93/79754b0ca486e556c2b95d4f5afc66aaf4b260694f3d6e1b51da2d036691/transformers-5.2.0-py3-none-any.whl", hash = "sha256:9ecaf243dc45bee11a7d93f8caf03746accc0cb069181bbf4ad8566c53e854b4", size = 10403304, upload-time = "2026-02-16T18:53:59.699Z" },
+]
+
+[[package]]
+name = "triton"
+version = "3.5.1"
+source = { registry = "https://pypi.org/simple" }
+resolution-markers = [
+ "(python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform != 'darwin' and sys_platform != 'win32') or (python_full_version >= '3.13' and platform_machine == 'arm64' and sys_platform != 'darwin' and sys_platform != 'win32')",
+ "(python_full_version == '3.12.*' and platform_machine == 'aarch64' and sys_platform != 'darwin' and sys_platform != 'win32') or (python_full_version == '3.12.*' and platform_machine == 'arm64' and sys_platform != 'darwin' and sys_platform != 'win32')",
+ "(python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform != 'darwin' and sys_platform != 'win32') or (python_full_version == '3.11.*' and platform_machine == 'arm64' and sys_platform != 'darwin' and sys_platform != 'win32')",
+ "python_full_version >= '3.13' and platform_machine == 'x86_64' and sys_platform == 'linux'",
+ "python_full_version == '3.12.*' and platform_machine == 'x86_64' and sys_platform == 'linux'",
+ "python_full_version == '3.11.*' and platform_machine == 'x86_64' and sys_platform == 'linux'",
+ "(python_full_version >= '3.13' and platform_machine == 'AMD64' and sys_platform == 'linux') or (python_full_version >= '3.13' and platform_machine == 'AMD64' and sys_platform != 'darwin' and sys_platform != 'win32') or (python_full_version >= '3.13' and platform_machine == 'x86_64' and sys_platform != 'darwin' and sys_platform != 'linux' and sys_platform != 'win32')",
+ "(python_full_version == '3.12.*' and platform_machine == 'AMD64' and sys_platform == 'linux') or (python_full_version == '3.12.*' and platform_machine == 'AMD64' and sys_platform != 'darwin' and sys_platform != 'win32') or (python_full_version == '3.12.*' and platform_machine == 'x86_64' and sys_platform != 'darwin' and sys_platform != 'linux' and sys_platform != 'win32')",
+ "(python_full_version == '3.11.*' and platform_machine == 'AMD64' and sys_platform == 'linux') or (python_full_version == '3.11.*' and platform_machine == 'AMD64' and sys_platform != 'darwin' and sys_platform != 'win32') or (python_full_version == '3.11.*' and platform_machine == 'x86_64' and sys_platform != 'darwin' and sys_platform != 'linux' and sys_platform != 'win32')",
+ "(python_full_version < '3.11' and platform_machine == 'aarch64' and sys_platform != 'darwin' and sys_platform != 'win32') or (python_full_version < '3.11' and platform_machine == 'arm64' and sys_platform != 'darwin' and sys_platform != 'win32')",
+ "python_full_version < '3.11' and platform_machine == 'x86_64' and sys_platform == 'linux'",
+ "(python_full_version < '3.11' and platform_machine == 'AMD64' and sys_platform == 'linux') or (python_full_version < '3.11' and platform_machine == 'AMD64' and sys_platform != 'darwin' and sys_platform != 'win32') or (python_full_version < '3.11' and platform_machine == 'x86_64' and sys_platform != 'darwin' and sys_platform != 'linux' and sys_platform != 'win32')",
+ "python_full_version >= '3.13' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and sys_platform != 'darwin'",
+ "python_full_version == '3.12.*' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and sys_platform != 'darwin'",
+ "python_full_version == '3.11.*' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and sys_platform != 'darwin'",
+ "python_full_version < '3.11' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64' and sys_platform != 'darwin'",
+]
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/d9/2e/f95e673222afa2c7f0c687d8913e98fcf2589ef0b1405de76894e37fe18f/triton-3.5.1-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:f63e34dcb32d7bd3a1d0195f60f30d2aee8b08a69a0424189b71017e23dfc3d2", size = 159821655, upload-time = "2025-11-11T17:51:44.09Z" },
+ { url = "https://files.pythonhosted.org/packages/fd/6e/676ab5019b4dde8b9b7bab71245102fc02778ef3df48218b298686b9ffd6/triton-3.5.1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:5fc53d849f879911ea13f4a877243afc513187bc7ee92d1f2c0f1ba3169e3c94", size = 170320692, upload-time = "2025-11-11T17:40:46.074Z" },
+ { url = "https://files.pythonhosted.org/packages/dc/dc/6ce44d055f2fc2403c4ec6b3cfd3a9b25f57b7d95efadccdea91497f8e81/triton-3.5.1-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:da47169e30a779bade679ce78df4810fca6d78a955843d2ddb11f226adc517dc", size = 159928005, upload-time = "2025-11-11T17:51:50.008Z" },
+ { url = "https://files.pythonhosted.org/packages/b0/72/ec90c3519eaf168f22cb1757ad412f3a2add4782ad3a92861c9ad135d886/triton-3.5.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:61413522a48add32302353fdbaaf92daaaab06f6b5e3229940d21b5207f47579", size = 170425802, upload-time = "2025-11-11T17:40:53.209Z" },
+ { url = "https://files.pythonhosted.org/packages/db/53/2bcc46879910991f09c063eea07627baef2bc62fe725302ba8f46a2c1ae5/triton-3.5.1-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:275a045b6ed670dd1bd005c3e6c2d61846c74c66f4512d6f33cc027b11de8fd4", size = 159940689, upload-time = "2025-11-11T17:51:55.938Z" },
+ { url = "https://files.pythonhosted.org/packages/f2/50/9a8358d3ef58162c0a415d173cfb45b67de60176e1024f71fbc4d24c0b6d/triton-3.5.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:d2c6b915a03888ab931a9fd3e55ba36785e1fe70cbea0b40c6ef93b20fc85232", size = 170470207, upload-time = "2025-11-11T17:41:00.253Z" },
+ { url = "https://files.pythonhosted.org/packages/f1/ba/805684a992ee32d486b7948d36aed2f5e3c643fc63883bf8bdca1c3f3980/triton-3.5.1-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:56765ffe12c554cd560698398b8a268db1f616c120007bfd8829d27139abd24a", size = 159955460, upload-time = "2025-11-11T17:52:01.861Z" },
+ { url = "https://files.pythonhosted.org/packages/27/46/8c3bbb5b0a19313f50edcaa363b599e5a1a5ac9683ead82b9b80fe497c8d/triton-3.5.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:f3f4346b6ebbd4fad18773f5ba839114f4826037c9f2f34e0148894cd5dd3dba", size = 170470410, upload-time = "2025-11-11T17:41:06.319Z" },
+ { url = "https://files.pythonhosted.org/packages/84/1e/7df59baef41931e21159371c481c31a517ff4c2517343b62503d0cd2be99/triton-3.5.1-cp313-cp313t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:02c770856f5e407d24d28ddc66e33cf026e6f4d360dcb8b2fabe6ea1fc758621", size = 160072799, upload-time = "2025-11-11T17:52:07.293Z" },
+ { url = "https://files.pythonhosted.org/packages/37/92/e97fcc6b2c27cdb87ce5ee063d77f8f26f19f06916aa680464c8104ef0f6/triton-3.5.1-cp313-cp313t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:0b4d2c70127fca6a23e247f9348b8adde979d2e7a20391bfbabaac6aebc7e6a8", size = 170579924, upload-time = "2025-11-11T17:41:12.455Z" },
+]
+
+[[package]]
+name = "triton"
+version = "3.6.0"
+source = { registry = "https://pypi.org/simple" }
+resolution-markers = [
+ "(python_full_version >= '3.13' and platform_machine == 'aarch64' and sys_platform != 'darwin') or (python_full_version >= '3.13' and platform_machine == 'arm64' and sys_platform != 'darwin')",
+ "(python_full_version == '3.12.*' and platform_machine == 'aarch64' and sys_platform != 'darwin') or (python_full_version == '3.12.*' and platform_machine == 'arm64' and sys_platform != 'darwin')",
+ "(python_full_version == '3.11.*' and platform_machine == 'aarch64' and sys_platform != 'darwin') or (python_full_version == '3.11.*' and platform_machine == 'arm64' and sys_platform != 'darwin')",
+ "(python_full_version >= '3.13' and platform_machine == 'AMD64') or (python_full_version >= '3.13' and platform_machine == 'x86_64')",
+ "(python_full_version == '3.12.*' and platform_machine == 'AMD64') or (python_full_version == '3.12.*' and platform_machine == 'x86_64')",
+ "(python_full_version == '3.11.*' and platform_machine == 'AMD64') or (python_full_version == '3.11.*' and platform_machine == 'x86_64')",
+ "(python_full_version < '3.11' and platform_machine == 'aarch64' and sys_platform != 'darwin') or (python_full_version < '3.11' and platform_machine == 'arm64' and sys_platform != 'darwin')",
+ "(python_full_version < '3.11' and platform_machine == 'AMD64') or (python_full_version < '3.11' and platform_machine == 'x86_64')",
+ "python_full_version >= '3.13' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64'",
+ "python_full_version == '3.12.*' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64'",
+ "python_full_version == '3.11.*' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64'",
+ "python_full_version < '3.11' and platform_machine != 'AMD64' and platform_machine != 'aarch64' and platform_machine != 'arm64' and platform_machine != 'x86_64'",
+]
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/44/ba/b1b04f4b291a3205d95ebd24465de0e5bf010a2df27a4e58a9b5f039d8f2/triton-3.6.0-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:6c723cfb12f6842a0ae94ac307dba7e7a44741d720a40cf0e270ed4a4e3be781", size = 175972180, upload-time = "2026-01-20T16:15:53.664Z" },
+ { url = "https://files.pythonhosted.org/packages/8c/f7/f1c9d3424ab199ac53c2da567b859bcddbb9c9e7154805119f8bd95ec36f/triton-3.6.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:a6550fae429e0667e397e5de64b332d1e5695b73650ee75a6146e2e902770bea", size = 188105201, upload-time = "2026-01-20T16:00:29.272Z" },
+ { url = "https://files.pythonhosted.org/packages/0f/2c/96f92f3c60387e14cc45aed49487f3486f89ea27106c1b1376913c62abe4/triton-3.6.0-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:49df5ef37379c0c2b5c0012286f80174fcf0e073e5ade1ca9a86c36814553651", size = 176081190, upload-time = "2026-01-20T16:16:00.523Z" },
+ { url = "https://files.pythonhosted.org/packages/e0/12/b05ba554d2c623bffa59922b94b0775673de251f468a9609bc9e45de95e9/triton-3.6.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:e8e323d608e3a9bfcc2d9efcc90ceefb764a82b99dea12a86d643c72539ad5d3", size = 188214640, upload-time = "2026-01-20T16:00:35.869Z" },
+ { url = "https://files.pythonhosted.org/packages/17/5d/08201db32823bdf77a0e2b9039540080b2e5c23a20706ddba942924ebcd6/triton-3.6.0-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:374f52c11a711fd062b4bfbb201fd9ac0a5febd28a96fb41b4a0f51dde3157f4", size = 176128243, upload-time = "2026-01-20T16:16:07.857Z" },
+ { url = "https://files.pythonhosted.org/packages/ab/a8/cdf8b3e4c98132f965f88c2313a4b493266832ad47fb52f23d14d4f86bb5/triton-3.6.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:74caf5e34b66d9f3a429af689c1c7128daba1d8208df60e81106b115c00d6fca", size = 188266850, upload-time = "2026-01-20T16:00:43.041Z" },
+ { url = "https://files.pythonhosted.org/packages/3c/12/34d71b350e89a204c2c7777a9bba0dcf2f19a5bfdd70b57c4dbc5ffd7154/triton-3.6.0-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:448e02fe6dc898e9e5aa89cf0ee5c371e99df5aa5e8ad976a80b93334f3494fd", size = 176133521, upload-time = "2026-01-20T16:16:13.321Z" },
+ { url = "https://files.pythonhosted.org/packages/f9/0b/37d991d8c130ce81a8728ae3c25b6e60935838e9be1b58791f5997b24a54/triton-3.6.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:10c7f76c6e72d2ef08df639e3d0d30729112f47a56b0c81672edc05ee5116ac9", size = 188289450, upload-time = "2026-01-20T16:00:49.136Z" },
+ { url = "https://files.pythonhosted.org/packages/ce/4e/41b0c8033b503fd3cfcd12392cdd256945026a91ff02452bef40ec34bee7/triton-3.6.0-cp313-cp313t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:1722e172d34e32abc3eb7711d0025bb69d7959ebea84e3b7f7a341cd7ed694d6", size = 176276087, upload-time = "2026-01-20T16:16:18.989Z" },
+ { url = "https://files.pythonhosted.org/packages/35/f8/9c66bfc55361ec6d0e4040a0337fb5924ceb23de4648b8a81ae9d33b2b38/triton-3.6.0-cp313-cp313t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:d002e07d7180fd65e622134fbd980c9a3d4211fb85224b56a0a0efbd422ab72f", size = 188400296, upload-time = "2026-01-20T16:00:56.042Z" },
+]
+
+[[package]]
+name = "typeguard"
+version = "4.5.0"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "typing-extensions" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/7e/ec/adfe3dd6b5f7c5fc0b3cecdf6f893f1756dbd23cf749cd1ae49db069414f/typeguard-4.5.0.tar.gz", hash = "sha256:749bea21cdb2553e12831bc29f1eae980b22c7de8331ab67ae7db9e85470b5a7", size = 79993, upload-time = "2026-02-15T00:24:25.244Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/d4/35/7541d1f046491fac8ce05d543d3f0de0af02086ad864dd3a23535ec703b9/typeguard-4.5.0-py3-none-any.whl", hash = "sha256:cfda388fc88a9ce42a41890900d6f31ee124bea9b73bb84701a32438e92165c3", size = 36724, upload-time = "2026-02-15T00:24:23.581Z" },
+]
+
+[[package]]
+name = "typer"
+version = "0.24.0"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "annotated-doc" },
+ { name = "click" },
+ { name = "rich" },
+ { name = "shellingham" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/5a/b6/3e681d3b6bb22647509bdbfdd18055d5adc0dce5c5585359fa46ff805fdc/typer-0.24.0.tar.gz", hash = "sha256:f9373dc4eff901350694f519f783c29b6d7a110fc0dcc11b1d7e353b85ca6504", size = 118380, upload-time = "2026-02-16T22:08:48.496Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/85/d0/4da85c2a45054bb661993c93524138ace4956cb075a7ae0c9d1deadc331b/typer-0.24.0-py3-none-any.whl", hash = "sha256:5fc435a9c8356f6160ed6e85a6301fdd6e3d8b2851da502050d1f92c5e9eddc8", size = 56441, upload-time = "2026-02-16T22:08:47.535Z" },
+]
+
+[[package]]
+name = "typer-slim"
+version = "0.24.0"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "typer" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/a7/a7/e6aecc4b4eb59598829a3b5076a93aff291b4fdaa2ded25efc4e1f4d219c/typer_slim-0.24.0.tar.gz", hash = "sha256:f0ed36127183f52ae6ced2ecb2521789995992c521a46083bfcdbb652d22ad34", size = 4776, upload-time = "2026-02-16T22:08:51.2Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/a7/24/5480c20380dfd18cf33d14784096dca45a24eae6102e91d49a718d3b6855/typer_slim-0.24.0-py3-none-any.whl", hash = "sha256:d5d7ee1ee2834d5020c7c616ed5e0d0f29b9a4b1dd283bdebae198ec09778d0e", size = 3394, upload-time = "2026-02-16T22:08:49.92Z" },
+]
+
+[[package]]
+name = "typing-extensions"
+version = "4.15.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/72/94/1a15dd82efb362ac84269196e94cf00f187f7ed21c242792a923cdb1c61f/typing_extensions-4.15.0.tar.gz", hash = "sha256:0cea48d173cc12fa28ecabc3b837ea3cf6f38c6d1136f85cbaaf598984861466", size = 109391, upload-time = "2025-08-25T13:49:26.313Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/18/67/36e9267722cc04a6b9f15c7f3441c2363321a3ea07da7ae0c0707beb2a9c/typing_extensions-4.15.0-py3-none-any.whl", hash = "sha256:f0fa19c6845758ab08074a0cfa8b7aecb71c999ca73d62883bc25cc018c4e548", size = 44614, upload-time = "2025-08-25T13:49:24.86Z" },
+]
+
+[[package]]
+name = "typing-inspection"
+version = "0.4.2"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "typing-extensions" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/55/e3/70399cb7dd41c10ac53367ae42139cf4b1ca5f36bb3dc6c9d33acdb43655/typing_inspection-0.4.2.tar.gz", hash = "sha256:ba561c48a67c5958007083d386c3295464928b01faa735ab8547c5692e87f464", size = 75949, upload-time = "2025-10-01T02:14:41.687Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/dc/9b/47798a6c91d8bdb567fe2698fe81e0c6b7cb7ef4d13da4114b41d239f65d/typing_inspection-0.4.2-py3-none-any.whl", hash = "sha256:4ed1cacbdc298c220f1bd249ed5287caa16f34d44ef4e9c3d0cbad5b521545e7", size = 14611, upload-time = "2025-10-01T02:14:40.154Z" },
+]
+
+[[package]]
+name = "tzdata"
+version = "2025.3"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/5e/a7/c202b344c5ca7daf398f3b8a477eeb205cf3b6f32e7ec3a6bac0629ca975/tzdata-2025.3.tar.gz", hash = "sha256:de39c2ca5dc7b0344f2eba86f49d614019d29f060fc4ebc8a417896a620b56a7", size = 196772, upload-time = "2025-12-13T17:45:35.667Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/c7/b0/003792df09decd6849a5e39c28b513c06e84436a54440380862b5aeff25d/tzdata-2025.3-py2.py3-none-any.whl", hash = "sha256:06a47e5700f3081aab02b2e513160914ff0694bce9947d6b76ebd6bf57cfc5d1", size = 348521, upload-time = "2025-12-13T17:45:33.889Z" },
+]
+
+[[package]]
+name = "umap-learn"
+version = "0.5.11"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "numba" },
+ { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11' or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "numpy", version = "2.3.5", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11' or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "pynndescent" },
+ { name = "scikit-learn", version = "1.7.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11' or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "scikit-learn", version = "1.8.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11' or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "scipy", version = "1.15.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11' or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "scipy", version = "1.17.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11' or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "tqdm" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/94/9a/a1e4a257a9aa979dac4f6d5781dac929cbb0949959e2003ed82657d10b0f/umap_learn-0.5.11.tar.gz", hash = "sha256:31566ffd495fbf05d7ab3efcba703861c0f5e6fc6998a838d0e2becdd00e54f5", size = 96409, upload-time = "2026-01-12T20:44:47.553Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/43/d2/fcf7192dd1cd8c090b6cfd53fa223c4fb2887a17c47e06bc356d44f40dfb/umap_learn-0.5.11-py3-none-any.whl", hash = "sha256:cb17adbde9d544ba79481b3ab4d81ac222e940f3d9219307bea6044f869af3cc", size = 90890, upload-time = "2026-01-12T20:44:46.511Z" },
+]
+
+[[package]]
+name = "urllib3"
+version = "2.6.3"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/c7/24/5f1b3bdffd70275f6661c76461e25f024d5a38a46f04aaca912426a2b1d3/urllib3-2.6.3.tar.gz", hash = "sha256:1b62b6884944a57dbe321509ab94fd4d3b307075e0c2eae991ac71ee15ad38ed", size = 435556, upload-time = "2026-01-07T16:24:43.925Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/39/08/aaaad47bc4e9dc8c725e68f9d04865dbcb2052843ff09c97b08904852d84/urllib3-2.6.3-py3-none-any.whl", hash = "sha256:bf272323e553dfb2e87d9bfd225ca7b0f467b919d7bbd355436d3fd37cb0acd4", size = 131584, upload-time = "2026-01-07T16:24:42.685Z" },
+]
+
+[[package]]
+name = "uvicorn"
+version = "0.41.0"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "click" },
+ { name = "h11" },
+ { name = "typing-extensions", marker = "python_full_version < '3.11' or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/32/ce/eeb58ae4ac36fe09e3842eb02e0eb676bf2c53ae062b98f1b2531673efdd/uvicorn-0.41.0.tar.gz", hash = "sha256:09d11cf7008da33113824ee5a1c6422d89fbc2ff476540d69a34c87fab8b571a", size = 82633, upload-time = "2026-02-16T23:07:24.1Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/83/e4/d04a086285c20886c0daad0e026f250869201013d18f81d9ff5eada73a88/uvicorn-0.41.0-py3-none-any.whl", hash = "sha256:29e35b1d2c36a04b9e180d4007ede3bcb32a85fbdfd6c6aeb3f26839de088187", size = 68783, upload-time = "2026-02-16T23:07:22.357Z" },
+]
+
+[package.optional-dependencies]
+standard = [
+ { name = "colorama", marker = "sys_platform == 'win32' or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "httptools" },
+ { name = "python-dotenv" },
+ { name = "pyyaml" },
+ { name = "uvloop", marker = "(platform_python_implementation != 'PyPy' and sys_platform != 'cygwin' and sys_platform != 'win32') or (platform_python_implementation == 'PyPy' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_python_implementation == 'PyPy' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_python_implementation == 'PyPy' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_python_implementation == 'PyPy' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_python_implementation == 'PyPy' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_python_implementation == 'PyPy' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_python_implementation == 'PyPy' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_python_implementation == 'PyPy' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_python_implementation == 'PyPy' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_python_implementation == 'PyPy' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'cygwin' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (sys_platform == 'cygwin' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (sys_platform == 'cygwin' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'cygwin' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'cygwin' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (sys_platform == 'cygwin' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'cygwin' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'cygwin' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'cygwin' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'cygwin' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'win32' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (sys_platform == 'win32' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (sys_platform == 'win32' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'win32' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'win32' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (sys_platform == 'win32' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'win32' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'win32' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'win32' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'win32' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "watchfiles" },
+ { name = "websockets" },
+]
+
+[[package]]
+name = "uvloop"
+version = "0.22.1"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/06/f0/18d39dbd1971d6d62c4629cc7fa67f74821b0dc1f5a77af43719de7936a7/uvloop-0.22.1.tar.gz", hash = "sha256:6c84bae345b9147082b17371e3dd5d42775bddce91f885499017f4607fdaf39f", size = 2443250, upload-time = "2025-10-16T22:17:19.342Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/eb/14/ecceb239b65adaaf7fde510aa8bd534075695d1e5f8dadfa32b5723d9cfb/uvloop-0.22.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:ef6f0d4cc8a9fa1f6a910230cd53545d9a14479311e87e3cb225495952eb672c", size = 1343335, upload-time = "2025-10-16T22:16:11.43Z" },
+ { url = "https://files.pythonhosted.org/packages/ba/ae/6f6f9af7f590b319c94532b9567409ba11f4fa71af1148cab1bf48a07048/uvloop-0.22.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:7cd375a12b71d33d46af85a3343b35d98e8116134ba404bd657b3b1d15988792", size = 742903, upload-time = "2025-10-16T22:16:12.979Z" },
+ { url = "https://files.pythonhosted.org/packages/09/bd/3667151ad0702282a1f4d5d29288fce8a13c8b6858bf0978c219cd52b231/uvloop-0.22.1-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:ac33ed96229b7790eb729702751c0e93ac5bc3bcf52ae9eccbff30da09194b86", size = 3648499, upload-time = "2025-10-16T22:16:14.451Z" },
+ { url = "https://files.pythonhosted.org/packages/b3/f6/21657bb3beb5f8c57ce8be3b83f653dd7933c2fd00545ed1b092d464799a/uvloop-0.22.1-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:481c990a7abe2c6f4fc3d98781cc9426ebd7f03a9aaa7eb03d3bfc68ac2a46bd", size = 3700133, upload-time = "2025-10-16T22:16:16.272Z" },
+ { url = "https://files.pythonhosted.org/packages/09/e0/604f61d004ded805f24974c87ddd8374ef675644f476f01f1df90e4cdf72/uvloop-0.22.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:a592b043a47ad17911add5fbd087c76716d7c9ccc1d64ec9249ceafd735f03c2", size = 3512681, upload-time = "2025-10-16T22:16:18.07Z" },
+ { url = "https://files.pythonhosted.org/packages/bb/ce/8491fd370b0230deb5eac69c7aae35b3be527e25a911c0acdffb922dc1cd/uvloop-0.22.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:1489cf791aa7b6e8c8be1c5a080bae3a672791fcb4e9e12249b05862a2ca9cec", size = 3615261, upload-time = "2025-10-16T22:16:19.596Z" },
+ { url = "https://files.pythonhosted.org/packages/c7/d5/69900f7883235562f1f50d8184bb7dd84a2fb61e9ec63f3782546fdbd057/uvloop-0.22.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:c60ebcd36f7b240b30788554b6f0782454826a0ed765d8430652621b5de674b9", size = 1352420, upload-time = "2025-10-16T22:16:21.187Z" },
+ { url = "https://files.pythonhosted.org/packages/a8/73/c4e271b3bce59724e291465cc936c37758886a4868787da0278b3b56b905/uvloop-0.22.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:3b7f102bf3cb1995cfeaee9321105e8f5da76fdb104cdad8986f85461a1b7b77", size = 748677, upload-time = "2025-10-16T22:16:22.558Z" },
+ { url = "https://files.pythonhosted.org/packages/86/94/9fb7fad2f824d25f8ecac0d70b94d0d48107ad5ece03769a9c543444f78a/uvloop-0.22.1-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:53c85520781d84a4b8b230e24a5af5b0778efdb39142b424990ff1ef7c48ba21", size = 3753819, upload-time = "2025-10-16T22:16:23.903Z" },
+ { url = "https://files.pythonhosted.org/packages/74/4f/256aca690709e9b008b7108bc85fba619a2bc37c6d80743d18abad16ee09/uvloop-0.22.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:56a2d1fae65fd82197cb8c53c367310b3eabe1bbb9fb5a04d28e3e3520e4f702", size = 3804529, upload-time = "2025-10-16T22:16:25.246Z" },
+ { url = "https://files.pythonhosted.org/packages/7f/74/03c05ae4737e871923d21a76fe28b6aad57f5c03b6e6bfcfa5ad616013e4/uvloop-0.22.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:40631b049d5972c6755b06d0bfe8233b1bd9a8a6392d9d1c45c10b6f9e9b2733", size = 3621267, upload-time = "2025-10-16T22:16:26.819Z" },
+ { url = "https://files.pythonhosted.org/packages/75/be/f8e590fe61d18b4a92070905497aec4c0e64ae1761498cad09023f3f4b3e/uvloop-0.22.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:535cc37b3a04f6cd2c1ef65fa1d370c9a35b6695df735fcff5427323f2cd5473", size = 3723105, upload-time = "2025-10-16T22:16:28.252Z" },
+ { url = "https://files.pythonhosted.org/packages/3d/ff/7f72e8170be527b4977b033239a83a68d5c881cc4775fca255c677f7ac5d/uvloop-0.22.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:fe94b4564e865d968414598eea1a6de60adba0c040ba4ed05ac1300de402cd42", size = 1359936, upload-time = "2025-10-16T22:16:29.436Z" },
+ { url = "https://files.pythonhosted.org/packages/c3/c6/e5d433f88fd54d81ef4be58b2b7b0cea13c442454a1db703a1eea0db1a59/uvloop-0.22.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:51eb9bd88391483410daad430813d982010f9c9c89512321f5b60e2cddbdddd6", size = 752769, upload-time = "2025-10-16T22:16:30.493Z" },
+ { url = "https://files.pythonhosted.org/packages/24/68/a6ac446820273e71aa762fa21cdcc09861edd3536ff47c5cd3b7afb10eeb/uvloop-0.22.1-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:700e674a166ca5778255e0e1dc4e9d79ab2acc57b9171b79e65feba7184b3370", size = 4317413, upload-time = "2025-10-16T22:16:31.644Z" },
+ { url = "https://files.pythonhosted.org/packages/5f/6f/e62b4dfc7ad6518e7eff2516f680d02a0f6eb62c0c212e152ca708a0085e/uvloop-0.22.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:7b5b1ac819a3f946d3b2ee07f09149578ae76066d70b44df3fa990add49a82e4", size = 4426307, upload-time = "2025-10-16T22:16:32.917Z" },
+ { url = "https://files.pythonhosted.org/packages/90/60/97362554ac21e20e81bcef1150cb2a7e4ffdaf8ea1e5b2e8bf7a053caa18/uvloop-0.22.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:e047cc068570bac9866237739607d1313b9253c3051ad84738cbb095be0537b2", size = 4131970, upload-time = "2025-10-16T22:16:34.015Z" },
+ { url = "https://files.pythonhosted.org/packages/99/39/6b3f7d234ba3964c428a6e40006340f53ba37993f46ed6e111c6e9141d18/uvloop-0.22.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:512fec6815e2dd45161054592441ef76c830eddaad55c8aa30952e6fe1ed07c0", size = 4296343, upload-time = "2025-10-16T22:16:35.149Z" },
+ { url = "https://files.pythonhosted.org/packages/89/8c/182a2a593195bfd39842ea68ebc084e20c850806117213f5a299dfc513d9/uvloop-0.22.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:561577354eb94200d75aca23fbde86ee11be36b00e52a4eaf8f50fb0c86b7705", size = 1358611, upload-time = "2025-10-16T22:16:36.833Z" },
+ { url = "https://files.pythonhosted.org/packages/d2/14/e301ee96a6dc95224b6f1162cd3312f6d1217be3907b79173b06785f2fe7/uvloop-0.22.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:1cdf5192ab3e674ca26da2eada35b288d2fa49fdd0f357a19f0e7c4e7d5077c8", size = 751811, upload-time = "2025-10-16T22:16:38.275Z" },
+ { url = "https://files.pythonhosted.org/packages/b7/02/654426ce265ac19e2980bfd9ea6590ca96a56f10c76e63801a2df01c0486/uvloop-0.22.1-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:6e2ea3d6190a2968f4a14a23019d3b16870dd2190cd69c8180f7c632d21de68d", size = 4288562, upload-time = "2025-10-16T22:16:39.375Z" },
+ { url = "https://files.pythonhosted.org/packages/15/c0/0be24758891ef825f2065cd5db8741aaddabe3e248ee6acc5e8a80f04005/uvloop-0.22.1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:0530a5fbad9c9e4ee3f2b33b148c6a64d47bbad8000ea63704fa8260f4cf728e", size = 4366890, upload-time = "2025-10-16T22:16:40.547Z" },
+ { url = "https://files.pythonhosted.org/packages/d2/53/8369e5219a5855869bcee5f4d317f6da0e2c669aecf0ef7d371e3d084449/uvloop-0.22.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:bc5ef13bbc10b5335792360623cc378d52d7e62c2de64660616478c32cd0598e", size = 4119472, upload-time = "2025-10-16T22:16:41.694Z" },
+ { url = "https://files.pythonhosted.org/packages/f8/ba/d69adbe699b768f6b29a5eec7b47dd610bd17a69de51b251126a801369ea/uvloop-0.22.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:1f38ec5e3f18c8a10ded09742f7fb8de0108796eb673f30ce7762ce1b8550cad", size = 4239051, upload-time = "2025-10-16T22:16:43.224Z" },
+]
+
+[[package]]
+name = "virtualenv"
+version = "20.37.0"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "distlib" },
+ { name = "filelock" },
+ { name = "platformdirs" },
+ { name = "typing-extensions", marker = "python_full_version < '3.11' or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/c1/ef/d9d4ce633df789bf3430bd81fb0d8b9d9465dfc1d1f0deb3fb62cd80f5c2/virtualenv-20.37.0.tar.gz", hash = "sha256:6f7e2064ed470aa7418874e70b6369d53b66bcd9e9fd5389763e96b6c94ccb7c", size = 5864710, upload-time = "2026-02-16T16:17:59.42Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/42/4b/6cf85b485be7ec29db837ec2a1d8cd68bc1147b1abf23d8636c5bd65b3cc/virtualenv-20.37.0-py3-none-any.whl", hash = "sha256:5d3951c32d57232ae3569d4de4cc256c439e045135ebf43518131175d9be435d", size = 5837480, upload-time = "2026-02-16T16:17:57.341Z" },
+]
+
+[[package]]
+name = "watchfiles"
+version = "1.1.1"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "anyio" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/c2/c9/8869df9b2a2d6c59d79220a4db37679e74f807c559ffe5265e08b227a210/watchfiles-1.1.1.tar.gz", hash = "sha256:a173cb5c16c4f40ab19cecf48a534c409f7ea983ab8fed0741304a1c0a31b3f2", size = 94440, upload-time = "2025-10-14T15:06:21.08Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/a7/1a/206e8cf2dd86fddf939165a57b4df61607a1e0add2785f170a3f616b7d9f/watchfiles-1.1.1-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:eef58232d32daf2ac67f42dea51a2c80f0d03379075d44a587051e63cc2e368c", size = 407318, upload-time = "2025-10-14T15:04:18.753Z" },
+ { url = "https://files.pythonhosted.org/packages/b3/0f/abaf5262b9c496b5dad4ed3c0e799cbecb1f8ea512ecb6ddd46646a9fca3/watchfiles-1.1.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:03fa0f5237118a0c5e496185cafa92878568b652a2e9a9382a5151b1a0380a43", size = 394478, upload-time = "2025-10-14T15:04:20.297Z" },
+ { url = "https://files.pythonhosted.org/packages/b1/04/9cc0ba88697b34b755371f5ace8d3a4d9a15719c07bdc7bd13d7d8c6a341/watchfiles-1.1.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8ca65483439f9c791897f7db49202301deb6e15fe9f8fe2fed555bf986d10c31", size = 449894, upload-time = "2025-10-14T15:04:21.527Z" },
+ { url = "https://files.pythonhosted.org/packages/d2/9c/eda4615863cd8621e89aed4df680d8c3ec3da6a4cf1da113c17decd87c7f/watchfiles-1.1.1-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:f0ab1c1af0cb38e3f598244c17919fb1a84d1629cc08355b0074b6d7f53138ac", size = 459065, upload-time = "2025-10-14T15:04:22.795Z" },
+ { url = "https://files.pythonhosted.org/packages/84/13/f28b3f340157d03cbc8197629bc109d1098764abe1e60874622a0be5c112/watchfiles-1.1.1-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3bc570d6c01c206c46deb6e935a260be44f186a2f05179f52f7fcd2be086a94d", size = 488377, upload-time = "2025-10-14T15:04:24.138Z" },
+ { url = "https://files.pythonhosted.org/packages/86/93/cfa597fa9389e122488f7ffdbd6db505b3b915ca7435ecd7542e855898c2/watchfiles-1.1.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e84087b432b6ac94778de547e08611266f1f8ffad28c0ee4c82e028b0fc5966d", size = 595837, upload-time = "2025-10-14T15:04:25.057Z" },
+ { url = "https://files.pythonhosted.org/packages/57/1e/68c1ed5652b48d89fc24d6af905d88ee4f82fa8bc491e2666004e307ded1/watchfiles-1.1.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:620bae625f4cb18427b1bb1a2d9426dc0dd5a5ba74c7c2cdb9de405f7b129863", size = 473456, upload-time = "2025-10-14T15:04:26.497Z" },
+ { url = "https://files.pythonhosted.org/packages/d5/dc/1a680b7458ffa3b14bb64878112aefc8f2e4f73c5af763cbf0bd43100658/watchfiles-1.1.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:544364b2b51a9b0c7000a4b4b02f90e9423d97fbbf7e06689236443ebcad81ab", size = 455614, upload-time = "2025-10-14T15:04:27.539Z" },
+ { url = "https://files.pythonhosted.org/packages/61/a5/3d782a666512e01eaa6541a72ebac1d3aae191ff4a31274a66b8dd85760c/watchfiles-1.1.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:bbe1ef33d45bc71cf21364df962af171f96ecaeca06bd9e3d0b583efb12aec82", size = 630690, upload-time = "2025-10-14T15:04:28.495Z" },
+ { url = "https://files.pythonhosted.org/packages/9b/73/bb5f38590e34687b2a9c47a244aa4dd50c56a825969c92c9c5fc7387cea1/watchfiles-1.1.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:1a0bb430adb19ef49389e1ad368450193a90038b5b752f4ac089ec6942c4dff4", size = 622459, upload-time = "2025-10-14T15:04:29.491Z" },
+ { url = "https://files.pythonhosted.org/packages/f1/ac/c9bb0ec696e07a20bd58af5399aeadaef195fb2c73d26baf55180fe4a942/watchfiles-1.1.1-cp310-cp310-win32.whl", hash = "sha256:3f6d37644155fb5beca5378feb8c1708d5783145f2a0f1c4d5a061a210254844", size = 272663, upload-time = "2025-10-14T15:04:30.435Z" },
+ { url = "https://files.pythonhosted.org/packages/11/a0/a60c5a7c2ec59fa062d9a9c61d02e3b6abd94d32aac2d8344c4bdd033326/watchfiles-1.1.1-cp310-cp310-win_amd64.whl", hash = "sha256:a36d8efe0f290835fd0f33da35042a1bb5dc0e83cbc092dcf69bce442579e88e", size = 287453, upload-time = "2025-10-14T15:04:31.53Z" },
+ { url = "https://files.pythonhosted.org/packages/1f/f8/2c5f479fb531ce2f0564eda479faecf253d886b1ab3630a39b7bf7362d46/watchfiles-1.1.1-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:f57b396167a2565a4e8b5e56a5a1c537571733992b226f4f1197d79e94cf0ae5", size = 406529, upload-time = "2025-10-14T15:04:32.899Z" },
+ { url = "https://files.pythonhosted.org/packages/fe/cd/f515660b1f32f65df671ddf6f85bfaca621aee177712874dc30a97397977/watchfiles-1.1.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:421e29339983e1bebc281fab40d812742268ad057db4aee8c4d2bce0af43b741", size = 394384, upload-time = "2025-10-14T15:04:33.761Z" },
+ { url = "https://files.pythonhosted.org/packages/7b/c3/28b7dc99733eab43fca2d10f55c86e03bd6ab11ca31b802abac26b23d161/watchfiles-1.1.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6e43d39a741e972bab5d8100b5cdacf69db64e34eb19b6e9af162bccf63c5cc6", size = 448789, upload-time = "2025-10-14T15:04:34.679Z" },
+ { url = "https://files.pythonhosted.org/packages/4a/24/33e71113b320030011c8e4316ccca04194bf0cbbaeee207f00cbc7d6b9f5/watchfiles-1.1.1-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:f537afb3276d12814082a2e9b242bdcf416c2e8fd9f799a737990a1dbe906e5b", size = 460521, upload-time = "2025-10-14T15:04:35.963Z" },
+ { url = "https://files.pythonhosted.org/packages/f4/c3/3c9a55f255aa57b91579ae9e98c88704955fa9dac3e5614fb378291155df/watchfiles-1.1.1-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b2cd9e04277e756a2e2d2543d65d1e2166d6fd4c9b183f8808634fda23f17b14", size = 488722, upload-time = "2025-10-14T15:04:37.091Z" },
+ { url = "https://files.pythonhosted.org/packages/49/36/506447b73eb46c120169dc1717fe2eff07c234bb3232a7200b5f5bd816e9/watchfiles-1.1.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5f3f58818dc0b07f7d9aa7fe9eb1037aecb9700e63e1f6acfed13e9fef648f5d", size = 596088, upload-time = "2025-10-14T15:04:38.39Z" },
+ { url = "https://files.pythonhosted.org/packages/82/ab/5f39e752a9838ec4d52e9b87c1e80f1ee3ccdbe92e183c15b6577ab9de16/watchfiles-1.1.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9bb9f66367023ae783551042d31b1d7fd422e8289eedd91f26754a66f44d5cff", size = 472923, upload-time = "2025-10-14T15:04:39.666Z" },
+ { url = "https://files.pythonhosted.org/packages/af/b9/a419292f05e302dea372fa7e6fda5178a92998411f8581b9830d28fb9edb/watchfiles-1.1.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:aebfd0861a83e6c3d1110b78ad54704486555246e542be3e2bb94195eabb2606", size = 456080, upload-time = "2025-10-14T15:04:40.643Z" },
+ { url = "https://files.pythonhosted.org/packages/b0/c3/d5932fd62bde1a30c36e10c409dc5d54506726f08cb3e1d8d0ba5e2bc8db/watchfiles-1.1.1-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:5fac835b4ab3c6487b5dbad78c4b3724e26bcc468e886f8ba8cc4306f68f6701", size = 629432, upload-time = "2025-10-14T15:04:41.789Z" },
+ { url = "https://files.pythonhosted.org/packages/f7/77/16bddd9779fafb795f1a94319dc965209c5641db5bf1edbbccace6d1b3c0/watchfiles-1.1.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:399600947b170270e80134ac854e21b3ccdefa11a9529a3decc1327088180f10", size = 623046, upload-time = "2025-10-14T15:04:42.718Z" },
+ { url = "https://files.pythonhosted.org/packages/46/ef/f2ecb9a0f342b4bfad13a2787155c6ee7ce792140eac63a34676a2feeef2/watchfiles-1.1.1-cp311-cp311-win32.whl", hash = "sha256:de6da501c883f58ad50db3a32ad397b09ad29865b5f26f64c24d3e3281685849", size = 271473, upload-time = "2025-10-14T15:04:43.624Z" },
+ { url = "https://files.pythonhosted.org/packages/94/bc/f42d71125f19731ea435c3948cad148d31a64fccde3867e5ba4edee901f9/watchfiles-1.1.1-cp311-cp311-win_amd64.whl", hash = "sha256:35c53bd62a0b885bf653ebf6b700d1bf05debb78ad9292cf2a942b23513dc4c4", size = 287598, upload-time = "2025-10-14T15:04:44.516Z" },
+ { url = "https://files.pythonhosted.org/packages/57/c9/a30f897351f95bbbfb6abcadafbaca711ce1162f4db95fc908c98a9165f3/watchfiles-1.1.1-cp311-cp311-win_arm64.whl", hash = "sha256:57ca5281a8b5e27593cb7d82c2ac927ad88a96ed406aa446f6344e4328208e9e", size = 277210, upload-time = "2025-10-14T15:04:45.883Z" },
+ { url = "https://files.pythonhosted.org/packages/74/d5/f039e7e3c639d9b1d09b07ea412a6806d38123f0508e5f9b48a87b0a76cc/watchfiles-1.1.1-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:8c89f9f2f740a6b7dcc753140dd5e1ab9215966f7a3530d0c0705c83b401bd7d", size = 404745, upload-time = "2025-10-14T15:04:46.731Z" },
+ { url = "https://files.pythonhosted.org/packages/a5/96/a881a13aa1349827490dab2d363c8039527060cfcc2c92cc6d13d1b1049e/watchfiles-1.1.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:bd404be08018c37350f0d6e34676bd1e2889990117a2b90070b3007f172d0610", size = 391769, upload-time = "2025-10-14T15:04:48.003Z" },
+ { url = "https://files.pythonhosted.org/packages/4b/5b/d3b460364aeb8da471c1989238ea0e56bec24b6042a68046adf3d9ddb01c/watchfiles-1.1.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8526e8f916bb5b9a0a777c8317c23ce65de259422bba5b31325a6fa6029d33af", size = 449374, upload-time = "2025-10-14T15:04:49.179Z" },
+ { url = "https://files.pythonhosted.org/packages/b9/44/5769cb62d4ed055cb17417c0a109a92f007114a4e07f30812a73a4efdb11/watchfiles-1.1.1-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:2edc3553362b1c38d9f06242416a5d8e9fe235c204a4072e988ce2e5bb1f69f6", size = 459485, upload-time = "2025-10-14T15:04:50.155Z" },
+ { url = "https://files.pythonhosted.org/packages/19/0c/286b6301ded2eccd4ffd0041a1b726afda999926cf720aab63adb68a1e36/watchfiles-1.1.1-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:30f7da3fb3f2844259cba4720c3fc7138eb0f7b659c38f3bfa65084c7fc7abce", size = 488813, upload-time = "2025-10-14T15:04:51.059Z" },
+ { url = "https://files.pythonhosted.org/packages/c7/2b/8530ed41112dd4a22f4dcfdb5ccf6a1baad1ff6eed8dc5a5f09e7e8c41c7/watchfiles-1.1.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f8979280bdafff686ba5e4d8f97840f929a87ed9cdf133cbbd42f7766774d2aa", size = 594816, upload-time = "2025-10-14T15:04:52.031Z" },
+ { url = "https://files.pythonhosted.org/packages/ce/d2/f5f9fb49489f184f18470d4f99f4e862a4b3e9ac2865688eb2099e3d837a/watchfiles-1.1.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:dcc5c24523771db3a294c77d94771abcfcb82a0e0ee8efd910c37c59ec1b31bb", size = 475186, upload-time = "2025-10-14T15:04:53.064Z" },
+ { url = "https://files.pythonhosted.org/packages/cf/68/5707da262a119fb06fbe214d82dd1fe4a6f4af32d2d14de368d0349eb52a/watchfiles-1.1.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1db5d7ae38ff20153d542460752ff397fcf5c96090c1230803713cf3147a6803", size = 456812, upload-time = "2025-10-14T15:04:55.174Z" },
+ { url = "https://files.pythonhosted.org/packages/66/ab/3cbb8756323e8f9b6f9acb9ef4ec26d42b2109bce830cc1f3468df20511d/watchfiles-1.1.1-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:28475ddbde92df1874b6c5c8aaeb24ad5be47a11f87cde5a28ef3835932e3e94", size = 630196, upload-time = "2025-10-14T15:04:56.22Z" },
+ { url = "https://files.pythonhosted.org/packages/78/46/7152ec29b8335f80167928944a94955015a345440f524d2dfe63fc2f437b/watchfiles-1.1.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:36193ed342f5b9842edd3532729a2ad55c4160ffcfa3700e0d54be496b70dd43", size = 622657, upload-time = "2025-10-14T15:04:57.521Z" },
+ { url = "https://files.pythonhosted.org/packages/0a/bf/95895e78dd75efe9a7f31733607f384b42eb5feb54bd2eb6ed57cc2e94f4/watchfiles-1.1.1-cp312-cp312-win32.whl", hash = "sha256:859e43a1951717cc8de7f4c77674a6d389b106361585951d9e69572823f311d9", size = 272042, upload-time = "2025-10-14T15:04:59.046Z" },
+ { url = "https://files.pythonhosted.org/packages/87/0a/90eb755f568de2688cb220171c4191df932232c20946966c27a59c400850/watchfiles-1.1.1-cp312-cp312-win_amd64.whl", hash = "sha256:91d4c9a823a8c987cce8fa2690923b069966dabb196dd8d137ea2cede885fde9", size = 288410, upload-time = "2025-10-14T15:05:00.081Z" },
+ { url = "https://files.pythonhosted.org/packages/36/76/f322701530586922fbd6723c4f91ace21364924822a8772c549483abed13/watchfiles-1.1.1-cp312-cp312-win_arm64.whl", hash = "sha256:a625815d4a2bdca61953dbba5a39d60164451ef34c88d751f6c368c3ea73d404", size = 278209, upload-time = "2025-10-14T15:05:01.168Z" },
+ { url = "https://files.pythonhosted.org/packages/bb/f4/f750b29225fe77139f7ae5de89d4949f5a99f934c65a1f1c0b248f26f747/watchfiles-1.1.1-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:130e4876309e8686a5e37dba7d5e9bc77e6ed908266996ca26572437a5271e18", size = 404321, upload-time = "2025-10-14T15:05:02.063Z" },
+ { url = "https://files.pythonhosted.org/packages/2b/f9/f07a295cde762644aa4c4bb0f88921d2d141af45e735b965fb2e87858328/watchfiles-1.1.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:5f3bde70f157f84ece3765b42b4a52c6ac1a50334903c6eaf765362f6ccca88a", size = 391783, upload-time = "2025-10-14T15:05:03.052Z" },
+ { url = "https://files.pythonhosted.org/packages/bc/11/fc2502457e0bea39a5c958d86d2cb69e407a4d00b85735ca724bfa6e0d1a/watchfiles-1.1.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:14e0b1fe858430fc0251737ef3824c54027bedb8c37c38114488b8e131cf8219", size = 449279, upload-time = "2025-10-14T15:05:04.004Z" },
+ { url = "https://files.pythonhosted.org/packages/e3/1f/d66bc15ea0b728df3ed96a539c777acfcad0eb78555ad9efcaa1274688f0/watchfiles-1.1.1-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:f27db948078f3823a6bb3b465180db8ebecf26dd5dae6f6180bd87383b6b4428", size = 459405, upload-time = "2025-10-14T15:05:04.942Z" },
+ { url = "https://files.pythonhosted.org/packages/be/90/9f4a65c0aec3ccf032703e6db02d89a157462fbb2cf20dd415128251cac0/watchfiles-1.1.1-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:059098c3a429f62fc98e8ec62b982230ef2c8df68c79e826e37b895bc359a9c0", size = 488976, upload-time = "2025-10-14T15:05:05.905Z" },
+ { url = "https://files.pythonhosted.org/packages/37/57/ee347af605d867f712be7029bb94c8c071732a4b44792e3176fa3c612d39/watchfiles-1.1.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:bfb5862016acc9b869bb57284e6cb35fdf8e22fe59f7548858e2f971d045f150", size = 595506, upload-time = "2025-10-14T15:05:06.906Z" },
+ { url = "https://files.pythonhosted.org/packages/a8/78/cc5ab0b86c122047f75e8fc471c67a04dee395daf847d3e59381996c8707/watchfiles-1.1.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:319b27255aacd9923b8a276bb14d21a5f7ff82564c744235fc5eae58d95422ae", size = 474936, upload-time = "2025-10-14T15:05:07.906Z" },
+ { url = "https://files.pythonhosted.org/packages/62/da/def65b170a3815af7bd40a3e7010bf6ab53089ef1b75d05dd5385b87cf08/watchfiles-1.1.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c755367e51db90e75b19454b680903631d41f9e3607fbd941d296a020c2d752d", size = 456147, upload-time = "2025-10-14T15:05:09.138Z" },
+ { url = "https://files.pythonhosted.org/packages/57/99/da6573ba71166e82d288d4df0839128004c67d2778d3b566c138695f5c0b/watchfiles-1.1.1-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:c22c776292a23bfc7237a98f791b9ad3144b02116ff10d820829ce62dff46d0b", size = 630007, upload-time = "2025-10-14T15:05:10.117Z" },
+ { url = "https://files.pythonhosted.org/packages/a8/51/7439c4dd39511368849eb1e53279cd3454b4a4dbace80bab88feeb83c6b5/watchfiles-1.1.1-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:3a476189be23c3686bc2f4321dd501cb329c0a0469e77b7b534ee10129ae6374", size = 622280, upload-time = "2025-10-14T15:05:11.146Z" },
+ { url = "https://files.pythonhosted.org/packages/95/9c/8ed97d4bba5db6fdcdb2b298d3898f2dd5c20f6b73aee04eabe56c59677e/watchfiles-1.1.1-cp313-cp313-win32.whl", hash = "sha256:bf0a91bfb5574a2f7fc223cf95eeea79abfefa404bf1ea5e339c0c1560ae99a0", size = 272056, upload-time = "2025-10-14T15:05:12.156Z" },
+ { url = "https://files.pythonhosted.org/packages/1f/f3/c14e28429f744a260d8ceae18bf58c1d5fa56b50d006a7a9f80e1882cb0d/watchfiles-1.1.1-cp313-cp313-win_amd64.whl", hash = "sha256:52e06553899e11e8074503c8e716d574adeeb7e68913115c4b3653c53f9bae42", size = 288162, upload-time = "2025-10-14T15:05:13.208Z" },
+ { url = "https://files.pythonhosted.org/packages/dc/61/fe0e56c40d5cd29523e398d31153218718c5786b5e636d9ae8ae79453d27/watchfiles-1.1.1-cp313-cp313-win_arm64.whl", hash = "sha256:ac3cc5759570cd02662b15fbcd9d917f7ecd47efe0d6b40474eafd246f91ea18", size = 277909, upload-time = "2025-10-14T15:05:14.49Z" },
+ { url = "https://files.pythonhosted.org/packages/79/42/e0a7d749626f1e28c7108a99fb9bf524b501bbbeb9b261ceecde644d5a07/watchfiles-1.1.1-cp313-cp313t-macosx_10_12_x86_64.whl", hash = "sha256:563b116874a9a7ce6f96f87cd0b94f7faf92d08d0021e837796f0a14318ef8da", size = 403389, upload-time = "2025-10-14T15:05:15.777Z" },
+ { url = "https://files.pythonhosted.org/packages/15/49/08732f90ce0fbbc13913f9f215c689cfc9ced345fb1bcd8829a50007cc8d/watchfiles-1.1.1-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:3ad9fe1dae4ab4212d8c91e80b832425e24f421703b5a42ef2e4a1e215aff051", size = 389964, upload-time = "2025-10-14T15:05:16.85Z" },
+ { url = "https://files.pythonhosted.org/packages/27/0d/7c315d4bd5f2538910491a0393c56bf70d333d51bc5b34bee8e68e8cea19/watchfiles-1.1.1-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ce70f96a46b894b36eba678f153f052967a0d06d5b5a19b336ab0dbbd029f73e", size = 448114, upload-time = "2025-10-14T15:05:17.876Z" },
+ { url = "https://files.pythonhosted.org/packages/c3/24/9e096de47a4d11bc4df41e9d1e61776393eac4cb6eb11b3e23315b78b2cc/watchfiles-1.1.1-cp313-cp313t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:cb467c999c2eff23a6417e58d75e5828716f42ed8289fe6b77a7e5a91036ca70", size = 460264, upload-time = "2025-10-14T15:05:18.962Z" },
+ { url = "https://files.pythonhosted.org/packages/cc/0f/e8dea6375f1d3ba5fcb0b3583e2b493e77379834c74fd5a22d66d85d6540/watchfiles-1.1.1-cp313-cp313t-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:836398932192dae4146c8f6f737d74baeac8b70ce14831a239bdb1ca882fc261", size = 487877, upload-time = "2025-10-14T15:05:20.094Z" },
+ { url = "https://files.pythonhosted.org/packages/ac/5b/df24cfc6424a12deb41503b64d42fbea6b8cb357ec62ca84a5a3476f654a/watchfiles-1.1.1-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:743185e7372b7bc7c389e1badcc606931a827112fbbd37f14c537320fca08620", size = 595176, upload-time = "2025-10-14T15:05:21.134Z" },
+ { url = "https://files.pythonhosted.org/packages/8f/b5/853b6757f7347de4e9b37e8cc3289283fb983cba1ab4d2d7144694871d9c/watchfiles-1.1.1-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:afaeff7696e0ad9f02cbb8f56365ff4686ab205fcf9c4c5b6fdfaaa16549dd04", size = 473577, upload-time = "2025-10-14T15:05:22.306Z" },
+ { url = "https://files.pythonhosted.org/packages/e1/f7/0a4467be0a56e80447c8529c9fce5b38eab4f513cb3d9bf82e7392a5696b/watchfiles-1.1.1-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3f7eb7da0eb23aa2ba036d4f616d46906013a68caf61b7fdbe42fc8b25132e77", size = 455425, upload-time = "2025-10-14T15:05:23.348Z" },
+ { url = "https://files.pythonhosted.org/packages/8e/e0/82583485ea00137ddf69bc84a2db88bd92ab4a6e3c405e5fb878ead8d0e7/watchfiles-1.1.1-cp313-cp313t-musllinux_1_1_aarch64.whl", hash = "sha256:831a62658609f0e5c64178211c942ace999517f5770fe9436be4c2faeba0c0ef", size = 628826, upload-time = "2025-10-14T15:05:24.398Z" },
+ { url = "https://files.pythonhosted.org/packages/28/9a/a785356fccf9fae84c0cc90570f11702ae9571036fb25932f1242c82191c/watchfiles-1.1.1-cp313-cp313t-musllinux_1_1_x86_64.whl", hash = "sha256:f9a2ae5c91cecc9edd47e041a930490c31c3afb1f5e6d71de3dc671bfaca02bf", size = 622208, upload-time = "2025-10-14T15:05:25.45Z" },
+ { url = "https://files.pythonhosted.org/packages/ba/4c/a888c91e2e326872fa4705095d64acd8aa2fb9c1f7b9bd0588f33850516c/watchfiles-1.1.1-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:17ef139237dfced9da49fb7f2232c86ca9421f666d78c264c7ffca6601d154c3", size = 409611, upload-time = "2025-10-14T15:06:05.809Z" },
+ { url = "https://files.pythonhosted.org/packages/1e/c7/5420d1943c8e3ce1a21c0a9330bcf7edafb6aa65d26b21dbb3267c9e8112/watchfiles-1.1.1-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:672b8adf25b1a0d35c96b5888b7b18699d27d4194bac8beeae75be4b7a3fc9b2", size = 396889, upload-time = "2025-10-14T15:06:07.035Z" },
+ { url = "https://files.pythonhosted.org/packages/0c/e5/0072cef3804ce8d3aaddbfe7788aadff6b3d3f98a286fdbee9fd74ca59a7/watchfiles-1.1.1-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:77a13aea58bc2b90173bc69f2a90de8e282648939a00a602e1dc4ee23e26b66d", size = 451616, upload-time = "2025-10-14T15:06:08.072Z" },
+ { url = "https://files.pythonhosted.org/packages/83/4e/b87b71cbdfad81ad7e83358b3e447fedd281b880a03d64a760fe0a11fc2e/watchfiles-1.1.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0b495de0bb386df6a12b18335a0285dda90260f51bdb505503c02bcd1ce27a8b", size = 458413, upload-time = "2025-10-14T15:06:09.209Z" },
+ { url = "https://files.pythonhosted.org/packages/d3/8e/e500f8b0b77be4ff753ac94dc06b33d8f0d839377fee1b78e8c8d8f031bf/watchfiles-1.1.1-pp311-pypy311_pp73-macosx_10_12_x86_64.whl", hash = "sha256:db476ab59b6765134de1d4fe96a1a9c96ddf091683599be0f26147ea1b2e4b88", size = 408250, upload-time = "2025-10-14T15:06:10.264Z" },
+ { url = "https://files.pythonhosted.org/packages/bd/95/615e72cd27b85b61eec764a5ca51bd94d40b5adea5ff47567d9ebc4d275a/watchfiles-1.1.1-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:89eef07eee5e9d1fda06e38822ad167a044153457e6fd997f8a858ab7564a336", size = 396117, upload-time = "2025-10-14T15:06:11.28Z" },
+ { url = "https://files.pythonhosted.org/packages/c9/81/e7fe958ce8a7fb5c73cc9fb07f5aeaf755e6aa72498c57d760af760c91f8/watchfiles-1.1.1-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ce19e06cbda693e9e7686358af9cd6f5d61312ab8b00488bc36f5aabbaf77e24", size = 450493, upload-time = "2025-10-14T15:06:12.321Z" },
+ { url = "https://files.pythonhosted.org/packages/6e/d4/ed38dd3b1767193de971e694aa544356e63353c33a85d948166b5ff58b9e/watchfiles-1.1.1-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3e6f39af2eab0118338902798b5aa6664f46ff66bc0280de76fca67a7f262a49", size = 457546, upload-time = "2025-10-14T15:06:13.372Z" },
+]
+
+[[package]]
+name = "websockets"
+version = "15.0.1"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/21/e6/26d09fab466b7ca9c7737474c52be4f76a40301b08362eb2dbc19dcc16c1/websockets-15.0.1.tar.gz", hash = "sha256:82544de02076bafba038ce055ee6412d68da13ab47f0c60cab827346de828dee", size = 177016, upload-time = "2025-03-05T20:03:41.606Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/1e/da/6462a9f510c0c49837bbc9345aca92d767a56c1fb2939e1579df1e1cdcf7/websockets-15.0.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:d63efaa0cd96cf0c5fe4d581521d9fa87744540d4bc999ae6e08595a1014b45b", size = 175423, upload-time = "2025-03-05T20:01:35.363Z" },
+ { url = "https://files.pythonhosted.org/packages/1c/9f/9d11c1a4eb046a9e106483b9ff69bce7ac880443f00e5ce64261b47b07e7/websockets-15.0.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:ac60e3b188ec7574cb761b08d50fcedf9d77f1530352db4eef1707fe9dee7205", size = 173080, upload-time = "2025-03-05T20:01:37.304Z" },
+ { url = "https://files.pythonhosted.org/packages/d5/4f/b462242432d93ea45f297b6179c7333dd0402b855a912a04e7fc61c0d71f/websockets-15.0.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:5756779642579d902eed757b21b0164cd6fe338506a8083eb58af5c372e39d9a", size = 173329, upload-time = "2025-03-05T20:01:39.668Z" },
+ { url = "https://files.pythonhosted.org/packages/6e/0c/6afa1f4644d7ed50284ac59cc70ef8abd44ccf7d45850d989ea7310538d0/websockets-15.0.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0fdfe3e2a29e4db3659dbd5bbf04560cea53dd9610273917799f1cde46aa725e", size = 182312, upload-time = "2025-03-05T20:01:41.815Z" },
+ { url = "https://files.pythonhosted.org/packages/dd/d4/ffc8bd1350b229ca7a4db2a3e1c482cf87cea1baccd0ef3e72bc720caeec/websockets-15.0.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4c2529b320eb9e35af0fa3016c187dffb84a3ecc572bcee7c3ce302bfeba52bf", size = 181319, upload-time = "2025-03-05T20:01:43.967Z" },
+ { url = "https://files.pythonhosted.org/packages/97/3a/5323a6bb94917af13bbb34009fac01e55c51dfde354f63692bf2533ffbc2/websockets-15.0.1-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ac1e5c9054fe23226fb11e05a6e630837f074174c4c2f0fe442996112a6de4fb", size = 181631, upload-time = "2025-03-05T20:01:46.104Z" },
+ { url = "https://files.pythonhosted.org/packages/a6/cc/1aeb0f7cee59ef065724041bb7ed667b6ab1eeffe5141696cccec2687b66/websockets-15.0.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:5df592cd503496351d6dc14f7cdad49f268d8e618f80dce0cd5a36b93c3fc08d", size = 182016, upload-time = "2025-03-05T20:01:47.603Z" },
+ { url = "https://files.pythonhosted.org/packages/79/f9/c86f8f7af208e4161a7f7e02774e9d0a81c632ae76db2ff22549e1718a51/websockets-15.0.1-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:0a34631031a8f05657e8e90903e656959234f3a04552259458aac0b0f9ae6fd9", size = 181426, upload-time = "2025-03-05T20:01:48.949Z" },
+ { url = "https://files.pythonhosted.org/packages/c7/b9/828b0bc6753db905b91df6ae477c0b14a141090df64fb17f8a9d7e3516cf/websockets-15.0.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:3d00075aa65772e7ce9e990cab3ff1de702aa09be3940d1dc88d5abf1ab8a09c", size = 181360, upload-time = "2025-03-05T20:01:50.938Z" },
+ { url = "https://files.pythonhosted.org/packages/89/fb/250f5533ec468ba6327055b7d98b9df056fb1ce623b8b6aaafb30b55d02e/websockets-15.0.1-cp310-cp310-win32.whl", hash = "sha256:1234d4ef35db82f5446dca8e35a7da7964d02c127b095e172e54397fb6a6c256", size = 176388, upload-time = "2025-03-05T20:01:52.213Z" },
+ { url = "https://files.pythonhosted.org/packages/1c/46/aca7082012768bb98e5608f01658ff3ac8437e563eca41cf068bd5849a5e/websockets-15.0.1-cp310-cp310-win_amd64.whl", hash = "sha256:39c1fec2c11dc8d89bba6b2bf1556af381611a173ac2b511cf7231622058af41", size = 176830, upload-time = "2025-03-05T20:01:53.922Z" },
+ { url = "https://files.pythonhosted.org/packages/9f/32/18fcd5919c293a398db67443acd33fde142f283853076049824fc58e6f75/websockets-15.0.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:823c248b690b2fd9303ba00c4f66cd5e2d8c3ba4aa968b2779be9532a4dad431", size = 175423, upload-time = "2025-03-05T20:01:56.276Z" },
+ { url = "https://files.pythonhosted.org/packages/76/70/ba1ad96b07869275ef42e2ce21f07a5b0148936688c2baf7e4a1f60d5058/websockets-15.0.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:678999709e68425ae2593acf2e3ebcbcf2e69885a5ee78f9eb80e6e371f1bf57", size = 173082, upload-time = "2025-03-05T20:01:57.563Z" },
+ { url = "https://files.pythonhosted.org/packages/86/f2/10b55821dd40eb696ce4704a87d57774696f9451108cff0d2824c97e0f97/websockets-15.0.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:d50fd1ee42388dcfb2b3676132c78116490976f1300da28eb629272d5d93e905", size = 173330, upload-time = "2025-03-05T20:01:59.063Z" },
+ { url = "https://files.pythonhosted.org/packages/a5/90/1c37ae8b8a113d3daf1065222b6af61cc44102da95388ac0018fcb7d93d9/websockets-15.0.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d99e5546bf73dbad5bf3547174cd6cb8ba7273062a23808ffea025ecb1cf8562", size = 182878, upload-time = "2025-03-05T20:02:00.305Z" },
+ { url = "https://files.pythonhosted.org/packages/8e/8d/96e8e288b2a41dffafb78e8904ea7367ee4f891dafc2ab8d87e2124cb3d3/websockets-15.0.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:66dd88c918e3287efc22409d426c8f729688d89a0c587c88971a0faa2c2f3792", size = 181883, upload-time = "2025-03-05T20:02:03.148Z" },
+ { url = "https://files.pythonhosted.org/packages/93/1f/5d6dbf551766308f6f50f8baf8e9860be6182911e8106da7a7f73785f4c4/websockets-15.0.1-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8dd8327c795b3e3f219760fa603dcae1dcc148172290a8ab15158cf85a953413", size = 182252, upload-time = "2025-03-05T20:02:05.29Z" },
+ { url = "https://files.pythonhosted.org/packages/d4/78/2d4fed9123e6620cbf1706c0de8a1632e1a28e7774d94346d7de1bba2ca3/websockets-15.0.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:8fdc51055e6ff4adeb88d58a11042ec9a5eae317a0a53d12c062c8a8865909e8", size = 182521, upload-time = "2025-03-05T20:02:07.458Z" },
+ { url = "https://files.pythonhosted.org/packages/e7/3b/66d4c1b444dd1a9823c4a81f50231b921bab54eee2f69e70319b4e21f1ca/websockets-15.0.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:693f0192126df6c2327cce3baa7c06f2a117575e32ab2308f7f8216c29d9e2e3", size = 181958, upload-time = "2025-03-05T20:02:09.842Z" },
+ { url = "https://files.pythonhosted.org/packages/08/ff/e9eed2ee5fed6f76fdd6032ca5cd38c57ca9661430bb3d5fb2872dc8703c/websockets-15.0.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:54479983bd5fb469c38f2f5c7e3a24f9a4e70594cd68cd1fa6b9340dadaff7cf", size = 181918, upload-time = "2025-03-05T20:02:11.968Z" },
+ { url = "https://files.pythonhosted.org/packages/d8/75/994634a49b7e12532be6a42103597b71098fd25900f7437d6055ed39930a/websockets-15.0.1-cp311-cp311-win32.whl", hash = "sha256:16b6c1b3e57799b9d38427dda63edcbe4926352c47cf88588c0be4ace18dac85", size = 176388, upload-time = "2025-03-05T20:02:13.32Z" },
+ { url = "https://files.pythonhosted.org/packages/98/93/e36c73f78400a65f5e236cd376713c34182e6663f6889cd45a4a04d8f203/websockets-15.0.1-cp311-cp311-win_amd64.whl", hash = "sha256:27ccee0071a0e75d22cb35849b1db43f2ecd3e161041ac1ee9d2352ddf72f065", size = 176828, upload-time = "2025-03-05T20:02:14.585Z" },
+ { url = "https://files.pythonhosted.org/packages/51/6b/4545a0d843594f5d0771e86463606a3988b5a09ca5123136f8a76580dd63/websockets-15.0.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:3e90baa811a5d73f3ca0bcbf32064d663ed81318ab225ee4f427ad4e26e5aff3", size = 175437, upload-time = "2025-03-05T20:02:16.706Z" },
+ { url = "https://files.pythonhosted.org/packages/f4/71/809a0f5f6a06522af902e0f2ea2757f71ead94610010cf570ab5c98e99ed/websockets-15.0.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:592f1a9fe869c778694f0aa806ba0374e97648ab57936f092fd9d87f8bc03665", size = 173096, upload-time = "2025-03-05T20:02:18.832Z" },
+ { url = "https://files.pythonhosted.org/packages/3d/69/1a681dd6f02180916f116894181eab8b2e25b31e484c5d0eae637ec01f7c/websockets-15.0.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:0701bc3cfcb9164d04a14b149fd74be7347a530ad3bbf15ab2c678a2cd3dd9a2", size = 173332, upload-time = "2025-03-05T20:02:20.187Z" },
+ { url = "https://files.pythonhosted.org/packages/a6/02/0073b3952f5bce97eafbb35757f8d0d54812b6174ed8dd952aa08429bcc3/websockets-15.0.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e8b56bdcdb4505c8078cb6c7157d9811a85790f2f2b3632c7d1462ab5783d215", size = 183152, upload-time = "2025-03-05T20:02:22.286Z" },
+ { url = "https://files.pythonhosted.org/packages/74/45/c205c8480eafd114b428284840da0b1be9ffd0e4f87338dc95dc6ff961a1/websockets-15.0.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0af68c55afbd5f07986df82831c7bff04846928ea8d1fd7f30052638788bc9b5", size = 182096, upload-time = "2025-03-05T20:02:24.368Z" },
+ { url = "https://files.pythonhosted.org/packages/14/8f/aa61f528fba38578ec553c145857a181384c72b98156f858ca5c8e82d9d3/websockets-15.0.1-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:64dee438fed052b52e4f98f76c5790513235efaa1ef7f3f2192c392cd7c91b65", size = 182523, upload-time = "2025-03-05T20:02:25.669Z" },
+ { url = "https://files.pythonhosted.org/packages/ec/6d/0267396610add5bc0d0d3e77f546d4cd287200804fe02323797de77dbce9/websockets-15.0.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:d5f6b181bb38171a8ad1d6aa58a67a6aa9d4b38d0f8c5f496b9e42561dfc62fe", size = 182790, upload-time = "2025-03-05T20:02:26.99Z" },
+ { url = "https://files.pythonhosted.org/packages/02/05/c68c5adbf679cf610ae2f74a9b871ae84564462955d991178f95a1ddb7dd/websockets-15.0.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:5d54b09eba2bada6011aea5375542a157637b91029687eb4fdb2dab11059c1b4", size = 182165, upload-time = "2025-03-05T20:02:30.291Z" },
+ { url = "https://files.pythonhosted.org/packages/29/93/bb672df7b2f5faac89761cb5fa34f5cec45a4026c383a4b5761c6cea5c16/websockets-15.0.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:3be571a8b5afed347da347bfcf27ba12b069d9d7f42cb8c7028b5e98bbb12597", size = 182160, upload-time = "2025-03-05T20:02:31.634Z" },
+ { url = "https://files.pythonhosted.org/packages/ff/83/de1f7709376dc3ca9b7eeb4b9a07b4526b14876b6d372a4dc62312bebee0/websockets-15.0.1-cp312-cp312-win32.whl", hash = "sha256:c338ffa0520bdb12fbc527265235639fb76e7bc7faafbb93f6ba80d9c06578a9", size = 176395, upload-time = "2025-03-05T20:02:33.017Z" },
+ { url = "https://files.pythonhosted.org/packages/7d/71/abf2ebc3bbfa40f391ce1428c7168fb20582d0ff57019b69ea20fa698043/websockets-15.0.1-cp312-cp312-win_amd64.whl", hash = "sha256:fcd5cf9e305d7b8338754470cf69cf81f420459dbae8a3b40cee57417f4614a7", size = 176841, upload-time = "2025-03-05T20:02:34.498Z" },
+ { url = "https://files.pythonhosted.org/packages/cb/9f/51f0cf64471a9d2b4d0fc6c534f323b664e7095640c34562f5182e5a7195/websockets-15.0.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:ee443ef070bb3b6ed74514f5efaa37a252af57c90eb33b956d35c8e9c10a1931", size = 175440, upload-time = "2025-03-05T20:02:36.695Z" },
+ { url = "https://files.pythonhosted.org/packages/8a/05/aa116ec9943c718905997412c5989f7ed671bc0188ee2ba89520e8765d7b/websockets-15.0.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:5a939de6b7b4e18ca683218320fc67ea886038265fd1ed30173f5ce3f8e85675", size = 173098, upload-time = "2025-03-05T20:02:37.985Z" },
+ { url = "https://files.pythonhosted.org/packages/ff/0b/33cef55ff24f2d92924923c99926dcce78e7bd922d649467f0eda8368923/websockets-15.0.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:746ee8dba912cd6fc889a8147168991d50ed70447bf18bcda7039f7d2e3d9151", size = 173329, upload-time = "2025-03-05T20:02:39.298Z" },
+ { url = "https://files.pythonhosted.org/packages/31/1d/063b25dcc01faa8fada1469bdf769de3768b7044eac9d41f734fd7b6ad6d/websockets-15.0.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:595b6c3969023ecf9041b2936ac3827e4623bfa3ccf007575f04c5a6aa318c22", size = 183111, upload-time = "2025-03-05T20:02:40.595Z" },
+ { url = "https://files.pythonhosted.org/packages/93/53/9a87ee494a51bf63e4ec9241c1ccc4f7c2f45fff85d5bde2ff74fcb68b9e/websockets-15.0.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3c714d2fc58b5ca3e285461a4cc0c9a66bd0e24c5da9911e30158286c9b5be7f", size = 182054, upload-time = "2025-03-05T20:02:41.926Z" },
+ { url = "https://files.pythonhosted.org/packages/ff/b2/83a6ddf56cdcbad4e3d841fcc55d6ba7d19aeb89c50f24dd7e859ec0805f/websockets-15.0.1-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0f3c1e2ab208db911594ae5b4f79addeb3501604a165019dd221c0bdcabe4db8", size = 182496, upload-time = "2025-03-05T20:02:43.304Z" },
+ { url = "https://files.pythonhosted.org/packages/98/41/e7038944ed0abf34c45aa4635ba28136f06052e08fc2168520bb8b25149f/websockets-15.0.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:229cf1d3ca6c1804400b0a9790dc66528e08a6a1feec0d5040e8b9eb14422375", size = 182829, upload-time = "2025-03-05T20:02:48.812Z" },
+ { url = "https://files.pythonhosted.org/packages/e0/17/de15b6158680c7623c6ef0db361da965ab25d813ae54fcfeae2e5b9ef910/websockets-15.0.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:756c56e867a90fb00177d530dca4b097dd753cde348448a1012ed6c5131f8b7d", size = 182217, upload-time = "2025-03-05T20:02:50.14Z" },
+ { url = "https://files.pythonhosted.org/packages/33/2b/1f168cb6041853eef0362fb9554c3824367c5560cbdaad89ac40f8c2edfc/websockets-15.0.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:558d023b3df0bffe50a04e710bc87742de35060580a293c2a984299ed83bc4e4", size = 182195, upload-time = "2025-03-05T20:02:51.561Z" },
+ { url = "https://files.pythonhosted.org/packages/86/eb/20b6cdf273913d0ad05a6a14aed4b9a85591c18a987a3d47f20fa13dcc47/websockets-15.0.1-cp313-cp313-win32.whl", hash = "sha256:ba9e56e8ceeeedb2e080147ba85ffcd5cd0711b89576b83784d8605a7df455fa", size = 176393, upload-time = "2025-03-05T20:02:53.814Z" },
+ { url = "https://files.pythonhosted.org/packages/1b/6c/c65773d6cab416a64d191d6ee8a8b1c68a09970ea6909d16965d26bfed1e/websockets-15.0.1-cp313-cp313-win_amd64.whl", hash = "sha256:e09473f095a819042ecb2ab9465aee615bd9c2028e4ef7d933600a8401c79561", size = 176837, upload-time = "2025-03-05T20:02:55.237Z" },
+ { url = "https://files.pythonhosted.org/packages/02/9e/d40f779fa16f74d3468357197af8d6ad07e7c5a27ea1ca74ceb38986f77a/websockets-15.0.1-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:0c9e74d766f2818bb95f84c25be4dea09841ac0f734d1966f415e4edfc4ef1c3", size = 173109, upload-time = "2025-03-05T20:03:17.769Z" },
+ { url = "https://files.pythonhosted.org/packages/bc/cd/5b887b8585a593073fd92f7c23ecd3985cd2c3175025a91b0d69b0551372/websockets-15.0.1-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:1009ee0c7739c08a0cd59de430d6de452a55e42d6b522de7aa15e6f67db0b8e1", size = 173343, upload-time = "2025-03-05T20:03:19.094Z" },
+ { url = "https://files.pythonhosted.org/packages/fe/ae/d34f7556890341e900a95acf4886833646306269f899d58ad62f588bf410/websockets-15.0.1-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:76d1f20b1c7a2fa82367e04982e708723ba0e7b8d43aa643d3dcd404d74f1475", size = 174599, upload-time = "2025-03-05T20:03:21.1Z" },
+ { url = "https://files.pythonhosted.org/packages/71/e6/5fd43993a87db364ec60fc1d608273a1a465c0caba69176dd160e197ce42/websockets-15.0.1-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f29d80eb9a9263b8d109135351caf568cc3f80b9928bccde535c235de55c22d9", size = 174207, upload-time = "2025-03-05T20:03:23.221Z" },
+ { url = "https://files.pythonhosted.org/packages/2b/fb/c492d6daa5ec067c2988ac80c61359ace5c4c674c532985ac5a123436cec/websockets-15.0.1-pp310-pypy310_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b359ed09954d7c18bbc1680f380c7301f92c60bf924171629c5db97febb12f04", size = 174155, upload-time = "2025-03-05T20:03:25.321Z" },
+ { url = "https://files.pythonhosted.org/packages/68/a1/dcb68430b1d00b698ae7a7e0194433bce4f07ded185f0ee5fb21e2a2e91e/websockets-15.0.1-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:cad21560da69f4ce7658ca2cb83138fb4cf695a2ba3e475e0559e05991aa8122", size = 176884, upload-time = "2025-03-05T20:03:27.934Z" },
+ { url = "https://files.pythonhosted.org/packages/fa/a8/5b41e0da817d64113292ab1f8247140aac61cbf6cfd085d6a0fa77f4984f/websockets-15.0.1-py3-none-any.whl", hash = "sha256:f7a866fbc1e97b5c617ee4116daaa09b722101d4a3c170c787450ba409f9736f", size = 169743, upload-time = "2025-03-05T20:03:39.41Z" },
+]
+
+[[package]]
+name = "werkzeug"
+version = "3.1.5"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "markupsafe" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/5a/70/1469ef1d3542ae7c2c7b72bd5e3a4e6ee69d7978fa8a3af05a38eca5becf/werkzeug-3.1.5.tar.gz", hash = "sha256:6a548b0e88955dd07ccb25539d7d0cc97417ee9e179677d22c7041c8f078ce67", size = 864754, upload-time = "2026-01-08T17:49:23.247Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/ad/e4/8d97cca767bcc1be76d16fb76951608305561c6e056811587f36cb1316a8/werkzeug-3.1.5-py3-none-any.whl", hash = "sha256:5111e36e91086ece91f93268bb39b4a35c1e6f1feac762c9c822ded0a4e322dc", size = 225025, upload-time = "2026-01-08T17:49:21.859Z" },
+]
+
+[[package]]
+name = "wheel"
+version = "0.46.3"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "packaging" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/89/24/a2eb353a6edac9a0303977c4cb048134959dd2a51b48a269dfc9dde00c8a/wheel-0.46.3.tar.gz", hash = "sha256:e3e79874b07d776c40bd6033f8ddf76a7dad46a7b8aa1b2787a83083519a1803", size = 60605, upload-time = "2026-01-22T12:39:49.136Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/87/22/b76d483683216dde3d67cba61fb2444be8d5be289bf628c13fc0fd90e5f9/wheel-0.46.3-py3-none-any.whl", hash = "sha256:4b399d56c9d9338230118d705d9737a2a468ccca63d5e813e2a4fc7815d8bc4d", size = 30557, upload-time = "2026-01-22T12:39:48.099Z" },
+]
+
+[[package]]
+name = "win32-setctime"
+version = "1.2.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/b3/8f/705086c9d734d3b663af0e9bb3d4de6578d08f46b1b101c2442fd9aecaa2/win32_setctime-1.2.0.tar.gz", hash = "sha256:ae1fdf948f5640aae05c511ade119313fb6a30d7eabe25fef9764dca5873c4c0", size = 4867, upload-time = "2024-12-07T15:28:28.314Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/e1/07/c6fe3ad3e685340704d314d765b7912993bcb8dc198f0e7a89382d37974b/win32_setctime-1.2.0-py3-none-any.whl", hash = "sha256:95d644c4e708aba81dc3704a116d8cbc974d70b3bdb8be1d150e36be6e9d1390", size = 4083, upload-time = "2024-12-07T15:28:26.465Z" },
+]
+
+[[package]]
+name = "wordsegment"
+version = "1.3.1"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/64/68/08112f4c2888f41520e54e2d0b22dcec5adb28cddf4eeca344eb9da04177/wordsegment-1.3.1.tar.gz", hash = "sha256:3dcc7cd1e9bba3f3ffe6a0e54d98377bc502fc34e9e9d8c8199ac5636924f023", size = 4828756, upload-time = "2018-07-07T03:51:29.142Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/cf/6c/e6f4734d6f7d28305f52ec81377d7ce7d1856b97b814278e9960183235ad/wordsegment-1.3.1-py2.py3-none-any.whl", hash = "sha256:dd10e32fdb890079532ddffc1d179f839627af8345ecf52b84627a536449648d", size = 4827997, upload-time = "2018-07-07T03:51:19.955Z" },
+]
+
+[[package]]
+name = "x-transformers"
+version = "2.16.1"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "einops" },
+ { name = "einx" },
+ { name = "loguru" },
+ { name = "packaging" },
+ { name = "torch", version = "2.9.1", source = { registry = "https://download.pytorch.org/whl/cpu" }, marker = "(platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu') or (platform_machine == 'aarch64' and sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cpu') or (platform_machine == 'arm64' and sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu') or (platform_machine != 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine != 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine != 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine != 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'aarch64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'aarch64' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "torch", version = "2.9.1+cpu", source = { registry = "https://download.pytorch.org/whl/cpu" }, marker = "(platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'aarch64' and platform_machine != 'arm64' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'arm64' and sys_platform == 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and sys_platform != 'linux' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine == 'aarch64' and sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'aarch64' and sys_platform == 'darwin' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'aarch64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'arm64' and sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine == 'arm64' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'aarch64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (platform_machine != 'aarch64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'aarch64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (platform_machine != 'aarch64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (platform_machine != 'aarch64' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'darwin' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'linux' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (sys_platform == 'linux' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'linux' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'linux' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (sys_platform == 'linux' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (sys_platform == 'linux' and extra != 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "torch", version = "2.9.1+cu129", source = { registry = "https://download.pytorch.org/whl/cu129" }, marker = "(sys_platform != 'darwin' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "torch", version = "2.9.1+rocm6.4", source = { registry = "https://download.pytorch.org/whl/rocm6.4" }, marker = "(extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra != 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "torch", version = "2.10.0", source = { registry = "https://pypi.org/simple" }, marker = "(extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra != 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu126' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra != 'extra-15-gpt-sovits-meta-mlx' and extra != 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "torch", version = "2.10.0+cu126", source = { registry = "https://download.pytorch.org/whl/cu126" }, marker = "extra == 'extra-15-gpt-sovits-meta-cu126' or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu128') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+ { name = "torch", version = "2.10.0+cu128", source = { registry = "https://download.pytorch.org/whl/cu128" }, marker = "extra == 'extra-15-gpt-sovits-meta-cu128' or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra == 'extra-15-gpt-sovits-meta-cu126') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cu126' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-mlx' and extra == 'extra-15-gpt-sovits-meta-rocm64') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-mlx') or (extra == 'extra-15-gpt-sovits-meta-cpu' and extra != 'extra-15-gpt-sovits-meta-cu128' and extra == 'extra-15-gpt-sovits-meta-rocm64')" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/b5/8b/6b4fd627884f19b484b1bbf316beeb44d2ae7874d5e387efd3041ea2243f/x_transformers-2.16.1.tar.gz", hash = "sha256:50f73b36c9aea2499a4b95145f44611bfe3887397377425cf1c7b6c5d18578cb", size = 39385297, upload-time = "2026-02-12T16:26:20.319Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/dc/e2/a670ec1c05520617e270b9b3e89400cd6b2fee54052f4191beecf6ae12d7/x_transformers-2.16.1-py3-none-any.whl", hash = "sha256:24c5299d295bd728a0e5543b94354d5d7a02e36143a46ecc3c14fed4976b0e27", size = 102702, upload-time = "2026-02-12T16:26:18.226Z" },
+]
+
+[[package]]
+name = "yarl"
+version = "1.22.0"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "idna" },
+ { name = "multidict" },
+ { name = "propcache" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/57/63/0c6ebca57330cd313f6102b16dd57ffaf3ec4c83403dcb45dbd15c6f3ea1/yarl-1.22.0.tar.gz", hash = "sha256:bebf8557577d4401ba8bd9ff33906f1376c877aa78d1fe216ad01b4d6745af71", size = 187169, upload-time = "2025-10-06T14:12:55.963Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/d1/43/a2204825342f37c337f5edb6637040fa14e365b2fcc2346960201d457579/yarl-1.22.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:c7bd6683587567e5a49ee6e336e0612bec8329be1b7d4c8af5687dcdeb67ee1e", size = 140517, upload-time = "2025-10-06T14:08:42.494Z" },
+ { url = "https://files.pythonhosted.org/packages/44/6f/674f3e6f02266428c56f704cd2501c22f78e8b2eeb23f153117cc86fb28a/yarl-1.22.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:5cdac20da754f3a723cceea5b3448e1a2074866406adeb4ef35b469d089adb8f", size = 93495, upload-time = "2025-10-06T14:08:46.2Z" },
+ { url = "https://files.pythonhosted.org/packages/b8/12/5b274d8a0f30c07b91b2f02cba69152600b47830fcfb465c108880fcee9c/yarl-1.22.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:07a524d84df0c10f41e3ee918846e1974aba4ec017f990dc735aad487a0bdfdf", size = 94400, upload-time = "2025-10-06T14:08:47.855Z" },
+ { url = "https://files.pythonhosted.org/packages/e2/7f/df1b6949b1fa1aa9ff6de6e2631876ad4b73c4437822026e85d8acb56bb1/yarl-1.22.0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:e1b329cb8146d7b736677a2440e422eadd775d1806a81db2d4cded80a48efc1a", size = 347545, upload-time = "2025-10-06T14:08:49.683Z" },
+ { url = "https://files.pythonhosted.org/packages/84/09/f92ed93bd6cd77872ab6c3462df45ca45cd058d8f1d0c9b4f54c1704429f/yarl-1.22.0-cp310-cp310-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:75976c6945d85dbb9ee6308cd7ff7b1fb9409380c82d6119bd778d8fcfe2931c", size = 319598, upload-time = "2025-10-06T14:08:51.215Z" },
+ { url = "https://files.pythonhosted.org/packages/c3/97/ac3f3feae7d522cf7ccec3d340bb0b2b61c56cb9767923df62a135092c6b/yarl-1.22.0-cp310-cp310-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:80ddf7a5f8c86cb3eb4bc9028b07bbbf1f08a96c5c0bc1244be5e8fefcb94147", size = 363893, upload-time = "2025-10-06T14:08:53.144Z" },
+ { url = "https://files.pythonhosted.org/packages/06/49/f3219097403b9c84a4d079b1d7bda62dd9b86d0d6e4428c02d46ab2c77fc/yarl-1.22.0-cp310-cp310-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:d332fc2e3c94dad927f2112395772a4e4fedbcf8f80efc21ed7cdfae4d574fdb", size = 371240, upload-time = "2025-10-06T14:08:55.036Z" },
+ { url = "https://files.pythonhosted.org/packages/35/9f/06b765d45c0e44e8ecf0fe15c9eacbbde342bb5b7561c46944f107bfb6c3/yarl-1.22.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:0cf71bf877efeac18b38d3930594c0948c82b64547c1cf420ba48722fe5509f6", size = 346965, upload-time = "2025-10-06T14:08:56.722Z" },
+ { url = "https://files.pythonhosted.org/packages/c5/69/599e7cea8d0fcb1694323b0db0dda317fa3162f7b90166faddecf532166f/yarl-1.22.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:663e1cadaddae26be034a6ab6072449a8426ddb03d500f43daf952b74553bba0", size = 342026, upload-time = "2025-10-06T14:08:58.563Z" },
+ { url = "https://files.pythonhosted.org/packages/95/6f/9dfd12c8bc90fea9eab39832ee32ea48f8e53d1256252a77b710c065c89f/yarl-1.22.0-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:6dcbb0829c671f305be48a7227918cfcd11276c2d637a8033a99a02b67bf9eda", size = 335637, upload-time = "2025-10-06T14:09:00.506Z" },
+ { url = "https://files.pythonhosted.org/packages/57/2e/34c5b4eb9b07e16e873db5b182c71e5f06f9b5af388cdaa97736d79dd9a6/yarl-1.22.0-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:f0d97c18dfd9a9af4490631905a3f131a8e4c9e80a39353919e2cfed8f00aedc", size = 359082, upload-time = "2025-10-06T14:09:01.936Z" },
+ { url = "https://files.pythonhosted.org/packages/31/71/fa7e10fb772d273aa1f096ecb8ab8594117822f683bab7d2c5a89914c92a/yarl-1.22.0-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:437840083abe022c978470b942ff832c3940b2ad3734d424b7eaffcd07f76737", size = 357811, upload-time = "2025-10-06T14:09:03.445Z" },
+ { url = "https://files.pythonhosted.org/packages/26/da/11374c04e8e1184a6a03cf9c8f5688d3e5cec83ed6f31ad3481b3207f709/yarl-1.22.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:a899cbd98dce6f5d8de1aad31cb712ec0a530abc0a86bd6edaa47c1090138467", size = 351223, upload-time = "2025-10-06T14:09:05.401Z" },
+ { url = "https://files.pythonhosted.org/packages/82/8f/e2d01f161b0c034a30410e375e191a5d27608c1f8693bab1a08b089ca096/yarl-1.22.0-cp310-cp310-win32.whl", hash = "sha256:595697f68bd1f0c1c159fcb97b661fc9c3f5db46498043555d04805430e79bea", size = 82118, upload-time = "2025-10-06T14:09:11.148Z" },
+ { url = "https://files.pythonhosted.org/packages/62/46/94c76196642dbeae634c7a61ba3da88cd77bed875bf6e4a8bed037505aa6/yarl-1.22.0-cp310-cp310-win_amd64.whl", hash = "sha256:cb95a9b1adaa48e41815a55ae740cfda005758104049a640a398120bf02515ca", size = 86852, upload-time = "2025-10-06T14:09:12.958Z" },
+ { url = "https://files.pythonhosted.org/packages/af/af/7df4f179d3b1a6dcb9a4bd2ffbc67642746fcafdb62580e66876ce83fff4/yarl-1.22.0-cp310-cp310-win_arm64.whl", hash = "sha256:b85b982afde6df99ecc996990d4ad7ccbdbb70e2a4ba4de0aecde5922ba98a0b", size = 82012, upload-time = "2025-10-06T14:09:14.664Z" },
+ { url = "https://files.pythonhosted.org/packages/4d/27/5ab13fc84c76a0250afd3d26d5936349a35be56ce5785447d6c423b26d92/yarl-1.22.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:1ab72135b1f2db3fed3997d7e7dc1b80573c67138023852b6efb336a5eae6511", size = 141607, upload-time = "2025-10-06T14:09:16.298Z" },
+ { url = "https://files.pythonhosted.org/packages/6a/a1/d065d51d02dc02ce81501d476b9ed2229d9a990818332242a882d5d60340/yarl-1.22.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:669930400e375570189492dc8d8341301578e8493aec04aebc20d4717f899dd6", size = 94027, upload-time = "2025-10-06T14:09:17.786Z" },
+ { url = "https://files.pythonhosted.org/packages/c1/da/8da9f6a53f67b5106ffe902c6fa0164e10398d4e150d85838b82f424072a/yarl-1.22.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:792a2af6d58177ef7c19cbf0097aba92ca1b9cb3ffdd9c7470e156c8f9b5e028", size = 94963, upload-time = "2025-10-06T14:09:19.662Z" },
+ { url = "https://files.pythonhosted.org/packages/68/fe/2c1f674960c376e29cb0bec1249b117d11738db92a6ccc4a530b972648db/yarl-1.22.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:3ea66b1c11c9150f1372f69afb6b8116f2dd7286f38e14ea71a44eee9ec51b9d", size = 368406, upload-time = "2025-10-06T14:09:21.402Z" },
+ { url = "https://files.pythonhosted.org/packages/95/26/812a540e1c3c6418fec60e9bbd38e871eaba9545e94fa5eff8f4a8e28e1e/yarl-1.22.0-cp311-cp311-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:3e2daa88dc91870215961e96a039ec73e4937da13cf77ce17f9cad0c18df3503", size = 336581, upload-time = "2025-10-06T14:09:22.98Z" },
+ { url = "https://files.pythonhosted.org/packages/0b/f5/5777b19e26fdf98563985e481f8be3d8a39f8734147a6ebf459d0dab5a6b/yarl-1.22.0-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:ba440ae430c00eee41509353628600212112cd5018d5def7e9b05ea7ac34eb65", size = 388924, upload-time = "2025-10-06T14:09:24.655Z" },
+ { url = "https://files.pythonhosted.org/packages/86/08/24bd2477bd59c0bbd994fe1d93b126e0472e4e3df5a96a277b0a55309e89/yarl-1.22.0-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:e6438cc8f23a9c1478633d216b16104a586b9761db62bfacb6425bac0a36679e", size = 392890, upload-time = "2025-10-06T14:09:26.617Z" },
+ { url = "https://files.pythonhosted.org/packages/46/00/71b90ed48e895667ecfb1eaab27c1523ee2fa217433ed77a73b13205ca4b/yarl-1.22.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:4c52a6e78aef5cf47a98ef8e934755abf53953379b7d53e68b15ff4420e6683d", size = 365819, upload-time = "2025-10-06T14:09:28.544Z" },
+ { url = "https://files.pythonhosted.org/packages/30/2d/f715501cae832651d3282387c6a9236cd26bd00d0ff1e404b3dc52447884/yarl-1.22.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:3b06bcadaac49c70f4c88af4ffcfbe3dc155aab3163e75777818092478bcbbe7", size = 363601, upload-time = "2025-10-06T14:09:30.568Z" },
+ { url = "https://files.pythonhosted.org/packages/f8/f9/a678c992d78e394e7126ee0b0e4e71bd2775e4334d00a9278c06a6cce96a/yarl-1.22.0-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:6944b2dc72c4d7f7052683487e3677456050ff77fcf5e6204e98caf785ad1967", size = 358072, upload-time = "2025-10-06T14:09:32.528Z" },
+ { url = "https://files.pythonhosted.org/packages/2c/d1/b49454411a60edb6fefdcad4f8e6dbba7d8019e3a508a1c5836cba6d0781/yarl-1.22.0-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:d5372ca1df0f91a86b047d1277c2aaf1edb32d78bbcefffc81b40ffd18f027ed", size = 385311, upload-time = "2025-10-06T14:09:34.634Z" },
+ { url = "https://files.pythonhosted.org/packages/87/e5/40d7a94debb8448c7771a916d1861d6609dddf7958dc381117e7ba36d9e8/yarl-1.22.0-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:51af598701f5299012b8416486b40fceef8c26fc87dc6d7d1f6fc30609ea0aa6", size = 381094, upload-time = "2025-10-06T14:09:36.268Z" },
+ { url = "https://files.pythonhosted.org/packages/35/d8/611cc282502381ad855448643e1ad0538957fc82ae83dfe7762c14069e14/yarl-1.22.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:b266bd01fedeffeeac01a79ae181719ff848a5a13ce10075adbefc8f1daee70e", size = 370944, upload-time = "2025-10-06T14:09:37.872Z" },
+ { url = "https://files.pythonhosted.org/packages/2d/df/fadd00fb1c90e1a5a8bd731fa3d3de2e165e5a3666a095b04e31b04d9cb6/yarl-1.22.0-cp311-cp311-win32.whl", hash = "sha256:a9b1ba5610a4e20f655258d5a1fdc7ebe3d837bb0e45b581398b99eb98b1f5ca", size = 81804, upload-time = "2025-10-06T14:09:39.359Z" },
+ { url = "https://files.pythonhosted.org/packages/b5/f7/149bb6f45f267cb5c074ac40c01c6b3ea6d8a620d34b337f6321928a1b4d/yarl-1.22.0-cp311-cp311-win_amd64.whl", hash = "sha256:078278b9b0b11568937d9509b589ee83ef98ed6d561dfe2020e24a9fd08eaa2b", size = 86858, upload-time = "2025-10-06T14:09:41.068Z" },
+ { url = "https://files.pythonhosted.org/packages/2b/13/88b78b93ad3f2f0b78e13bfaaa24d11cbc746e93fe76d8c06bf139615646/yarl-1.22.0-cp311-cp311-win_arm64.whl", hash = "sha256:b6a6f620cfe13ccec221fa312139135166e47ae169f8253f72a0abc0dae94376", size = 81637, upload-time = "2025-10-06T14:09:42.712Z" },
+ { url = "https://files.pythonhosted.org/packages/75/ff/46736024fee3429b80a165a732e38e5d5a238721e634ab41b040d49f8738/yarl-1.22.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:e340382d1afa5d32b892b3ff062436d592ec3d692aeea3bef3a5cfe11bbf8c6f", size = 142000, upload-time = "2025-10-06T14:09:44.631Z" },
+ { url = "https://files.pythonhosted.org/packages/5a/9a/b312ed670df903145598914770eb12de1bac44599549b3360acc96878df8/yarl-1.22.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:f1e09112a2c31ffe8d80be1b0988fa6a18c5d5cad92a9ffbb1c04c91bfe52ad2", size = 94338, upload-time = "2025-10-06T14:09:46.372Z" },
+ { url = "https://files.pythonhosted.org/packages/ba/f5/0601483296f09c3c65e303d60c070a5c19fcdbc72daa061e96170785bc7d/yarl-1.22.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:939fe60db294c786f6b7c2d2e121576628468f65453d86b0fe36cb52f987bd74", size = 94909, upload-time = "2025-10-06T14:09:48.648Z" },
+ { url = "https://files.pythonhosted.org/packages/60/41/9a1fe0b73dbcefce72e46cf149b0e0a67612d60bfc90fb59c2b2efdfbd86/yarl-1.22.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:e1651bf8e0398574646744c1885a41198eba53dc8a9312b954073f845c90a8df", size = 372940, upload-time = "2025-10-06T14:09:50.089Z" },
+ { url = "https://files.pythonhosted.org/packages/17/7a/795cb6dfee561961c30b800f0ed616b923a2ec6258b5def2a00bf8231334/yarl-1.22.0-cp312-cp312-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:b8a0588521a26bf92a57a1705b77b8b59044cdceccac7151bd8d229e66b8dedb", size = 345825, upload-time = "2025-10-06T14:09:52.142Z" },
+ { url = "https://files.pythonhosted.org/packages/d7/93/a58f4d596d2be2ae7bab1a5846c4d270b894958845753b2c606d666744d3/yarl-1.22.0-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:42188e6a615c1a75bcaa6e150c3fe8f3e8680471a6b10150c5f7e83f47cc34d2", size = 386705, upload-time = "2025-10-06T14:09:54.128Z" },
+ { url = "https://files.pythonhosted.org/packages/61/92/682279d0e099d0e14d7fd2e176bd04f48de1484f56546a3e1313cd6c8e7c/yarl-1.22.0-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:f6d2cb59377d99718913ad9a151030d6f83ef420a2b8f521d94609ecc106ee82", size = 396518, upload-time = "2025-10-06T14:09:55.762Z" },
+ { url = "https://files.pythonhosted.org/packages/db/0f/0d52c98b8a885aeda831224b78f3be7ec2e1aa4a62091f9f9188c3c65b56/yarl-1.22.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:50678a3b71c751d58d7908edc96d332af328839eea883bb554a43f539101277a", size = 377267, upload-time = "2025-10-06T14:09:57.958Z" },
+ { url = "https://files.pythonhosted.org/packages/22/42/d2685e35908cbeaa6532c1fc73e89e7f2efb5d8a7df3959ea8e37177c5a3/yarl-1.22.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:1e8fbaa7cec507aa24ea27a01456e8dd4b6fab829059b69844bd348f2d467124", size = 365797, upload-time = "2025-10-06T14:09:59.527Z" },
+ { url = "https://files.pythonhosted.org/packages/a2/83/cf8c7bcc6355631762f7d8bdab920ad09b82efa6b722999dfb05afa6cfac/yarl-1.22.0-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:433885ab5431bc3d3d4f2f9bd15bfa1614c522b0f1405d62c4f926ccd69d04fa", size = 365535, upload-time = "2025-10-06T14:10:01.139Z" },
+ { url = "https://files.pythonhosted.org/packages/25/e1/5302ff9b28f0c59cac913b91fe3f16c59a033887e57ce9ca5d41a3a94737/yarl-1.22.0-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:b790b39c7e9a4192dc2e201a282109ed2985a1ddbd5ac08dc56d0e121400a8f7", size = 382324, upload-time = "2025-10-06T14:10:02.756Z" },
+ { url = "https://files.pythonhosted.org/packages/bf/cd/4617eb60f032f19ae3a688dc990d8f0d89ee0ea378b61cac81ede3e52fae/yarl-1.22.0-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:31f0b53913220599446872d757257be5898019c85e7971599065bc55065dc99d", size = 383803, upload-time = "2025-10-06T14:10:04.552Z" },
+ { url = "https://files.pythonhosted.org/packages/59/65/afc6e62bb506a319ea67b694551dab4a7e6fb7bf604e9bd9f3e11d575fec/yarl-1.22.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:a49370e8f711daec68d09b821a34e1167792ee2d24d405cbc2387be4f158b520", size = 374220, upload-time = "2025-10-06T14:10:06.489Z" },
+ { url = "https://files.pythonhosted.org/packages/e7/3d/68bf18d50dc674b942daec86a9ba922d3113d8399b0e52b9897530442da2/yarl-1.22.0-cp312-cp312-win32.whl", hash = "sha256:70dfd4f241c04bd9239d53b17f11e6ab672b9f1420364af63e8531198e3f5fe8", size = 81589, upload-time = "2025-10-06T14:10:09.254Z" },
+ { url = "https://files.pythonhosted.org/packages/c8/9a/6ad1a9b37c2f72874f93e691b2e7ecb6137fb2b899983125db4204e47575/yarl-1.22.0-cp312-cp312-win_amd64.whl", hash = "sha256:8884d8b332a5e9b88e23f60bb166890009429391864c685e17bd73a9eda9105c", size = 87213, upload-time = "2025-10-06T14:10:11.369Z" },
+ { url = "https://files.pythonhosted.org/packages/44/c5/c21b562d1680a77634d748e30c653c3ca918beb35555cff24986fff54598/yarl-1.22.0-cp312-cp312-win_arm64.whl", hash = "sha256:ea70f61a47f3cc93bdf8b2f368ed359ef02a01ca6393916bc8ff877427181e74", size = 81330, upload-time = "2025-10-06T14:10:13.112Z" },
+ { url = "https://files.pythonhosted.org/packages/ea/f3/d67de7260456ee105dc1d162d43a019ecad6b91e2f51809d6cddaa56690e/yarl-1.22.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:8dee9c25c74997f6a750cd317b8ca63545169c098faee42c84aa5e506c819b53", size = 139980, upload-time = "2025-10-06T14:10:14.601Z" },
+ { url = "https://files.pythonhosted.org/packages/01/88/04d98af0b47e0ef42597b9b28863b9060bb515524da0a65d5f4db160b2d5/yarl-1.22.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:01e73b85a5434f89fc4fe27dcda2aff08ddf35e4d47bbbea3bdcd25321af538a", size = 93424, upload-time = "2025-10-06T14:10:16.115Z" },
+ { url = "https://files.pythonhosted.org/packages/18/91/3274b215fd8442a03975ce6bee5fe6aa57a8326b29b9d3d56234a1dca244/yarl-1.22.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:22965c2af250d20c873cdbee8ff958fb809940aeb2e74ba5f20aaf6b7ac8c70c", size = 93821, upload-time = "2025-10-06T14:10:17.993Z" },
+ { url = "https://files.pythonhosted.org/packages/61/3a/caf4e25036db0f2da4ca22a353dfeb3c9d3c95d2761ebe9b14df8fc16eb0/yarl-1.22.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:b4f15793aa49793ec8d1c708ab7f9eded1aa72edc5174cae703651555ed1b601", size = 373243, upload-time = "2025-10-06T14:10:19.44Z" },
+ { url = "https://files.pythonhosted.org/packages/6e/9e/51a77ac7516e8e7803b06e01f74e78649c24ee1021eca3d6a739cb6ea49c/yarl-1.22.0-cp313-cp313-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:e5542339dcf2747135c5c85f68680353d5cb9ffd741c0f2e8d832d054d41f35a", size = 342361, upload-time = "2025-10-06T14:10:21.124Z" },
+ { url = "https://files.pythonhosted.org/packages/d4/f8/33b92454789dde8407f156c00303e9a891f1f51a0330b0fad7c909f87692/yarl-1.22.0-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:5c401e05ad47a75869c3ab3e35137f8468b846770587e70d71e11de797d113df", size = 387036, upload-time = "2025-10-06T14:10:22.902Z" },
+ { url = "https://files.pythonhosted.org/packages/d9/9a/c5db84ea024f76838220280f732970aa4ee154015d7f5c1bfb60a267af6f/yarl-1.22.0-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:243dda95d901c733f5b59214d28b0120893d91777cb8aa043e6ef059d3cddfe2", size = 397671, upload-time = "2025-10-06T14:10:24.523Z" },
+ { url = "https://files.pythonhosted.org/packages/11/c9/cd8538dc2e7727095e0c1d867bad1e40c98f37763e6d995c1939f5fdc7b1/yarl-1.22.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:bec03d0d388060058f5d291a813f21c011041938a441c593374da6077fe21b1b", size = 377059, upload-time = "2025-10-06T14:10:26.406Z" },
+ { url = "https://files.pythonhosted.org/packages/a1/b9/ab437b261702ced75122ed78a876a6dec0a1b0f5e17a4ac7a9a2482d8abe/yarl-1.22.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:b0748275abb8c1e1e09301ee3cf90c8a99678a4e92e4373705f2a2570d581273", size = 365356, upload-time = "2025-10-06T14:10:28.461Z" },
+ { url = "https://files.pythonhosted.org/packages/b2/9d/8e1ae6d1d008a9567877b08f0ce4077a29974c04c062dabdb923ed98e6fe/yarl-1.22.0-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:47fdb18187e2a4e18fda2c25c05d8251a9e4a521edaed757fef033e7d8498d9a", size = 361331, upload-time = "2025-10-06T14:10:30.541Z" },
+ { url = "https://files.pythonhosted.org/packages/ca/5a/09b7be3905962f145b73beb468cdd53db8aa171cf18c80400a54c5b82846/yarl-1.22.0-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:c7044802eec4524fde550afc28edda0dd5784c4c45f0be151a2d3ba017daca7d", size = 382590, upload-time = "2025-10-06T14:10:33.352Z" },
+ { url = "https://files.pythonhosted.org/packages/aa/7f/59ec509abf90eda5048b0bc3e2d7b5099dffdb3e6b127019895ab9d5ef44/yarl-1.22.0-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:139718f35149ff544caba20fce6e8a2f71f1e39b92c700d8438a0b1d2a631a02", size = 385316, upload-time = "2025-10-06T14:10:35.034Z" },
+ { url = "https://files.pythonhosted.org/packages/e5/84/891158426bc8036bfdfd862fabd0e0fa25df4176ec793e447f4b85cf1be4/yarl-1.22.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:e1b51bebd221006d3d2f95fbe124b22b247136647ae5dcc8c7acafba66e5ee67", size = 374431, upload-time = "2025-10-06T14:10:37.76Z" },
+ { url = "https://files.pythonhosted.org/packages/bb/49/03da1580665baa8bef5e8ed34c6df2c2aca0a2f28bf397ed238cc1bbc6f2/yarl-1.22.0-cp313-cp313-win32.whl", hash = "sha256:d3e32536234a95f513bd374e93d717cf6b2231a791758de6c509e3653f234c95", size = 81555, upload-time = "2025-10-06T14:10:39.649Z" },
+ { url = "https://files.pythonhosted.org/packages/9a/ee/450914ae11b419eadd067c6183ae08381cfdfcb9798b90b2b713bbebddda/yarl-1.22.0-cp313-cp313-win_amd64.whl", hash = "sha256:47743b82b76d89a1d20b83e60d5c20314cbd5ba2befc9cda8f28300c4a08ed4d", size = 86965, upload-time = "2025-10-06T14:10:41.313Z" },
+ { url = "https://files.pythonhosted.org/packages/98/4d/264a01eae03b6cf629ad69bae94e3b0e5344741e929073678e84bf7a3e3b/yarl-1.22.0-cp313-cp313-win_arm64.whl", hash = "sha256:5d0fcda9608875f7d052eff120c7a5da474a6796fe4d83e152e0e4d42f6d1a9b", size = 81205, upload-time = "2025-10-06T14:10:43.167Z" },
+ { url = "https://files.pythonhosted.org/packages/88/fc/6908f062a2f77b5f9f6d69cecb1747260831ff206adcbc5b510aff88df91/yarl-1.22.0-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:719ae08b6972befcba4310e49edb1161a88cdd331e3a694b84466bd938a6ab10", size = 146209, upload-time = "2025-10-06T14:10:44.643Z" },
+ { url = "https://files.pythonhosted.org/packages/65/47/76594ae8eab26210b4867be6f49129861ad33da1f1ebdf7051e98492bf62/yarl-1.22.0-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:47d8a5c446df1c4db9d21b49619ffdba90e77c89ec6e283f453856c74b50b9e3", size = 95966, upload-time = "2025-10-06T14:10:46.554Z" },
+ { url = "https://files.pythonhosted.org/packages/ab/ce/05e9828a49271ba6b5b038b15b3934e996980dd78abdfeb52a04cfb9467e/yarl-1.22.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:cfebc0ac8333520d2d0423cbbe43ae43c8838862ddb898f5ca68565e395516e9", size = 97312, upload-time = "2025-10-06T14:10:48.007Z" },
+ { url = "https://files.pythonhosted.org/packages/d1/c5/7dffad5e4f2265b29c9d7ec869c369e4223166e4f9206fc2243ee9eea727/yarl-1.22.0-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:4398557cbf484207df000309235979c79c4356518fd5c99158c7d38203c4da4f", size = 361967, upload-time = "2025-10-06T14:10:49.997Z" },
+ { url = "https://files.pythonhosted.org/packages/50/b2/375b933c93a54bff7fc041e1a6ad2c0f6f733ffb0c6e642ce56ee3b39970/yarl-1.22.0-cp313-cp313t-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:2ca6fd72a8cd803be290d42f2dec5cdcd5299eeb93c2d929bf060ad9efaf5de0", size = 323949, upload-time = "2025-10-06T14:10:52.004Z" },
+ { url = "https://files.pythonhosted.org/packages/66/50/bfc2a29a1d78644c5a7220ce2f304f38248dc94124a326794e677634b6cf/yarl-1.22.0-cp313-cp313t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:ca1f59c4e1ab6e72f0a23c13fca5430f889634166be85dbf1013683e49e3278e", size = 361818, upload-time = "2025-10-06T14:10:54.078Z" },
+ { url = "https://files.pythonhosted.org/packages/46/96/f3941a46af7d5d0f0498f86d71275696800ddcdd20426298e572b19b91ff/yarl-1.22.0-cp313-cp313t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:6c5010a52015e7c70f86eb967db0f37f3c8bd503a695a49f8d45700144667708", size = 372626, upload-time = "2025-10-06T14:10:55.767Z" },
+ { url = "https://files.pythonhosted.org/packages/c1/42/8b27c83bb875cd89448e42cd627e0fb971fa1675c9ec546393d18826cb50/yarl-1.22.0-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:9d7672ecf7557476642c88497c2f8d8542f8e36596e928e9bcba0e42e1e7d71f", size = 341129, upload-time = "2025-10-06T14:10:57.985Z" },
+ { url = "https://files.pythonhosted.org/packages/49/36/99ca3122201b382a3cf7cc937b95235b0ac944f7e9f2d5331d50821ed352/yarl-1.22.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:3b7c88eeef021579d600e50363e0b6ee4f7f6f728cd3486b9d0f3ee7b946398d", size = 346776, upload-time = "2025-10-06T14:10:59.633Z" },
+ { url = "https://files.pythonhosted.org/packages/85/b4/47328bf996acd01a4c16ef9dcd2f59c969f495073616586f78cd5f2efb99/yarl-1.22.0-cp313-cp313t-musllinux_1_2_armv7l.whl", hash = "sha256:f4afb5c34f2c6fecdcc182dfcfc6af6cccf1aa923eed4d6a12e9d96904e1a0d8", size = 334879, upload-time = "2025-10-06T14:11:01.454Z" },
+ { url = "https://files.pythonhosted.org/packages/c2/ad/b77d7b3f14a4283bffb8e92c6026496f6de49751c2f97d4352242bba3990/yarl-1.22.0-cp313-cp313t-musllinux_1_2_ppc64le.whl", hash = "sha256:59c189e3e99a59cf8d83cbb31d4db02d66cda5a1a4374e8a012b51255341abf5", size = 350996, upload-time = "2025-10-06T14:11:03.452Z" },
+ { url = "https://files.pythonhosted.org/packages/81/c8/06e1d69295792ba54d556f06686cbd6a7ce39c22307100e3fb4a2c0b0a1d/yarl-1.22.0-cp313-cp313t-musllinux_1_2_s390x.whl", hash = "sha256:5a3bf7f62a289fa90f1990422dc8dff5a458469ea71d1624585ec3a4c8d6960f", size = 356047, upload-time = "2025-10-06T14:11:05.115Z" },
+ { url = "https://files.pythonhosted.org/packages/4b/b8/4c0e9e9f597074b208d18cef227d83aac36184bfbc6eab204ea55783dbc5/yarl-1.22.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:de6b9a04c606978fdfe72666fa216ffcf2d1a9f6a381058d4378f8d7b1e5de62", size = 342947, upload-time = "2025-10-06T14:11:08.137Z" },
+ { url = "https://files.pythonhosted.org/packages/e0/e5/11f140a58bf4c6ad7aca69a892bff0ee638c31bea4206748fc0df4ebcb3a/yarl-1.22.0-cp313-cp313t-win32.whl", hash = "sha256:1834bb90991cc2999f10f97f5f01317f99b143284766d197e43cd5b45eb18d03", size = 86943, upload-time = "2025-10-06T14:11:10.284Z" },
+ { url = "https://files.pythonhosted.org/packages/31/74/8b74bae38ed7fe6793d0c15a0c8207bbb819cf287788459e5ed230996cdd/yarl-1.22.0-cp313-cp313t-win_amd64.whl", hash = "sha256:ff86011bd159a9d2dfc89c34cfd8aff12875980e3bd6a39ff097887520e60249", size = 93715, upload-time = "2025-10-06T14:11:11.739Z" },
+ { url = "https://files.pythonhosted.org/packages/69/66/991858aa4b5892d57aef7ee1ba6b4d01ec3b7eb3060795d34090a3ca3278/yarl-1.22.0-cp313-cp313t-win_arm64.whl", hash = "sha256:7861058d0582b847bc4e3a4a4c46828a410bca738673f35a29ba3ca5db0b473b", size = 83857, upload-time = "2025-10-06T14:11:13.586Z" },
+ { url = "https://files.pythonhosted.org/packages/73/ae/b48f95715333080afb75a4504487cbe142cae1268afc482d06692d605ae6/yarl-1.22.0-py3-none-any.whl", hash = "sha256:1380560bdba02b6b6c90de54133c81c9f2a453dee9912fe58c1dcced1edb7cff", size = 46814, upload-time = "2025-10-06T14:12:53.872Z" },
+]
+
+[[package]]
+name = "zipp"
+version = "3.23.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/e3/02/0f2892c661036d50ede074e376733dca2ae7c6eb617489437771209d4180/zipp-3.23.0.tar.gz", hash = "sha256:a07157588a12518c9d4034df3fbbee09c814741a33ff63c05fa29d26a2404166", size = 25547, upload-time = "2025-06-08T17:06:39.4Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/2e/54/647ade08bf0db230bfea292f893923872fd20be6ac6f53b2b936ba839d75/zipp-3.23.0-py3-none-any.whl", hash = "sha256:071652d6115ed432f5ce1d34c336c0adfd6a884660d1e9712a256d3d3bd4b14e", size = 10276, upload-time = "2025-06-08T17:06:38.034Z" },
+]
diff --git a/webui.py b/webui.py
index 9c5ddd07..41ee1da7 100644
--- a/webui.py
+++ b/webui.py
@@ -1,11 +1,13 @@
import os
import sys
+
os.environ["version"] = version = "v2Pro"
now_dir = os.getcwd()
sys.path.insert(0, now_dir)
import warnings
+
warnings.filterwarnings("ignore")
import json
import platform
@@ -16,6 +18,7 @@ import psutil
import torch
import yaml
+
os.environ["TORCH_DISTRIBUTED_DEBUG"] = "INFO"
torch.manual_seed(233333)
tmp = os.path.join(now_dir, "TEMP")
@@ -25,7 +28,7 @@ if os.path.exists(tmp):
for name in os.listdir(tmp):
if name == "jieba.cache":
continue
- path = "%s/%s" % (tmp, name)
+ path = f"{tmp}/{name}"
delete = os.remove if os.path.isfile(path) else shutil.rmtree
try:
delete(path)
@@ -35,23 +38,22 @@ if os.path.exists(tmp):
import site
import traceback
+
site_packages_roots = []
for path in site.getsitepackages():
if "packages" in path:
site_packages_roots.append(path)
if site_packages_roots == []:
- site_packages_roots = ["%s/runtime/Lib/site-packages" % now_dir]
+ site_packages_roots = [f"{now_dir}/runtime/Lib/site-packages"]
# os.environ["OPENBLAS_NUM_THREADS"] = "4"
os.environ["no_proxy"] = "localhost, 127.0.0.1, ::1"
os.environ["all_proxy"] = ""
for site_packages_root in site_packages_roots:
if os.path.exists(site_packages_root):
try:
- with open("%s/users.pth" % (site_packages_root), "w") as f:
+ with open(f"{site_packages_root}/users.pth", "w") as f:
f.write(
- # "%s\n%s/runtime\n%s/tools\n%s/tools/asr\n%s/GPT_SoVITS\n%s/tools/uvr5"
- "%s\n%s/GPT_SoVITS/BigVGAN\n%s/tools\n%s/tools/asr\n%s/GPT_SoVITS\n%s/tools/uvr5"
- % (now_dir, now_dir, now_dir, now_dir, now_dir, now_dir)
+ f"{now_dir}\n{now_dir}/GPT_SoVITS/BigVGAN\n{now_dir}/gsv_tools\n{now_dir}/gsv_tools/asr\n{now_dir}/GPT_SoVITS\n{now_dir}/gsv_tools/uvr5"
)
break
except PermissionError:
@@ -60,8 +62,9 @@ import shutil
import subprocess
from subprocess import Popen
-from tools.assets import css, js, top_html
-from tools.i18n.i18n import I18nAuto, scan_language_list
+from gsv_tools.assets import css, js, top_html
+from gsv_tools.i18n.i18n import I18nAuto, scan_language_list
+
language = sys.argv[-1] if sys.argv[-1] in scan_language_list() else "Auto"
os.environ["language"] = language
@@ -83,14 +86,16 @@ from config import (
webui_port_subfix,
webui_port_uvr5,
)
-from tools import my_utils
-from tools.my_utils import check_details, check_for_existance
+from gsv_tools import my_utils
+from gsv_tools.my_utils import check_details, check_for_existance
+
os.environ["KMP_DUPLICATE_LIB_OK"] = "TRUE"
# os.environ['PYTORCH_ENABLE_MPS_FALLBACK'] = '1' # 当遇到mps不支持的步骤时使用cpu
import gradio as gr
+
n_cpu = cpu_count()
set_gpu_numbers = GPU_INDEX
@@ -174,7 +179,7 @@ def check_pretrained_is_exist(version):
)
_ = ""
for i in pretrained_model_list:
- if "s2Dv3" not in i and "s2Dv4" not in i and os.path.exists(i) == False:
+ if "s2Dv3" not in i and "s2Dv4" not in i and not os.path.exists(i):
_ += f"\n {i}"
if _:
print("warning: ", i18n("以下模型不存在:") + _)
@@ -182,10 +187,10 @@ def check_pretrained_is_exist(version):
check_pretrained_is_exist(version)
for key in pretrained_sovits_name.keys():
- if os.path.exists(pretrained_sovits_name[key]) == False:
+ if not os.path.exists(pretrained_sovits_name[key]):
pretrained_sovits_name[key] = ""
for key in pretrained_gpt_name.keys():
- if os.path.exists(pretrained_gpt_name[key]) == False:
+ if not os.path.exists(pretrained_gpt_name[key]):
pretrained_gpt_name[key] = ""
from config import (
@@ -197,6 +202,7 @@ from config import (
get_weights_names,
)
+
for root in SoVITS_weight_root + GPT_weight_root:
os.makedirs(root, exist_ok=True)
SoVITS_names, GPT_names = get_weights_names()
@@ -233,7 +239,7 @@ system = platform.system()
def kill_process(pid, process_name=""):
if system == "Windows":
- cmd = "taskkill /t /f /pid %s" % pid
+ cmd = f"taskkill /t /f /pid {pid}"
# os.system(cmd)
subprocess.run(cmd, shell=True, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL)
else:
@@ -272,12 +278,7 @@ def change_label(path_list):
if p_label is None:
check_for_existance([path_list])
path_list = my_utils.clean_path(path_list)
- cmd = '"%s" -s tools/subfix_webui.py --load_list "%s" --webui_port %s --is_share %s' % (
- python_exec,
- path_list,
- webui_port_subfix,
- is_share,
- )
+ cmd = f'"{python_exec}" -s gsv_tools/subfix_webui.py --load_list "{path_list}" --webui_port {webui_port_subfix} --is_share {is_share}'
yield (
process_info(process_name_subfix, "opened"),
{"__type__": "update", "visible": False},
@@ -301,13 +302,7 @@ process_name_uvr5 = i18n("人声分离WebUI")
def change_uvr5():
global p_uvr5
if p_uvr5 is None:
- cmd = '"%s" -s tools/uvr5/webui.py "%s" %s %s %s' % (
- python_exec,
- infer_device,
- is_half,
- webui_port_uvr5,
- is_share,
- )
+ cmd = f'"{python_exec}" -s gsv_tools/uvr5/webui.py "{infer_device}" {is_half} {webui_port_uvr5} {is_share}'
yield (
process_info(process_name_uvr5, "opened"),
{"__type__": "update", "visible": False},
@@ -331,9 +326,9 @@ process_name_tts = i18n("TTS推理WebUI")
def change_tts_inference(bert_path, cnhubert_base_path, gpu_number, gpt_path, sovits_path, batched_infer_enabled):
global p_tts_inference
if batched_infer_enabled:
- cmd = '"%s" -s GPT_SoVITS/inference_webui_fast.py "%s"' % (python_exec, language)
+ cmd = f'"{python_exec}" -s GPT_SoVITS/inference_webui_fast.py "{language}"'
else:
- cmd = '"%s" -s GPT_SoVITS/inference_webui.py "%s"' % (python_exec, language)
+ cmd = f'"{python_exec}" -s GPT_SoVITS/inference_webui.py "{language}"'
# #####v3暂不支持加速推理
# if version=="v3":
# cmd = '"%s" GPT_SoVITS/inference_webui.py "%s"'%(python_exec, language)
@@ -363,7 +358,8 @@ def change_tts_inference(bert_path, cnhubert_base_path, gpu_number, gpt_path, so
)
-from tools.asr.config import asr_dict
+from gsv_tools.asr.config import asr_dict
+
process_name_asr = i18n("语音识别")
@@ -374,7 +370,7 @@ def open_asr(asr_inp_dir, asr_opt_dir, asr_model, asr_model_size, asr_lang, asr_
asr_inp_dir = my_utils.clean_path(asr_inp_dir)
asr_opt_dir = my_utils.clean_path(asr_opt_dir)
check_for_existance([asr_inp_dir])
- cmd = f'"{python_exec}" -s tools/asr/{asr_dict[asr_model]["path"]}'
+ cmd = f'"{python_exec}" -s gsv_tools/asr/{asr_dict[asr_model]["path"]}'
cmd += f' -i "{asr_inp_dir}"'
cmd += f' -o "{asr_opt_dir}"'
cmd += f" -s {asr_model_size}"
@@ -431,15 +427,15 @@ process_name_denoise = i18n("语音降噪")
def open_denoise(denoise_inp_dir, denoise_opt_dir):
global p_denoise
- if p_denoise == None:
+ if p_denoise is None:
denoise_inp_dir = my_utils.clean_path(denoise_inp_dir)
denoise_opt_dir = my_utils.clean_path(denoise_opt_dir)
check_for_existance([denoise_inp_dir])
- cmd = '"%s" -s tools/cmd-denoise.py -i "%s" -o "%s" -p %s' % (
+ cmd = '"{}" -s gsv_tools/cmd-denoise.py -i "{}" -o "{}" -p {}'.format(
python_exec,
denoise_inp_dir,
denoise_opt_dir,
- "float16" if is_half == True else "float32",
+ "float16" if is_half else "float32",
)
yield (
@@ -502,7 +498,7 @@ def open1Ba(
lora_rank,
):
global p_train_SoVITS
- if p_train_SoVITS == None:
+ if p_train_SoVITS is None:
exp_name = exp_name.rstrip(" ")
config_file = (
"GPT_SoVITS/configs/s2.json"
@@ -512,11 +508,11 @@ def open1Ba(
with open(config_file) as f:
data = f.read()
data = json.loads(data)
- s2_dir = "%s/%s" % (exp_root, exp_name)
- os.makedirs("%s/logs_s2_%s" % (s2_dir, version), exist_ok=True)
+ s2_dir = f"{exp_root}/{exp_name}"
+ os.makedirs(f"{s2_dir}/logs_s2_{version}", exist_ok=True)
if check_for_existance([s2_dir], is_train=True):
check_details([s2_dir], is_train=True)
- if is_half == False:
+ if not is_half:
data["train"]["fp16_run"] = False
batch_size = max(1, batch_size // 2)
data["train"]["batch_size"] = batch_size
@@ -535,13 +531,13 @@ def open1Ba(
data["save_weight_dir"] = SoVITS_weight_version2root[version]
data["name"] = exp_name
data["version"] = version
- tmp_config_path = "%s/tmp_s2.json" % tmp
+ tmp_config_path = f"{tmp}/tmp_s2.json"
with open(tmp_config_path, "w") as f:
f.write(json.dumps(data))
if version in ["v1", "v2", "v2Pro", "v2ProPlus"]:
- cmd = '"%s" -s GPT_SoVITS/s2_train.py --config "%s"' % (python_exec, tmp_config_path)
+ cmd = f'"{python_exec}" -s GPT_SoVITS/s2_train.py --config "{tmp_config_path}"'
else:
- cmd = '"%s" -s GPT_SoVITS/s2_train_v3_lora.py --config "%s"' % (python_exec, tmp_config_path)
+ cmd = f'"{python_exec}" -s GPT_SoVITS/s2_train_v3_lora.py --config "{tmp_config_path}"'
yield (
process_info(process_name_sovits, "opened"),
{"__type__": "update", "visible": False},
@@ -599,18 +595,18 @@ def open1Bb(
pretrained_s1,
):
global p_train_GPT
- if p_train_GPT == None:
+ if p_train_GPT is None:
exp_name = exp_name.rstrip(" ")
with open(
"GPT_SoVITS/configs/s1longer.yaml" if version == "v1" else "GPT_SoVITS/configs/s1longer-v2.yaml"
) as f:
data = f.read()
data = yaml.load(data, Loader=yaml.FullLoader)
- s1_dir = "%s/%s" % (exp_root, exp_name)
- os.makedirs("%s/logs_s1" % (s1_dir), exist_ok=True)
+ s1_dir = f"{exp_root}/{exp_name}"
+ os.makedirs(f"{s1_dir}/logs_s1", exist_ok=True)
if check_for_existance([s1_dir], is_train=True):
check_details([s1_dir], is_train=True)
- if is_half == False:
+ if not is_half:
data["train"]["precision"] = "32"
batch_size = max(1, batch_size // 2)
data["train"]["batch_size"] = batch_size
@@ -622,18 +618,18 @@ def open1Bb(
data["train"]["if_dpo"] = if_dpo
data["train"]["half_weights_save_dir"] = GPT_weight_version2root[version]
data["train"]["exp_name"] = exp_name
- data["train_semantic_path"] = "%s/6-name2semantic.tsv" % s1_dir
- data["train_phoneme_path"] = "%s/2-name2text.txt" % s1_dir
- data["output_dir"] = "%s/logs_s1_%s" % (s1_dir, version)
+ data["train_semantic_path"] = f"{s1_dir}/6-name2semantic.tsv"
+ data["train_phoneme_path"] = f"{s1_dir}/2-name2text.txt"
+ data["output_dir"] = f"{s1_dir}/logs_s1_{version}"
# data["version"]=version
os.environ["_CUDA_VISIBLE_DEVICES"] = str(fix_gpu_numbers(gpu_numbers.replace("-", ",")))
os.environ["hz"] = "25hz"
- tmp_config_path = "%s/tmp_s1.yaml" % tmp
+ tmp_config_path = f"{tmp}/tmp_s1.yaml"
with open(tmp_config_path, "w") as f:
f.write(yaml.dump(data, default_flow_style=False))
# cmd = '"%s" GPT_SoVITS/s1_train.py --config_file "%s" --train_semantic_path "%s/6-name2semantic.tsv" --train_phoneme_path "%s/2-name2text.txt" --output_dir "%s/logs_s1"'%(python_exec,tmp_config_path,s1_dir,s1_dir,s1_dir)
- cmd = '"%s" -s GPT_SoVITS/s1_train.py --config_file "%s" ' % (python_exec, tmp_config_path)
+ cmd = f'"{python_exec}" -s GPT_SoVITS/s1_train.py --config_file "{tmp_config_path}" '
yield (
process_info(process_name_gpt, "opened"),
{"__type__": "update", "visible": False},
@@ -684,7 +680,7 @@ def open_slice(inp, opt_root, threshold, min_length, min_interval, hop_size, max
inp = my_utils.clean_path(inp)
opt_root = my_utils.clean_path(opt_root)
check_for_existance([inp])
- if os.path.exists(inp) == False:
+ if not os.path.exists(inp):
yield (
i18n("输入路径不存在"),
{"__type__": "update", "visible": True},
@@ -710,20 +706,7 @@ def open_slice(inp, opt_root, threshold, min_length, min_interval, hop_size, max
return
if ps_slice == []:
for i_part in range(n_parts):
- cmd = '"%s" -s tools/slice_audio.py "%s" "%s" %s %s %s %s %s %s %s %s %s' % (
- python_exec,
- inp,
- opt_root,
- threshold,
- min_length,
- min_interval,
- hop_size,
- max_sil_kept,
- _max,
- alpha,
- i_part,
- n_parts,
- )
+ cmd = f'"{python_exec}" -s gsv_tools/slice_audio.py "{inp}" "{opt_root}" {threshold} {min_length} {min_interval} {hop_size} {max_sil_kept} {_max} {alpha} {i_part} {n_parts}'
print(cmd)
p = Popen(cmd, shell=True)
ps_slice.append(p)
@@ -785,7 +768,7 @@ def open1a(inp_text, inp_wav_dir, exp_name, gpu_numbers, bert_pretrained_dir):
check_details([inp_text, inp_wav_dir], is_dataset_processing=True)
exp_name = exp_name.rstrip(" ")
if ps1a == []:
- opt_dir = "%s/%s" % (exp_root, exp_name)
+ opt_dir = f"{exp_root}/{exp_name}"
config = {
"inp_text": inp_text,
"inp_wav_dir": inp_wav_dir,
@@ -805,7 +788,7 @@ def open1a(inp_text, inp_wav_dir, exp_name, gpu_numbers, bert_pretrained_dir):
}
)
os.environ.update(config)
- cmd = '"%s" -s GPT_SoVITS/prepare_datasets/1-get-text.py' % python_exec
+ cmd = f'"{python_exec}" -s GPT_SoVITS/prepare_datasets/1-get-text.py'
print(cmd)
p = Popen(cmd, shell=True)
ps1a.append(p)
@@ -818,11 +801,11 @@ def open1a(inp_text, inp_wav_dir, exp_name, gpu_numbers, bert_pretrained_dir):
p.wait()
opt = []
for i_part in range(all_parts):
- txt_path = "%s/2-name2text-%s.txt" % (opt_dir, i_part)
- with open(txt_path, "r", encoding="utf8") as f:
+ txt_path = f"{opt_dir}/2-name2text-{i_part}.txt"
+ with open(txt_path, encoding="utf8") as f:
opt += f.read().strip("\n").split("\n")
os.remove(txt_path)
- path_text = "%s/2-name2text.txt" % opt_dir
+ path_text = f"{opt_dir}/2-name2text.txt"
with open(path_text, "w", encoding="utf8") as f:
f.write("\n".join(opt) + "\n")
ps1a = []
@@ -879,7 +862,7 @@ def open1b(version, inp_text, inp_wav_dir, exp_name, gpu_numbers, ssl_pretrained
"inp_text": inp_text,
"inp_wav_dir": inp_wav_dir,
"exp_name": exp_name,
- "opt_dir": "%s/%s" % (exp_root, exp_name),
+ "opt_dir": f"{exp_root}/{exp_name}",
"cnhubert_base_dir": ssl_pretrained_dir,
"sv_path": sv_path,
"is_half": str(is_half),
@@ -895,7 +878,7 @@ def open1b(version, inp_text, inp_wav_dir, exp_name, gpu_numbers, ssl_pretrained
}
)
os.environ.update(config)
- cmd = '"%s" -s GPT_SoVITS/prepare_datasets/2-get-hubert-wav32k.py' % python_exec
+ cmd = f'"{python_exec}" -s GPT_SoVITS/prepare_datasets/2-get-hubert-wav32k.py'
print(cmd)
p = Popen(cmd, shell=True)
ps1b.append(p)
@@ -917,7 +900,7 @@ def open1b(version, inp_text, inp_wav_dir, exp_name, gpu_numbers, ssl_pretrained
}
)
os.environ.update(config)
- cmd = '"%s" -s GPT_SoVITS/prepare_datasets/2-get-sv.py' % python_exec
+ cmd = f'"{python_exec}" -s GPT_SoVITS/prepare_datasets/2-get-sv.py'
print(cmd)
p = Popen(cmd, shell=True)
ps1b.append(p)
@@ -964,7 +947,7 @@ def open1c(version, inp_text, inp_wav_dir, exp_name, gpu_numbers, pretrained_s2G
check_details([inp_text, inp_wav_dir], is_dataset_processing=True)
exp_name = exp_name.rstrip(" ")
if ps1c == []:
- opt_dir = "%s/%s" % (exp_root, exp_name)
+ opt_dir = f"{exp_root}/{exp_name}"
config_file = (
"GPT_SoVITS/configs/s2.json"
if version not in {"v2Pro", "v2ProPlus"}
@@ -989,7 +972,7 @@ def open1c(version, inp_text, inp_wav_dir, exp_name, gpu_numbers, pretrained_s2G
}
)
os.environ.update(config)
- cmd = '"%s" -s GPT_SoVITS/prepare_datasets/3-get-semantic.py' % python_exec
+ cmd = f'"{python_exec}" -s GPT_SoVITS/prepare_datasets/3-get-semantic.py'
print(cmd)
p = Popen(cmd, shell=True)
ps1c.append(p)
@@ -1001,10 +984,10 @@ def open1c(version, inp_text, inp_wav_dir, exp_name, gpu_numbers, pretrained_s2G
for p in ps1c:
p.wait()
opt = ["item_name\tsemantic_audio"]
- path_semantic = "%s/6-name2semantic.tsv" % opt_dir
+ path_semantic = f"{opt_dir}/6-name2semantic.tsv"
for i_part in range(all_parts):
- semantic_path = "%s/6-name2semantic-%s.tsv" % (opt_dir, i_part)
- with open(semantic_path, "r", encoding="utf8") as f:
+ semantic_path = f"{opt_dir}/6-name2semantic-{i_part}.tsv"
+ with open(semantic_path, encoding="utf8") as f:
opt += f.read().strip("\n").split("\n")
os.remove(semantic_path)
with open(path_semantic, "w", encoding="utf8") as f:
@@ -1062,13 +1045,12 @@ def open1abc(
check_details([inp_text, inp_wav_dir], is_dataset_processing=True)
exp_name = exp_name.rstrip(" ")
if ps1abc == []:
- opt_dir = "%s/%s" % (exp_root, exp_name)
+ opt_dir = f"{exp_root}/{exp_name}"
try:
#############################1a
- path_text = "%s/2-name2text.txt" % opt_dir
- if os.path.exists(path_text) == False or (
- os.path.exists(path_text) == True
- and len(open(path_text, "r", encoding="utf8").read().strip("\n").split("\n")) < 2
+ path_text = f"{opt_dir}/2-name2text.txt"
+ if not os.path.exists(path_text) or (
+ os.path.exists(path_text) and len(open(path_text, encoding="utf8").read().strip("\n").split("\n")) < 2
):
config = {
"inp_text": inp_text,
@@ -1089,7 +1071,7 @@ def open1abc(
}
)
os.environ.update(config)
- cmd = '"%s" -s GPT_SoVITS/prepare_datasets/1-get-text.py' % python_exec
+ cmd = f'"{python_exec}" -s GPT_SoVITS/prepare_datasets/1-get-text.py'
print(cmd)
p = Popen(cmd, shell=True)
ps1abc.append(p)
@@ -1103,8 +1085,8 @@ def open1abc(
opt = []
for i_part in range(all_parts): # txt_path="%s/2-name2text-%s.txt"%(opt_dir,i_part)
- txt_path = "%s/2-name2text-%s.txt" % (opt_dir, i_part)
- with open(txt_path, "r", encoding="utf8") as f:
+ txt_path = f"{opt_dir}/2-name2text-{i_part}.txt"
+ with open(txt_path, encoding="utf8") as f:
opt += f.read().strip("\n").split("\n")
os.remove(txt_path)
with open(path_text, "w", encoding="utf8") as f:
@@ -1136,7 +1118,7 @@ def open1abc(
}
)
os.environ.update(config)
- cmd = '"%s" -s GPT_SoVITS/prepare_datasets/2-get-hubert-wav32k.py' % python_exec
+ cmd = f'"{python_exec}" -s GPT_SoVITS/prepare_datasets/2-get-hubert-wav32k.py'
print(cmd)
p = Popen(cmd, shell=True)
ps1abc.append(p)
@@ -1158,7 +1140,7 @@ def open1abc(
}
)
os.environ.update(config)
- cmd = '"%s" -s GPT_SoVITS/prepare_datasets/2-get-sv.py' % python_exec
+ cmd = f'"{python_exec}" -s GPT_SoVITS/prepare_datasets/2-get-sv.py'
print(cmd)
p = Popen(cmd, shell=True)
ps1abc.append(p)
@@ -1171,9 +1153,9 @@ def open1abc(
{"__type__": "update", "visible": True},
)
#############################1c
- path_semantic = "%s/6-name2semantic.tsv" % opt_dir
- if os.path.exists(path_semantic) == False or (
- os.path.exists(path_semantic) == True and os.path.getsize(path_semantic) < 31
+ path_semantic = f"{opt_dir}/6-name2semantic.tsv"
+ if not os.path.exists(path_semantic) or (
+ os.path.exists(path_semantic) and os.path.getsize(path_semantic) < 31
):
config_file = (
"GPT_SoVITS/configs/s2.json"
@@ -1198,7 +1180,7 @@ def open1abc(
}
)
os.environ.update(config)
- cmd = '"%s" -s GPT_SoVITS/prepare_datasets/3-get-semantic.py' % python_exec
+ cmd = f'"{python_exec}" -s GPT_SoVITS/prepare_datasets/3-get-semantic.py'
print(cmd)
p = Popen(cmd, shell=True)
ps1abc.append(p)
@@ -1212,8 +1194,8 @@ def open1abc(
opt = ["item_name\tsemantic_audio"]
for i_part in range(all_parts):
- semantic_path = "%s/6-name2semantic-%s.tsv" % (opt_dir, i_part)
- with open(semantic_path, "r", encoding="utf8") as f:
+ semantic_path = f"{opt_dir}/6-name2semantic-{i_part}.tsv"
+ with open(semantic_path, encoding="utf8") as f:
opt += f.read().strip("\n").split("\n")
os.remove(semantic_path)
with open(path_semantic, "w", encoding="utf8") as f:
@@ -1293,7 +1275,7 @@ def switch_version(version_):
if os.path.exists("GPT_SoVITS/text/G2PWModel"):
...
else:
- cmd = '"%s" -s GPT_SoVITS/download.py' % python_exec
+ cmd = f'"{python_exec}" -s GPT_SoVITS/download.py'
p = Popen(cmd, shell=True)
p.wait()
@@ -1552,7 +1534,7 @@ with gr.Blocks(title="GPT-SoVITS WebUI", analytics_enabled=False, js=js, css=css
with gr.Row():
gpu_numbers1a = gr.Textbox(
label=i18n("GPU卡号以-分割,每个卡号一个进程"),
- value="%s-%s" % (gpus, gpus),
+ value=f"{gpus}-{gpus}",
interactive=True,
)
with gr.Row():
@@ -1577,7 +1559,7 @@ with gr.Blocks(title="GPT-SoVITS WebUI", analytics_enabled=False, js=js, css=css
with gr.Row():
gpu_numbers1Ba = gr.Textbox(
label=i18n("GPU卡号以-分割,每个卡号一个进程"),
- value="%s-%s" % (gpus, gpus),
+ value=f"{gpus}-{gpus}",
interactive=True,
)
with gr.Row():
@@ -1602,7 +1584,7 @@ with gr.Blocks(title="GPT-SoVITS WebUI", analytics_enabled=False, js=js, css=css
with gr.Row():
gpu_numbers1c = gr.Textbox(
label=i18n("GPU卡号以-分割,每个卡号一个进程"),
- value="%s-%s" % (gpus, gpus),
+ value=f"{gpus}-{gpus}",
interactive=True,
)
with gr.Row():
@@ -1769,7 +1751,7 @@ with gr.Blocks(title="GPT-SoVITS WebUI", analytics_enabled=False, js=js, css=css
with gr.Row():
gpu_numbers1Ba = gr.Textbox(
label=i18n("GPU卡号以-分割,每个卡号一个进程"),
- value="%s" % (gpus),
+ value=f"{gpus}",
interactive=True,
)
with gr.Row():
@@ -1834,7 +1816,7 @@ with gr.Blocks(title="GPT-SoVITS WebUI", analytics_enabled=False, js=js, css=css
with gr.Row():
gpu_numbers1Bb = gr.Textbox(
label=i18n("GPU卡号以-分割,每个卡号一个进程"),
- value="%s" % (gpus),
+ value=f"{gpus}",
interactive=True,
)
with gr.Row():
From 0a8b006607d1d4af4032b664a071767f2d703f09 Mon Sep 17 00:00:00 2001
From: XXXXRT666 <157766680+XXXXRT666@users.noreply.github.com>
Date: Tue, 17 Feb 2026 02:03:41 +0000
Subject: [PATCH 2/4] Update Git Ignore
---
.gitignore | 48 +-
gsv_tools/uvr5/lib/lib_v5/dataset.py | 167 +++++
gsv_tools/uvr5/lib/lib_v5/layers.py | 106 +++
gsv_tools/uvr5/lib/lib_v5/layers_123812KB.py | 106 +++
gsv_tools/uvr5/lib/lib_v5/layers_123821KB.py | 106 +++
gsv_tools/uvr5/lib/lib_v5/layers_33966KB.py | 110 +++
gsv_tools/uvr5/lib/lib_v5/layers_537227KB.py | 110 +++
gsv_tools/uvr5/lib/lib_v5/layers_537238KB.py | 110 +++
gsv_tools/uvr5/lib/lib_v5/layers_new.py | 111 +++
gsv_tools/uvr5/lib/lib_v5/model_param_init.py | 67 ++
.../modelparams/1band_sr16000_hl512.json | 19 +
.../modelparams/1band_sr32000_hl512.json | 19 +
.../modelparams/1band_sr33075_hl384.json | 19 +
.../modelparams/1band_sr44100_hl1024.json | 19 +
.../modelparams/1band_sr44100_hl256.json | 19 +
.../modelparams/1band_sr44100_hl512.json | 19 +
.../modelparams/1band_sr44100_hl512_cut.json | 19 +
.../lib/lib_v5/modelparams/2band_32000.json | 30 +
.../lib_v5/modelparams/2band_44100_lofi.json | 30 +
.../lib/lib_v5/modelparams/2band_48000.json | 30 +
.../lib/lib_v5/modelparams/3band_44100.json | 42 ++
.../lib_v5/modelparams/3band_44100_mid.json | 43 ++
.../lib_v5/modelparams/3band_44100_msb2.json | 43 ++
.../lib/lib_v5/modelparams/4band_44100.json | 54 ++
.../lib_v5/modelparams/4band_44100_mid.json | 55 ++
.../lib_v5/modelparams/4band_44100_msb.json | 55 ++
.../lib_v5/modelparams/4band_44100_msb2.json | 55 ++
.../modelparams/4band_44100_reverse.json | 55 ++
.../lib_v5/modelparams/4band_44100_sw.json | 55 ++
.../uvr5/lib/lib_v5/modelparams/4band_v2.json | 54 ++
.../lib/lib_v5/modelparams/4band_v2_sn.json | 55 ++
.../uvr5/lib/lib_v5/modelparams/4band_v3.json | 54 ++
.../uvr5/lib/lib_v5/modelparams/ensemble.json | 43 ++
gsv_tools/uvr5/lib/lib_v5/nets.py | 121 ++++
gsv_tools/uvr5/lib/lib_v5/nets_123812KB.py | 122 ++++
gsv_tools/uvr5/lib/lib_v5/nets_123821KB.py | 122 ++++
gsv_tools/uvr5/lib/lib_v5/nets_33966KB.py | 122 ++++
gsv_tools/uvr5/lib/lib_v5/nets_537227KB.py | 122 ++++
gsv_tools/uvr5/lib/lib_v5/nets_537238KB.py | 122 ++++
gsv_tools/uvr5/lib/lib_v5/nets_61968KB.py | 122 ++++
gsv_tools/uvr5/lib/lib_v5/nets_new.py | 125 ++++
gsv_tools/uvr5/lib/lib_v5/spec_utils.py | 634 ++++++++++++++++++
gsv_tools/uvr5/lib/name_params.json | 263 ++++++++
gsv_tools/uvr5/lib/utils.py | 113 ++++
44 files changed, 3892 insertions(+), 23 deletions(-)
create mode 100644 gsv_tools/uvr5/lib/lib_v5/dataset.py
create mode 100644 gsv_tools/uvr5/lib/lib_v5/layers.py
create mode 100644 gsv_tools/uvr5/lib/lib_v5/layers_123812KB.py
create mode 100644 gsv_tools/uvr5/lib/lib_v5/layers_123821KB.py
create mode 100644 gsv_tools/uvr5/lib/lib_v5/layers_33966KB.py
create mode 100644 gsv_tools/uvr5/lib/lib_v5/layers_537227KB.py
create mode 100644 gsv_tools/uvr5/lib/lib_v5/layers_537238KB.py
create mode 100644 gsv_tools/uvr5/lib/lib_v5/layers_new.py
create mode 100644 gsv_tools/uvr5/lib/lib_v5/model_param_init.py
create mode 100644 gsv_tools/uvr5/lib/lib_v5/modelparams/1band_sr16000_hl512.json
create mode 100644 gsv_tools/uvr5/lib/lib_v5/modelparams/1band_sr32000_hl512.json
create mode 100644 gsv_tools/uvr5/lib/lib_v5/modelparams/1band_sr33075_hl384.json
create mode 100644 gsv_tools/uvr5/lib/lib_v5/modelparams/1band_sr44100_hl1024.json
create mode 100644 gsv_tools/uvr5/lib/lib_v5/modelparams/1band_sr44100_hl256.json
create mode 100644 gsv_tools/uvr5/lib/lib_v5/modelparams/1band_sr44100_hl512.json
create mode 100644 gsv_tools/uvr5/lib/lib_v5/modelparams/1band_sr44100_hl512_cut.json
create mode 100644 gsv_tools/uvr5/lib/lib_v5/modelparams/2band_32000.json
create mode 100644 gsv_tools/uvr5/lib/lib_v5/modelparams/2band_44100_lofi.json
create mode 100644 gsv_tools/uvr5/lib/lib_v5/modelparams/2band_48000.json
create mode 100644 gsv_tools/uvr5/lib/lib_v5/modelparams/3band_44100.json
create mode 100644 gsv_tools/uvr5/lib/lib_v5/modelparams/3band_44100_mid.json
create mode 100644 gsv_tools/uvr5/lib/lib_v5/modelparams/3band_44100_msb2.json
create mode 100644 gsv_tools/uvr5/lib/lib_v5/modelparams/4band_44100.json
create mode 100644 gsv_tools/uvr5/lib/lib_v5/modelparams/4band_44100_mid.json
create mode 100644 gsv_tools/uvr5/lib/lib_v5/modelparams/4band_44100_msb.json
create mode 100644 gsv_tools/uvr5/lib/lib_v5/modelparams/4band_44100_msb2.json
create mode 100644 gsv_tools/uvr5/lib/lib_v5/modelparams/4band_44100_reverse.json
create mode 100644 gsv_tools/uvr5/lib/lib_v5/modelparams/4band_44100_sw.json
create mode 100644 gsv_tools/uvr5/lib/lib_v5/modelparams/4band_v2.json
create mode 100644 gsv_tools/uvr5/lib/lib_v5/modelparams/4band_v2_sn.json
create mode 100644 gsv_tools/uvr5/lib/lib_v5/modelparams/4band_v3.json
create mode 100644 gsv_tools/uvr5/lib/lib_v5/modelparams/ensemble.json
create mode 100644 gsv_tools/uvr5/lib/lib_v5/nets.py
create mode 100644 gsv_tools/uvr5/lib/lib_v5/nets_123812KB.py
create mode 100644 gsv_tools/uvr5/lib/lib_v5/nets_123821KB.py
create mode 100644 gsv_tools/uvr5/lib/lib_v5/nets_33966KB.py
create mode 100644 gsv_tools/uvr5/lib/lib_v5/nets_537227KB.py
create mode 100644 gsv_tools/uvr5/lib/lib_v5/nets_537238KB.py
create mode 100644 gsv_tools/uvr5/lib/lib_v5/nets_61968KB.py
create mode 100644 gsv_tools/uvr5/lib/lib_v5/nets_new.py
create mode 100644 gsv_tools/uvr5/lib/lib_v5/spec_utils.py
create mode 100644 gsv_tools/uvr5/lib/name_params.json
create mode 100644 gsv_tools/uvr5/lib/utils.py
diff --git a/.gitignore b/.gitignore
index 459e3622..224c4bf9 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,26 +1,3 @@
-.DS_Store
-.vscode
-__pycache__
-*.pyc
-env
-runtime
-.idea
-output
-logs
-SoVITS_weights*/
-GPT_weights*/
-TEMP
-weight.json
-ffmpeg*
-ffprobe*
-cfg.json
-speakers.json
-ref_audios
-gsv_tools/AP_BWE_main/24kto48k/*
-!gsv_tools/AP_BWE_main/24kto48k/readme.txt
-
-pylock.toml
-
# Byte-compiled / optimized / DLL files
__pycache__/
*.py[cod]
@@ -195,3 +172,28 @@ cython_debug/
# PyPI configuration file
.pypirc
+
+# GPT-SoVITS
+
+.DS_Store
+.vscode
+__pycache__
+*.pyc
+pylock.toml
+env
+runtime
+.idea
+output
+logs
+SoVITS_weights*/
+GPT_weights*/
+TEMP
+weight.json
+ffmpeg*
+ffprobe*
+cfg.json
+speakers.json
+ref_audios
+gsv_tools/AP_BWE_main/24kto48k/*
+!gsv_tools/AP_BWE_main/24kto48k/readme.txt
+!gsv_tools/uvr5/lib
\ No newline at end of file
diff --git a/gsv_tools/uvr5/lib/lib_v5/dataset.py b/gsv_tools/uvr5/lib/lib_v5/dataset.py
new file mode 100644
index 00000000..ce0cf11d
--- /dev/null
+++ b/gsv_tools/uvr5/lib/lib_v5/dataset.py
@@ -0,0 +1,167 @@
+import os
+import random
+
+import numpy as np
+import torch
+import torch.utils.data
+from tqdm import tqdm
+
+from . import spec_utils
+
+
+class VocalRemoverValidationSet(torch.utils.data.Dataset):
+ def __init__(self, patch_list):
+ self.patch_list = patch_list
+
+ def __len__(self):
+ return len(self.patch_list)
+
+ def __getitem__(self, idx):
+ path = self.patch_list[idx]
+ data = np.load(path)
+
+ X, y = data["X"], data["y"]
+
+ X_mag = np.abs(X)
+ y_mag = np.abs(y)
+
+ return X_mag, y_mag
+
+
+def make_pair(mix_dir, inst_dir):
+ input_exts = [".wav", ".m4a", ".mp3", ".mp4", ".flac"]
+
+ X_list = sorted(
+ [os.path.join(mix_dir, fname) for fname in os.listdir(mix_dir) if os.path.splitext(fname)[1] in input_exts]
+ )
+ y_list = sorted(
+ [os.path.join(inst_dir, fname) for fname in os.listdir(inst_dir) if os.path.splitext(fname)[1] in input_exts]
+ )
+
+ filelist = list(zip(X_list, y_list, strict=False))
+
+ return filelist
+
+
+def train_val_split(dataset_dir, split_mode, val_rate, val_filelist):
+ if split_mode == "random":
+ filelist = make_pair(
+ os.path.join(dataset_dir, "mixtures"),
+ os.path.join(dataset_dir, "instruments"),
+ )
+
+ random.shuffle(filelist)
+
+ if len(val_filelist) == 0:
+ val_size = int(len(filelist) * val_rate)
+ train_filelist = filelist[:-val_size]
+ val_filelist = filelist[-val_size:]
+ else:
+ train_filelist = [pair for pair in filelist if list(pair) not in val_filelist]
+ elif split_mode == "subdirs":
+ if len(val_filelist) != 0:
+ raise ValueError("The `val_filelist` option is not available in `subdirs` mode")
+
+ train_filelist = make_pair(
+ os.path.join(dataset_dir, "training/mixtures"),
+ os.path.join(dataset_dir, "training/instruments"),
+ )
+
+ val_filelist = make_pair(
+ os.path.join(dataset_dir, "validation/mixtures"),
+ os.path.join(dataset_dir, "validation/instruments"),
+ )
+
+ return train_filelist, val_filelist
+
+
+def augment(X, y, reduction_rate, reduction_mask, mixup_rate, mixup_alpha):
+ perm = np.random.permutation(len(X))
+ for i, idx in enumerate(tqdm(perm)):
+ if np.random.uniform() < reduction_rate:
+ y[idx] = spec_utils.reduce_vocal_aggressively(X[idx], y[idx], reduction_mask)
+
+ if np.random.uniform() < 0.5:
+ # swap channel
+ X[idx] = X[idx, ::-1]
+ y[idx] = y[idx, ::-1]
+ if np.random.uniform() < 0.02:
+ # mono
+ X[idx] = X[idx].mean(axis=0, keepdims=True)
+ y[idx] = y[idx].mean(axis=0, keepdims=True)
+ if np.random.uniform() < 0.02:
+ # inst
+ X[idx] = y[idx]
+
+ if np.random.uniform() < mixup_rate and i < len(perm) - 1:
+ lam = np.random.beta(mixup_alpha, mixup_alpha)
+ X[idx] = lam * X[idx] + (1 - lam) * X[perm[i + 1]]
+ y[idx] = lam * y[idx] + (1 - lam) * y[perm[i + 1]]
+
+ return X, y
+
+
+def make_padding(width, cropsize, offset):
+ left = offset
+ roi_size = cropsize - left * 2
+ if roi_size == 0:
+ roi_size = cropsize
+ right = roi_size - (width % roi_size) + left
+
+ return left, right, roi_size
+
+
+def make_training_set(filelist, cropsize, patches, sr, hop_length, n_fft, offset):
+ len_dataset = patches * len(filelist)
+
+ X_dataset = np.zeros((len_dataset, 2, n_fft // 2 + 1, cropsize), dtype=np.complex64)
+ y_dataset = np.zeros((len_dataset, 2, n_fft // 2 + 1, cropsize), dtype=np.complex64)
+
+ for i, (X_path, y_path) in enumerate(tqdm(filelist)):
+ X, y = spec_utils.cache_or_load(X_path, y_path, sr, hop_length, n_fft)
+ coef = np.max([np.abs(X).max(), np.abs(y).max()])
+ X, y = X / coef, y / coef
+
+ l, r, roi_size = make_padding(X.shape[2], cropsize, offset)
+ X_pad = np.pad(X, ((0, 0), (0, 0), (l, r)), mode="constant")
+ y_pad = np.pad(y, ((0, 0), (0, 0), (l, r)), mode="constant")
+
+ starts = np.random.randint(0, X_pad.shape[2] - cropsize, patches)
+ ends = starts + cropsize
+ for j in range(patches):
+ idx = i * patches + j
+ X_dataset[idx] = X_pad[:, :, starts[j] : ends[j]]
+ y_dataset[idx] = y_pad[:, :, starts[j] : ends[j]]
+
+ return X_dataset, y_dataset
+
+
+def make_validation_set(filelist, cropsize, sr, hop_length, n_fft, offset):
+ patch_list = []
+ patch_dir = f"cs{cropsize}_sr{sr}_hl{hop_length}_nf{n_fft}_of{offset}"
+ os.makedirs(patch_dir, exist_ok=True)
+
+ for _i, (X_path, y_path) in enumerate(tqdm(filelist)):
+ basename = os.path.splitext(os.path.basename(X_path))[0]
+
+ X, y = spec_utils.cache_or_load(X_path, y_path, sr, hop_length, n_fft)
+ coef = np.max([np.abs(X).max(), np.abs(y).max()])
+ X, y = X / coef, y / coef
+
+ l, r, roi_size = make_padding(X.shape[2], cropsize, offset)
+ X_pad = np.pad(X, ((0, 0), (0, 0), (l, r)), mode="constant")
+ y_pad = np.pad(y, ((0, 0), (0, 0), (l, r)), mode="constant")
+
+ len_dataset = int(np.ceil(X.shape[2] / roi_size))
+ for j in range(len_dataset):
+ outpath = os.path.join(patch_dir, f"{basename}_p{j}.npz")
+ start = j * roi_size
+ if not os.path.exists(outpath):
+ np.savez(
+ outpath,
+ X=X_pad[:, :, start : start + cropsize],
+ y=y_pad[:, :, start : start + cropsize],
+ )
+ patch_list.append(outpath)
+
+ return VocalRemoverValidationSet(patch_list)
diff --git a/gsv_tools/uvr5/lib/lib_v5/layers.py b/gsv_tools/uvr5/lib/lib_v5/layers.py
new file mode 100644
index 00000000..0821016e
--- /dev/null
+++ b/gsv_tools/uvr5/lib/lib_v5/layers.py
@@ -0,0 +1,106 @@
+import torch
+import torch.nn.functional as F
+from torch import nn
+
+from . import spec_utils
+
+
+class Conv2DBNActiv(nn.Module):
+ def __init__(self, nin, nout, ksize=3, stride=1, pad=1, dilation=1, activ=nn.ReLU):
+ super().__init__()
+ self.conv = nn.Sequential(
+ nn.Conv2d(
+ nin,
+ nout,
+ kernel_size=ksize,
+ stride=stride,
+ padding=pad,
+ dilation=dilation,
+ bias=False,
+ ),
+ nn.BatchNorm2d(nout),
+ activ(),
+ )
+
+ def __call__(self, x):
+ return self.conv(x)
+
+
+class SeperableConv2DBNActiv(nn.Module):
+ def __init__(self, nin, nout, ksize=3, stride=1, pad=1, dilation=1, activ=nn.ReLU):
+ super().__init__()
+ self.conv = nn.Sequential(
+ nn.Conv2d(
+ nin,
+ nin,
+ kernel_size=ksize,
+ stride=stride,
+ padding=pad,
+ dilation=dilation,
+ groups=nin,
+ bias=False,
+ ),
+ nn.Conv2d(nin, nout, kernel_size=1, bias=False),
+ nn.BatchNorm2d(nout),
+ activ(),
+ )
+
+ def __call__(self, x):
+ return self.conv(x)
+
+
+class Encoder(nn.Module):
+ def __init__(self, nin, nout, ksize=3, stride=1, pad=1, activ=nn.LeakyReLU):
+ super().__init__()
+ self.conv1 = Conv2DBNActiv(nin, nout, ksize, 1, pad, activ=activ)
+ self.conv2 = Conv2DBNActiv(nout, nout, ksize, stride, pad, activ=activ)
+
+ def __call__(self, x):
+ skip = self.conv1(x)
+ h = self.conv2(skip)
+
+ return h, skip
+
+
+class Decoder(nn.Module):
+ def __init__(self, nin, nout, ksize=3, stride=1, pad=1, activ=nn.ReLU, dropout=False):
+ super().__init__()
+ self.conv = Conv2DBNActiv(nin, nout, ksize, 1, pad, activ=activ)
+ self.dropout = nn.Dropout2d(0.1) if dropout else None
+
+ def __call__(self, x, skip=None):
+ x = F.interpolate(x, scale_factor=2, mode="bilinear", align_corners=True)
+ if skip is not None:
+ skip = spec_utils.crop_center(skip, x)
+ x = torch.cat([x, skip], dim=1)
+ h = self.conv(x)
+
+ if self.dropout is not None:
+ h = self.dropout(h)
+
+ return h
+
+
+class ASPPModule(nn.Module):
+ def __init__(self, nin, nout, dilations=(4, 8, 16), activ=nn.ReLU):
+ super().__init__()
+ self.conv1 = nn.Sequential(
+ nn.AdaptiveAvgPool2d((1, None)),
+ Conv2DBNActiv(nin, nin, 1, 1, 0, activ=activ),
+ )
+ self.conv2 = Conv2DBNActiv(nin, nin, 1, 1, 0, activ=activ)
+ self.conv3 = SeperableConv2DBNActiv(nin, nin, 3, 1, dilations[0], dilations[0], activ=activ)
+ self.conv4 = SeperableConv2DBNActiv(nin, nin, 3, 1, dilations[1], dilations[1], activ=activ)
+ self.conv5 = SeperableConv2DBNActiv(nin, nin, 3, 1, dilations[2], dilations[2], activ=activ)
+ self.bottleneck = nn.Sequential(Conv2DBNActiv(nin * 5, nout, 1, 1, 0, activ=activ), nn.Dropout2d(0.1))
+
+ def forward(self, x):
+ _, _, h, w = x.size()
+ feat1 = F.interpolate(self.conv1(x), size=(h, w), mode="bilinear", align_corners=True)
+ feat2 = self.conv2(x)
+ feat3 = self.conv3(x)
+ feat4 = self.conv4(x)
+ feat5 = self.conv5(x)
+ out = torch.cat((feat1, feat2, feat3, feat4, feat5), dim=1)
+ bottle = self.bottleneck(out)
+ return bottle
diff --git a/gsv_tools/uvr5/lib/lib_v5/layers_123812KB.py b/gsv_tools/uvr5/lib/lib_v5/layers_123812KB.py
new file mode 100644
index 00000000..0821016e
--- /dev/null
+++ b/gsv_tools/uvr5/lib/lib_v5/layers_123812KB.py
@@ -0,0 +1,106 @@
+import torch
+import torch.nn.functional as F
+from torch import nn
+
+from . import spec_utils
+
+
+class Conv2DBNActiv(nn.Module):
+ def __init__(self, nin, nout, ksize=3, stride=1, pad=1, dilation=1, activ=nn.ReLU):
+ super().__init__()
+ self.conv = nn.Sequential(
+ nn.Conv2d(
+ nin,
+ nout,
+ kernel_size=ksize,
+ stride=stride,
+ padding=pad,
+ dilation=dilation,
+ bias=False,
+ ),
+ nn.BatchNorm2d(nout),
+ activ(),
+ )
+
+ def __call__(self, x):
+ return self.conv(x)
+
+
+class SeperableConv2DBNActiv(nn.Module):
+ def __init__(self, nin, nout, ksize=3, stride=1, pad=1, dilation=1, activ=nn.ReLU):
+ super().__init__()
+ self.conv = nn.Sequential(
+ nn.Conv2d(
+ nin,
+ nin,
+ kernel_size=ksize,
+ stride=stride,
+ padding=pad,
+ dilation=dilation,
+ groups=nin,
+ bias=False,
+ ),
+ nn.Conv2d(nin, nout, kernel_size=1, bias=False),
+ nn.BatchNorm2d(nout),
+ activ(),
+ )
+
+ def __call__(self, x):
+ return self.conv(x)
+
+
+class Encoder(nn.Module):
+ def __init__(self, nin, nout, ksize=3, stride=1, pad=1, activ=nn.LeakyReLU):
+ super().__init__()
+ self.conv1 = Conv2DBNActiv(nin, nout, ksize, 1, pad, activ=activ)
+ self.conv2 = Conv2DBNActiv(nout, nout, ksize, stride, pad, activ=activ)
+
+ def __call__(self, x):
+ skip = self.conv1(x)
+ h = self.conv2(skip)
+
+ return h, skip
+
+
+class Decoder(nn.Module):
+ def __init__(self, nin, nout, ksize=3, stride=1, pad=1, activ=nn.ReLU, dropout=False):
+ super().__init__()
+ self.conv = Conv2DBNActiv(nin, nout, ksize, 1, pad, activ=activ)
+ self.dropout = nn.Dropout2d(0.1) if dropout else None
+
+ def __call__(self, x, skip=None):
+ x = F.interpolate(x, scale_factor=2, mode="bilinear", align_corners=True)
+ if skip is not None:
+ skip = spec_utils.crop_center(skip, x)
+ x = torch.cat([x, skip], dim=1)
+ h = self.conv(x)
+
+ if self.dropout is not None:
+ h = self.dropout(h)
+
+ return h
+
+
+class ASPPModule(nn.Module):
+ def __init__(self, nin, nout, dilations=(4, 8, 16), activ=nn.ReLU):
+ super().__init__()
+ self.conv1 = nn.Sequential(
+ nn.AdaptiveAvgPool2d((1, None)),
+ Conv2DBNActiv(nin, nin, 1, 1, 0, activ=activ),
+ )
+ self.conv2 = Conv2DBNActiv(nin, nin, 1, 1, 0, activ=activ)
+ self.conv3 = SeperableConv2DBNActiv(nin, nin, 3, 1, dilations[0], dilations[0], activ=activ)
+ self.conv4 = SeperableConv2DBNActiv(nin, nin, 3, 1, dilations[1], dilations[1], activ=activ)
+ self.conv5 = SeperableConv2DBNActiv(nin, nin, 3, 1, dilations[2], dilations[2], activ=activ)
+ self.bottleneck = nn.Sequential(Conv2DBNActiv(nin * 5, nout, 1, 1, 0, activ=activ), nn.Dropout2d(0.1))
+
+ def forward(self, x):
+ _, _, h, w = x.size()
+ feat1 = F.interpolate(self.conv1(x), size=(h, w), mode="bilinear", align_corners=True)
+ feat2 = self.conv2(x)
+ feat3 = self.conv3(x)
+ feat4 = self.conv4(x)
+ feat5 = self.conv5(x)
+ out = torch.cat((feat1, feat2, feat3, feat4, feat5), dim=1)
+ bottle = self.bottleneck(out)
+ return bottle
diff --git a/gsv_tools/uvr5/lib/lib_v5/layers_123821KB.py b/gsv_tools/uvr5/lib/lib_v5/layers_123821KB.py
new file mode 100644
index 00000000..0821016e
--- /dev/null
+++ b/gsv_tools/uvr5/lib/lib_v5/layers_123821KB.py
@@ -0,0 +1,106 @@
+import torch
+import torch.nn.functional as F
+from torch import nn
+
+from . import spec_utils
+
+
+class Conv2DBNActiv(nn.Module):
+ def __init__(self, nin, nout, ksize=3, stride=1, pad=1, dilation=1, activ=nn.ReLU):
+ super().__init__()
+ self.conv = nn.Sequential(
+ nn.Conv2d(
+ nin,
+ nout,
+ kernel_size=ksize,
+ stride=stride,
+ padding=pad,
+ dilation=dilation,
+ bias=False,
+ ),
+ nn.BatchNorm2d(nout),
+ activ(),
+ )
+
+ def __call__(self, x):
+ return self.conv(x)
+
+
+class SeperableConv2DBNActiv(nn.Module):
+ def __init__(self, nin, nout, ksize=3, stride=1, pad=1, dilation=1, activ=nn.ReLU):
+ super().__init__()
+ self.conv = nn.Sequential(
+ nn.Conv2d(
+ nin,
+ nin,
+ kernel_size=ksize,
+ stride=stride,
+ padding=pad,
+ dilation=dilation,
+ groups=nin,
+ bias=False,
+ ),
+ nn.Conv2d(nin, nout, kernel_size=1, bias=False),
+ nn.BatchNorm2d(nout),
+ activ(),
+ )
+
+ def __call__(self, x):
+ return self.conv(x)
+
+
+class Encoder(nn.Module):
+ def __init__(self, nin, nout, ksize=3, stride=1, pad=1, activ=nn.LeakyReLU):
+ super().__init__()
+ self.conv1 = Conv2DBNActiv(nin, nout, ksize, 1, pad, activ=activ)
+ self.conv2 = Conv2DBNActiv(nout, nout, ksize, stride, pad, activ=activ)
+
+ def __call__(self, x):
+ skip = self.conv1(x)
+ h = self.conv2(skip)
+
+ return h, skip
+
+
+class Decoder(nn.Module):
+ def __init__(self, nin, nout, ksize=3, stride=1, pad=1, activ=nn.ReLU, dropout=False):
+ super().__init__()
+ self.conv = Conv2DBNActiv(nin, nout, ksize, 1, pad, activ=activ)
+ self.dropout = nn.Dropout2d(0.1) if dropout else None
+
+ def __call__(self, x, skip=None):
+ x = F.interpolate(x, scale_factor=2, mode="bilinear", align_corners=True)
+ if skip is not None:
+ skip = spec_utils.crop_center(skip, x)
+ x = torch.cat([x, skip], dim=1)
+ h = self.conv(x)
+
+ if self.dropout is not None:
+ h = self.dropout(h)
+
+ return h
+
+
+class ASPPModule(nn.Module):
+ def __init__(self, nin, nout, dilations=(4, 8, 16), activ=nn.ReLU):
+ super().__init__()
+ self.conv1 = nn.Sequential(
+ nn.AdaptiveAvgPool2d((1, None)),
+ Conv2DBNActiv(nin, nin, 1, 1, 0, activ=activ),
+ )
+ self.conv2 = Conv2DBNActiv(nin, nin, 1, 1, 0, activ=activ)
+ self.conv3 = SeperableConv2DBNActiv(nin, nin, 3, 1, dilations[0], dilations[0], activ=activ)
+ self.conv4 = SeperableConv2DBNActiv(nin, nin, 3, 1, dilations[1], dilations[1], activ=activ)
+ self.conv5 = SeperableConv2DBNActiv(nin, nin, 3, 1, dilations[2], dilations[2], activ=activ)
+ self.bottleneck = nn.Sequential(Conv2DBNActiv(nin * 5, nout, 1, 1, 0, activ=activ), nn.Dropout2d(0.1))
+
+ def forward(self, x):
+ _, _, h, w = x.size()
+ feat1 = F.interpolate(self.conv1(x), size=(h, w), mode="bilinear", align_corners=True)
+ feat2 = self.conv2(x)
+ feat3 = self.conv3(x)
+ feat4 = self.conv4(x)
+ feat5 = self.conv5(x)
+ out = torch.cat((feat1, feat2, feat3, feat4, feat5), dim=1)
+ bottle = self.bottleneck(out)
+ return bottle
diff --git a/gsv_tools/uvr5/lib/lib_v5/layers_33966KB.py b/gsv_tools/uvr5/lib/lib_v5/layers_33966KB.py
new file mode 100644
index 00000000..7759e96a
--- /dev/null
+++ b/gsv_tools/uvr5/lib/lib_v5/layers_33966KB.py
@@ -0,0 +1,110 @@
+import torch
+import torch.nn.functional as F
+from torch import nn
+
+from . import spec_utils
+
+
+class Conv2DBNActiv(nn.Module):
+ def __init__(self, nin, nout, ksize=3, stride=1, pad=1, dilation=1, activ=nn.ReLU):
+ super().__init__()
+ self.conv = nn.Sequential(
+ nn.Conv2d(
+ nin,
+ nout,
+ kernel_size=ksize,
+ stride=stride,
+ padding=pad,
+ dilation=dilation,
+ bias=False,
+ ),
+ nn.BatchNorm2d(nout),
+ activ(),
+ )
+
+ def __call__(self, x):
+ return self.conv(x)
+
+
+class SeperableConv2DBNActiv(nn.Module):
+ def __init__(self, nin, nout, ksize=3, stride=1, pad=1, dilation=1, activ=nn.ReLU):
+ super().__init__()
+ self.conv = nn.Sequential(
+ nn.Conv2d(
+ nin,
+ nin,
+ kernel_size=ksize,
+ stride=stride,
+ padding=pad,
+ dilation=dilation,
+ groups=nin,
+ bias=False,
+ ),
+ nn.Conv2d(nin, nout, kernel_size=1, bias=False),
+ nn.BatchNorm2d(nout),
+ activ(),
+ )
+
+ def __call__(self, x):
+ return self.conv(x)
+
+
+class Encoder(nn.Module):
+ def __init__(self, nin, nout, ksize=3, stride=1, pad=1, activ=nn.LeakyReLU):
+ super().__init__()
+ self.conv1 = Conv2DBNActiv(nin, nout, ksize, 1, pad, activ=activ)
+ self.conv2 = Conv2DBNActiv(nout, nout, ksize, stride, pad, activ=activ)
+
+ def __call__(self, x):
+ skip = self.conv1(x)
+ h = self.conv2(skip)
+
+ return h, skip
+
+
+class Decoder(nn.Module):
+ def __init__(self, nin, nout, ksize=3, stride=1, pad=1, activ=nn.ReLU, dropout=False):
+ super().__init__()
+ self.conv = Conv2DBNActiv(nin, nout, ksize, 1, pad, activ=activ)
+ self.dropout = nn.Dropout2d(0.1) if dropout else None
+
+ def __call__(self, x, skip=None):
+ x = F.interpolate(x, scale_factor=2, mode="bilinear", align_corners=True)
+ if skip is not None:
+ skip = spec_utils.crop_center(skip, x)
+ x = torch.cat([x, skip], dim=1)
+ h = self.conv(x)
+
+ if self.dropout is not None:
+ h = self.dropout(h)
+
+ return h
+
+
+class ASPPModule(nn.Module):
+ def __init__(self, nin, nout, dilations=(4, 8, 16, 32, 64), activ=nn.ReLU):
+ super().__init__()
+ self.conv1 = nn.Sequential(
+ nn.AdaptiveAvgPool2d((1, None)),
+ Conv2DBNActiv(nin, nin, 1, 1, 0, activ=activ),
+ )
+ self.conv2 = Conv2DBNActiv(nin, nin, 1, 1, 0, activ=activ)
+ self.conv3 = SeperableConv2DBNActiv(nin, nin, 3, 1, dilations[0], dilations[0], activ=activ)
+ self.conv4 = SeperableConv2DBNActiv(nin, nin, 3, 1, dilations[1], dilations[1], activ=activ)
+ self.conv5 = SeperableConv2DBNActiv(nin, nin, 3, 1, dilations[2], dilations[2], activ=activ)
+ self.conv6 = SeperableConv2DBNActiv(nin, nin, 3, 1, dilations[2], dilations[2], activ=activ)
+ self.conv7 = SeperableConv2DBNActiv(nin, nin, 3, 1, dilations[2], dilations[2], activ=activ)
+ self.bottleneck = nn.Sequential(Conv2DBNActiv(nin * 7, nout, 1, 1, 0, activ=activ), nn.Dropout2d(0.1))
+
+ def forward(self, x):
+ _, _, h, w = x.size()
+ feat1 = F.interpolate(self.conv1(x), size=(h, w), mode="bilinear", align_corners=True)
+ feat2 = self.conv2(x)
+ feat3 = self.conv3(x)
+ feat4 = self.conv4(x)
+ feat5 = self.conv5(x)
+ feat6 = self.conv6(x)
+ feat7 = self.conv7(x)
+ out = torch.cat((feat1, feat2, feat3, feat4, feat5, feat6, feat7), dim=1)
+ bottle = self.bottleneck(out)
+ return bottle
diff --git a/gsv_tools/uvr5/lib/lib_v5/layers_537227KB.py b/gsv_tools/uvr5/lib/lib_v5/layers_537227KB.py
new file mode 100644
index 00000000..7759e96a
--- /dev/null
+++ b/gsv_tools/uvr5/lib/lib_v5/layers_537227KB.py
@@ -0,0 +1,110 @@
+import torch
+import torch.nn.functional as F
+from torch import nn
+
+from . import spec_utils
+
+
+class Conv2DBNActiv(nn.Module):
+ def __init__(self, nin, nout, ksize=3, stride=1, pad=1, dilation=1, activ=nn.ReLU):
+ super().__init__()
+ self.conv = nn.Sequential(
+ nn.Conv2d(
+ nin,
+ nout,
+ kernel_size=ksize,
+ stride=stride,
+ padding=pad,
+ dilation=dilation,
+ bias=False,
+ ),
+ nn.BatchNorm2d(nout),
+ activ(),
+ )
+
+ def __call__(self, x):
+ return self.conv(x)
+
+
+class SeperableConv2DBNActiv(nn.Module):
+ def __init__(self, nin, nout, ksize=3, stride=1, pad=1, dilation=1, activ=nn.ReLU):
+ super().__init__()
+ self.conv = nn.Sequential(
+ nn.Conv2d(
+ nin,
+ nin,
+ kernel_size=ksize,
+ stride=stride,
+ padding=pad,
+ dilation=dilation,
+ groups=nin,
+ bias=False,
+ ),
+ nn.Conv2d(nin, nout, kernel_size=1, bias=False),
+ nn.BatchNorm2d(nout),
+ activ(),
+ )
+
+ def __call__(self, x):
+ return self.conv(x)
+
+
+class Encoder(nn.Module):
+ def __init__(self, nin, nout, ksize=3, stride=1, pad=1, activ=nn.LeakyReLU):
+ super().__init__()
+ self.conv1 = Conv2DBNActiv(nin, nout, ksize, 1, pad, activ=activ)
+ self.conv2 = Conv2DBNActiv(nout, nout, ksize, stride, pad, activ=activ)
+
+ def __call__(self, x):
+ skip = self.conv1(x)
+ h = self.conv2(skip)
+
+ return h, skip
+
+
+class Decoder(nn.Module):
+ def __init__(self, nin, nout, ksize=3, stride=1, pad=1, activ=nn.ReLU, dropout=False):
+ super().__init__()
+ self.conv = Conv2DBNActiv(nin, nout, ksize, 1, pad, activ=activ)
+ self.dropout = nn.Dropout2d(0.1) if dropout else None
+
+ def __call__(self, x, skip=None):
+ x = F.interpolate(x, scale_factor=2, mode="bilinear", align_corners=True)
+ if skip is not None:
+ skip = spec_utils.crop_center(skip, x)
+ x = torch.cat([x, skip], dim=1)
+ h = self.conv(x)
+
+ if self.dropout is not None:
+ h = self.dropout(h)
+
+ return h
+
+
+class ASPPModule(nn.Module):
+ def __init__(self, nin, nout, dilations=(4, 8, 16, 32, 64), activ=nn.ReLU):
+ super().__init__()
+ self.conv1 = nn.Sequential(
+ nn.AdaptiveAvgPool2d((1, None)),
+ Conv2DBNActiv(nin, nin, 1, 1, 0, activ=activ),
+ )
+ self.conv2 = Conv2DBNActiv(nin, nin, 1, 1, 0, activ=activ)
+ self.conv3 = SeperableConv2DBNActiv(nin, nin, 3, 1, dilations[0], dilations[0], activ=activ)
+ self.conv4 = SeperableConv2DBNActiv(nin, nin, 3, 1, dilations[1], dilations[1], activ=activ)
+ self.conv5 = SeperableConv2DBNActiv(nin, nin, 3, 1, dilations[2], dilations[2], activ=activ)
+ self.conv6 = SeperableConv2DBNActiv(nin, nin, 3, 1, dilations[2], dilations[2], activ=activ)
+ self.conv7 = SeperableConv2DBNActiv(nin, nin, 3, 1, dilations[2], dilations[2], activ=activ)
+ self.bottleneck = nn.Sequential(Conv2DBNActiv(nin * 7, nout, 1, 1, 0, activ=activ), nn.Dropout2d(0.1))
+
+ def forward(self, x):
+ _, _, h, w = x.size()
+ feat1 = F.interpolate(self.conv1(x), size=(h, w), mode="bilinear", align_corners=True)
+ feat2 = self.conv2(x)
+ feat3 = self.conv3(x)
+ feat4 = self.conv4(x)
+ feat5 = self.conv5(x)
+ feat6 = self.conv6(x)
+ feat7 = self.conv7(x)
+ out = torch.cat((feat1, feat2, feat3, feat4, feat5, feat6, feat7), dim=1)
+ bottle = self.bottleneck(out)
+ return bottle
diff --git a/gsv_tools/uvr5/lib/lib_v5/layers_537238KB.py b/gsv_tools/uvr5/lib/lib_v5/layers_537238KB.py
new file mode 100644
index 00000000..7759e96a
--- /dev/null
+++ b/gsv_tools/uvr5/lib/lib_v5/layers_537238KB.py
@@ -0,0 +1,110 @@
+import torch
+import torch.nn.functional as F
+from torch import nn
+
+from . import spec_utils
+
+
+class Conv2DBNActiv(nn.Module):
+ def __init__(self, nin, nout, ksize=3, stride=1, pad=1, dilation=1, activ=nn.ReLU):
+ super().__init__()
+ self.conv = nn.Sequential(
+ nn.Conv2d(
+ nin,
+ nout,
+ kernel_size=ksize,
+ stride=stride,
+ padding=pad,
+ dilation=dilation,
+ bias=False,
+ ),
+ nn.BatchNorm2d(nout),
+ activ(),
+ )
+
+ def __call__(self, x):
+ return self.conv(x)
+
+
+class SeperableConv2DBNActiv(nn.Module):
+ def __init__(self, nin, nout, ksize=3, stride=1, pad=1, dilation=1, activ=nn.ReLU):
+ super().__init__()
+ self.conv = nn.Sequential(
+ nn.Conv2d(
+ nin,
+ nin,
+ kernel_size=ksize,
+ stride=stride,
+ padding=pad,
+ dilation=dilation,
+ groups=nin,
+ bias=False,
+ ),
+ nn.Conv2d(nin, nout, kernel_size=1, bias=False),
+ nn.BatchNorm2d(nout),
+ activ(),
+ )
+
+ def __call__(self, x):
+ return self.conv(x)
+
+
+class Encoder(nn.Module):
+ def __init__(self, nin, nout, ksize=3, stride=1, pad=1, activ=nn.LeakyReLU):
+ super().__init__()
+ self.conv1 = Conv2DBNActiv(nin, nout, ksize, 1, pad, activ=activ)
+ self.conv2 = Conv2DBNActiv(nout, nout, ksize, stride, pad, activ=activ)
+
+ def __call__(self, x):
+ skip = self.conv1(x)
+ h = self.conv2(skip)
+
+ return h, skip
+
+
+class Decoder(nn.Module):
+ def __init__(self, nin, nout, ksize=3, stride=1, pad=1, activ=nn.ReLU, dropout=False):
+ super().__init__()
+ self.conv = Conv2DBNActiv(nin, nout, ksize, 1, pad, activ=activ)
+ self.dropout = nn.Dropout2d(0.1) if dropout else None
+
+ def __call__(self, x, skip=None):
+ x = F.interpolate(x, scale_factor=2, mode="bilinear", align_corners=True)
+ if skip is not None:
+ skip = spec_utils.crop_center(skip, x)
+ x = torch.cat([x, skip], dim=1)
+ h = self.conv(x)
+
+ if self.dropout is not None:
+ h = self.dropout(h)
+
+ return h
+
+
+class ASPPModule(nn.Module):
+ def __init__(self, nin, nout, dilations=(4, 8, 16, 32, 64), activ=nn.ReLU):
+ super().__init__()
+ self.conv1 = nn.Sequential(
+ nn.AdaptiveAvgPool2d((1, None)),
+ Conv2DBNActiv(nin, nin, 1, 1, 0, activ=activ),
+ )
+ self.conv2 = Conv2DBNActiv(nin, nin, 1, 1, 0, activ=activ)
+ self.conv3 = SeperableConv2DBNActiv(nin, nin, 3, 1, dilations[0], dilations[0], activ=activ)
+ self.conv4 = SeperableConv2DBNActiv(nin, nin, 3, 1, dilations[1], dilations[1], activ=activ)
+ self.conv5 = SeperableConv2DBNActiv(nin, nin, 3, 1, dilations[2], dilations[2], activ=activ)
+ self.conv6 = SeperableConv2DBNActiv(nin, nin, 3, 1, dilations[2], dilations[2], activ=activ)
+ self.conv7 = SeperableConv2DBNActiv(nin, nin, 3, 1, dilations[2], dilations[2], activ=activ)
+ self.bottleneck = nn.Sequential(Conv2DBNActiv(nin * 7, nout, 1, 1, 0, activ=activ), nn.Dropout2d(0.1))
+
+ def forward(self, x):
+ _, _, h, w = x.size()
+ feat1 = F.interpolate(self.conv1(x), size=(h, w), mode="bilinear", align_corners=True)
+ feat2 = self.conv2(x)
+ feat3 = self.conv3(x)
+ feat4 = self.conv4(x)
+ feat5 = self.conv5(x)
+ feat6 = self.conv6(x)
+ feat7 = self.conv7(x)
+ out = torch.cat((feat1, feat2, feat3, feat4, feat5, feat6, feat7), dim=1)
+ bottle = self.bottleneck(out)
+ return bottle
diff --git a/gsv_tools/uvr5/lib/lib_v5/layers_new.py b/gsv_tools/uvr5/lib/lib_v5/layers_new.py
new file mode 100644
index 00000000..e6d09b2e
--- /dev/null
+++ b/gsv_tools/uvr5/lib/lib_v5/layers_new.py
@@ -0,0 +1,111 @@
+import torch
+import torch.nn.functional as F
+from torch import nn
+
+from . import spec_utils
+
+
+class Conv2DBNActiv(nn.Module):
+ def __init__(self, nin, nout, ksize=3, stride=1, pad=1, dilation=1, activ=nn.ReLU):
+ super().__init__()
+ self.conv = nn.Sequential(
+ nn.Conv2d(
+ nin,
+ nout,
+ kernel_size=ksize,
+ stride=stride,
+ padding=pad,
+ dilation=dilation,
+ bias=False,
+ ),
+ nn.BatchNorm2d(nout),
+ activ(),
+ )
+
+ def __call__(self, x):
+ return self.conv(x)
+
+
+class Encoder(nn.Module):
+ def __init__(self, nin, nout, ksize=3, stride=1, pad=1, activ=nn.LeakyReLU):
+ super().__init__()
+ self.conv1 = Conv2DBNActiv(nin, nout, ksize, stride, pad, activ=activ)
+ self.conv2 = Conv2DBNActiv(nout, nout, ksize, 1, pad, activ=activ)
+
+ def __call__(self, x):
+ h = self.conv1(x)
+ h = self.conv2(h)
+
+ return h
+
+
+class Decoder(nn.Module):
+ def __init__(self, nin, nout, ksize=3, stride=1, pad=1, activ=nn.ReLU, dropout=False):
+ super().__init__()
+ self.conv1 = Conv2DBNActiv(nin, nout, ksize, 1, pad, activ=activ)
+ # self.conv2 = Conv2DBNActiv(nout, nout, ksize, 1, pad, activ=activ)
+ self.dropout = nn.Dropout2d(0.1) if dropout else None
+
+ def __call__(self, x, skip=None):
+ x = F.interpolate(x, scale_factor=2, mode="bilinear", align_corners=True)
+
+ if skip is not None:
+ skip = spec_utils.crop_center(skip, x)
+ x = torch.cat([x, skip], dim=1)
+
+ h = self.conv1(x)
+ # h = self.conv2(h)
+
+ if self.dropout is not None:
+ h = self.dropout(h)
+
+ return h
+
+
+class ASPPModule(nn.Module):
+ def __init__(self, nin, nout, dilations=(4, 8, 12), activ=nn.ReLU, dropout=False):
+ super().__init__()
+ self.conv1 = nn.Sequential(
+ nn.AdaptiveAvgPool2d((1, None)),
+ Conv2DBNActiv(nin, nout, 1, 1, 0, activ=activ),
+ )
+ self.conv2 = Conv2DBNActiv(nin, nout, 1, 1, 0, activ=activ)
+ self.conv3 = Conv2DBNActiv(nin, nout, 3, 1, dilations[0], dilations[0], activ=activ)
+ self.conv4 = Conv2DBNActiv(nin, nout, 3, 1, dilations[1], dilations[1], activ=activ)
+ self.conv5 = Conv2DBNActiv(nin, nout, 3, 1, dilations[2], dilations[2], activ=activ)
+ self.bottleneck = Conv2DBNActiv(nout * 5, nout, 1, 1, 0, activ=activ)
+ self.dropout = nn.Dropout2d(0.1) if dropout else None
+
+ def forward(self, x):
+ _, _, h, w = x.size()
+ feat1 = F.interpolate(self.conv1(x), size=(h, w), mode="bilinear", align_corners=True)
+ feat2 = self.conv2(x)
+ feat3 = self.conv3(x)
+ feat4 = self.conv4(x)
+ feat5 = self.conv5(x)
+ out = torch.cat((feat1, feat2, feat3, feat4, feat5), dim=1)
+ out = self.bottleneck(out)
+
+ if self.dropout is not None:
+ out = self.dropout(out)
+
+ return out
+
+
+class LSTMModule(nn.Module):
+ def __init__(self, nin_conv, nin_lstm, nout_lstm):
+ super().__init__()
+ self.conv = Conv2DBNActiv(nin_conv, 1, 1, 1, 0)
+ self.lstm = nn.LSTM(input_size=nin_lstm, hidden_size=nout_lstm // 2, bidirectional=True)
+ self.dense = nn.Sequential(nn.Linear(nout_lstm, nin_lstm), nn.BatchNorm1d(nin_lstm), nn.ReLU())
+
+ def forward(self, x):
+ N, _, nbins, nframes = x.size()
+ h = self.conv(x)[:, 0] # N, nbins, nframes
+ h = h.permute(2, 0, 1) # nframes, N, nbins
+ h, _ = self.lstm(h)
+ h = self.dense(h.reshape(-1, h.size()[-1])) # nframes * N, nbins
+ h = h.reshape(nframes, N, 1, nbins)
+ h = h.permute(1, 2, 3, 0)
+
+ return h
diff --git a/gsv_tools/uvr5/lib/lib_v5/model_param_init.py b/gsv_tools/uvr5/lib/lib_v5/model_param_init.py
new file mode 100644
index 00000000..d8c3f89c
--- /dev/null
+++ b/gsv_tools/uvr5/lib/lib_v5/model_param_init.py
@@ -0,0 +1,67 @@
+import json
+import pathlib
+
+
+default_param = {}
+default_param["bins"] = 768
+default_param["unstable_bins"] = 9 # training only
+default_param["reduction_bins"] = 762 # training only
+default_param["sr"] = 44100
+default_param["pre_filter_start"] = 757
+default_param["pre_filter_stop"] = 768
+default_param["band"] = {}
+
+
+default_param["band"][1] = {
+ "sr": 11025,
+ "hl": 128,
+ "n_fft": 960,
+ "crop_start": 0,
+ "crop_stop": 245,
+ "lpf_start": 61, # inference only
+ "res_type": "polyphase",
+}
+
+default_param["band"][2] = {
+ "sr": 44100,
+ "hl": 512,
+ "n_fft": 1536,
+ "crop_start": 24,
+ "crop_stop": 547,
+ "hpf_start": 81, # inference only
+ "res_type": "sinc_best",
+}
+
+
+def int_keys(d):
+ r = {}
+ for k, v in d:
+ if k.isdigit():
+ k = int(k)
+ r[k] = v
+ return r
+
+
+class ModelParameters:
+ def __init__(self, config_path=""):
+ if ".pth" == pathlib.Path(config_path).suffix:
+ import zipfile
+
+ with zipfile.ZipFile(config_path, "r") as zip:
+ self.param = json.loads(zip.read("param.json"), object_pairs_hook=int_keys)
+ elif ".json" == pathlib.Path(config_path).suffix:
+ with open(config_path) as f:
+ self.param = json.loads(f.read(), object_pairs_hook=int_keys)
+ else:
+ self.param = default_param
+
+ for k in [
+ "mid_side",
+ "mid_side_b",
+ "mid_side_b2",
+ "stereo_w",
+ "stereo_n",
+ "reverse",
+ ]:
+ if k not in self.param:
+ self.param[k] = False
diff --git a/gsv_tools/uvr5/lib/lib_v5/modelparams/1band_sr16000_hl512.json b/gsv_tools/uvr5/lib/lib_v5/modelparams/1band_sr16000_hl512.json
new file mode 100644
index 00000000..72cb4499
--- /dev/null
+++ b/gsv_tools/uvr5/lib/lib_v5/modelparams/1band_sr16000_hl512.json
@@ -0,0 +1,19 @@
+{
+ "bins": 1024,
+ "unstable_bins": 0,
+ "reduction_bins": 0,
+ "band": {
+ "1": {
+ "sr": 16000,
+ "hl": 512,
+ "n_fft": 2048,
+ "crop_start": 0,
+ "crop_stop": 1024,
+ "hpf_start": -1,
+ "res_type": "sinc_best"
+ }
+ },
+ "sr": 16000,
+ "pre_filter_start": 1023,
+ "pre_filter_stop": 1024
+}
\ No newline at end of file
diff --git a/gsv_tools/uvr5/lib/lib_v5/modelparams/1band_sr32000_hl512.json b/gsv_tools/uvr5/lib/lib_v5/modelparams/1band_sr32000_hl512.json
new file mode 100644
index 00000000..3c00ecf0
--- /dev/null
+++ b/gsv_tools/uvr5/lib/lib_v5/modelparams/1band_sr32000_hl512.json
@@ -0,0 +1,19 @@
+{
+ "bins": 1024,
+ "unstable_bins": 0,
+ "reduction_bins": 0,
+ "band": {
+ "1": {
+ "sr": 32000,
+ "hl": 512,
+ "n_fft": 2048,
+ "crop_start": 0,
+ "crop_stop": 1024,
+ "hpf_start": -1,
+ "res_type": "kaiser_fast"
+ }
+ },
+ "sr": 32000,
+ "pre_filter_start": 1000,
+ "pre_filter_stop": 1021
+}
\ No newline at end of file
diff --git a/gsv_tools/uvr5/lib/lib_v5/modelparams/1band_sr33075_hl384.json b/gsv_tools/uvr5/lib/lib_v5/modelparams/1band_sr33075_hl384.json
new file mode 100644
index 00000000..55666ac9
--- /dev/null
+++ b/gsv_tools/uvr5/lib/lib_v5/modelparams/1band_sr33075_hl384.json
@@ -0,0 +1,19 @@
+{
+ "bins": 1024,
+ "unstable_bins": 0,
+ "reduction_bins": 0,
+ "band": {
+ "1": {
+ "sr": 33075,
+ "hl": 384,
+ "n_fft": 2048,
+ "crop_start": 0,
+ "crop_stop": 1024,
+ "hpf_start": -1,
+ "res_type": "sinc_best"
+ }
+ },
+ "sr": 33075,
+ "pre_filter_start": 1000,
+ "pre_filter_stop": 1021
+}
\ No newline at end of file
diff --git a/gsv_tools/uvr5/lib/lib_v5/modelparams/1band_sr44100_hl1024.json b/gsv_tools/uvr5/lib/lib_v5/modelparams/1band_sr44100_hl1024.json
new file mode 100644
index 00000000..665abe20
--- /dev/null
+++ b/gsv_tools/uvr5/lib/lib_v5/modelparams/1band_sr44100_hl1024.json
@@ -0,0 +1,19 @@
+{
+ "bins": 1024,
+ "unstable_bins": 0,
+ "reduction_bins": 0,
+ "band": {
+ "1": {
+ "sr": 44100,
+ "hl": 1024,
+ "n_fft": 2048,
+ "crop_start": 0,
+ "crop_stop": 1024,
+ "hpf_start": -1,
+ "res_type": "sinc_best"
+ }
+ },
+ "sr": 44100,
+ "pre_filter_start": 1023,
+ "pre_filter_stop": 1024
+}
\ No newline at end of file
diff --git a/gsv_tools/uvr5/lib/lib_v5/modelparams/1band_sr44100_hl256.json b/gsv_tools/uvr5/lib/lib_v5/modelparams/1band_sr44100_hl256.json
new file mode 100644
index 00000000..0e8b16f8
--- /dev/null
+++ b/gsv_tools/uvr5/lib/lib_v5/modelparams/1band_sr44100_hl256.json
@@ -0,0 +1,19 @@
+{
+ "bins": 256,
+ "unstable_bins": 0,
+ "reduction_bins": 0,
+ "band": {
+ "1": {
+ "sr": 44100,
+ "hl": 256,
+ "n_fft": 512,
+ "crop_start": 0,
+ "crop_stop": 256,
+ "hpf_start": -1,
+ "res_type": "sinc_best"
+ }
+ },
+ "sr": 44100,
+ "pre_filter_start": 256,
+ "pre_filter_stop": 256
+}
\ No newline at end of file
diff --git a/gsv_tools/uvr5/lib/lib_v5/modelparams/1band_sr44100_hl512.json b/gsv_tools/uvr5/lib/lib_v5/modelparams/1band_sr44100_hl512.json
new file mode 100644
index 00000000..3b38fcaf
--- /dev/null
+++ b/gsv_tools/uvr5/lib/lib_v5/modelparams/1band_sr44100_hl512.json
@@ -0,0 +1,19 @@
+{
+ "bins": 1024,
+ "unstable_bins": 0,
+ "reduction_bins": 0,
+ "band": {
+ "1": {
+ "sr": 44100,
+ "hl": 512,
+ "n_fft": 2048,
+ "crop_start": 0,
+ "crop_stop": 1024,
+ "hpf_start": -1,
+ "res_type": "sinc_best"
+ }
+ },
+ "sr": 44100,
+ "pre_filter_start": 1023,
+ "pre_filter_stop": 1024
+}
\ No newline at end of file
diff --git a/gsv_tools/uvr5/lib/lib_v5/modelparams/1band_sr44100_hl512_cut.json b/gsv_tools/uvr5/lib/lib_v5/modelparams/1band_sr44100_hl512_cut.json
new file mode 100644
index 00000000..630df352
--- /dev/null
+++ b/gsv_tools/uvr5/lib/lib_v5/modelparams/1band_sr44100_hl512_cut.json
@@ -0,0 +1,19 @@
+{
+ "bins": 1024,
+ "unstable_bins": 0,
+ "reduction_bins": 0,
+ "band": {
+ "1": {
+ "sr": 44100,
+ "hl": 512,
+ "n_fft": 2048,
+ "crop_start": 0,
+ "crop_stop": 700,
+ "hpf_start": -1,
+ "res_type": "sinc_best"
+ }
+ },
+ "sr": 44100,
+ "pre_filter_start": 1023,
+ "pre_filter_stop": 700
+}
\ No newline at end of file
diff --git a/gsv_tools/uvr5/lib/lib_v5/modelparams/2band_32000.json b/gsv_tools/uvr5/lib/lib_v5/modelparams/2band_32000.json
new file mode 100644
index 00000000..ab9cf115
--- /dev/null
+++ b/gsv_tools/uvr5/lib/lib_v5/modelparams/2band_32000.json
@@ -0,0 +1,30 @@
+{
+ "bins": 768,
+ "unstable_bins": 7,
+ "reduction_bins": 705,
+ "band": {
+ "1": {
+ "sr": 6000,
+ "hl": 66,
+ "n_fft": 512,
+ "crop_start": 0,
+ "crop_stop": 240,
+ "lpf_start": 60,
+ "lpf_stop": 118,
+ "res_type": "sinc_fastest"
+ },
+ "2": {
+ "sr": 32000,
+ "hl": 352,
+ "n_fft": 1024,
+ "crop_start": 22,
+ "crop_stop": 505,
+ "hpf_start": 44,
+ "hpf_stop": 23,
+ "res_type": "sinc_medium"
+ }
+ },
+ "sr": 32000,
+ "pre_filter_start": 710,
+ "pre_filter_stop": 731
+}
diff --git a/gsv_tools/uvr5/lib/lib_v5/modelparams/2band_44100_lofi.json b/gsv_tools/uvr5/lib/lib_v5/modelparams/2band_44100_lofi.json
new file mode 100644
index 00000000..7faa216d
--- /dev/null
+++ b/gsv_tools/uvr5/lib/lib_v5/modelparams/2band_44100_lofi.json
@@ -0,0 +1,30 @@
+{
+ "bins": 512,
+ "unstable_bins": 7,
+ "reduction_bins": 510,
+ "band": {
+ "1": {
+ "sr": 11025,
+ "hl": 160,
+ "n_fft": 768,
+ "crop_start": 0,
+ "crop_stop": 192,
+ "lpf_start": 41,
+ "lpf_stop": 139,
+ "res_type": "sinc_fastest"
+ },
+ "2": {
+ "sr": 44100,
+ "hl": 640,
+ "n_fft": 1024,
+ "crop_start": 10,
+ "crop_stop": 320,
+ "hpf_start": 47,
+ "hpf_stop": 15,
+ "res_type": "sinc_medium"
+ }
+ },
+ "sr": 44100,
+ "pre_filter_start": 510,
+ "pre_filter_stop": 512
+}
diff --git a/gsv_tools/uvr5/lib/lib_v5/modelparams/2band_48000.json b/gsv_tools/uvr5/lib/lib_v5/modelparams/2band_48000.json
new file mode 100644
index 00000000..7e781750
--- /dev/null
+++ b/gsv_tools/uvr5/lib/lib_v5/modelparams/2band_48000.json
@@ -0,0 +1,30 @@
+{
+ "bins": 768,
+ "unstable_bins": 7,
+ "reduction_bins": 705,
+ "band": {
+ "1": {
+ "sr": 6000,
+ "hl": 66,
+ "n_fft": 512,
+ "crop_start": 0,
+ "crop_stop": 240,
+ "lpf_start": 60,
+ "lpf_stop": 240,
+ "res_type": "sinc_fastest"
+ },
+ "2": {
+ "sr": 48000,
+ "hl": 528,
+ "n_fft": 1536,
+ "crop_start": 22,
+ "crop_stop": 505,
+ "hpf_start": 82,
+ "hpf_stop": 22,
+ "res_type": "sinc_medium"
+ }
+ },
+ "sr": 48000,
+ "pre_filter_start": 710,
+ "pre_filter_stop": 731
+}
\ No newline at end of file
diff --git a/gsv_tools/uvr5/lib/lib_v5/modelparams/3band_44100.json b/gsv_tools/uvr5/lib/lib_v5/modelparams/3band_44100.json
new file mode 100644
index 00000000..d881d767
--- /dev/null
+++ b/gsv_tools/uvr5/lib/lib_v5/modelparams/3band_44100.json
@@ -0,0 +1,42 @@
+{
+ "bins": 768,
+ "unstable_bins": 5,
+ "reduction_bins": 733,
+ "band": {
+ "1": {
+ "sr": 11025,
+ "hl": 128,
+ "n_fft": 768,
+ "crop_start": 0,
+ "crop_stop": 278,
+ "lpf_start": 28,
+ "lpf_stop": 140,
+ "res_type": "polyphase"
+ },
+ "2": {
+ "sr": 22050,
+ "hl": 256,
+ "n_fft": 768,
+ "crop_start": 14,
+ "crop_stop": 322,
+ "hpf_start": 70,
+ "hpf_stop": 14,
+ "lpf_start": 283,
+ "lpf_stop": 314,
+ "res_type": "polyphase"
+ },
+ "3": {
+ "sr": 44100,
+ "hl": 512,
+ "n_fft": 768,
+ "crop_start": 131,
+ "crop_stop": 313,
+ "hpf_start": 154,
+ "hpf_stop": 141,
+ "res_type": "sinc_medium"
+ }
+ },
+ "sr": 44100,
+ "pre_filter_start": 757,
+ "pre_filter_stop": 768
+}
diff --git a/gsv_tools/uvr5/lib/lib_v5/modelparams/3band_44100_mid.json b/gsv_tools/uvr5/lib/lib_v5/modelparams/3band_44100_mid.json
new file mode 100644
index 00000000..77ec1985
--- /dev/null
+++ b/gsv_tools/uvr5/lib/lib_v5/modelparams/3band_44100_mid.json
@@ -0,0 +1,43 @@
+{
+ "mid_side": true,
+ "bins": 768,
+ "unstable_bins": 5,
+ "reduction_bins": 733,
+ "band": {
+ "1": {
+ "sr": 11025,
+ "hl": 128,
+ "n_fft": 768,
+ "crop_start": 0,
+ "crop_stop": 278,
+ "lpf_start": 28,
+ "lpf_stop": 140,
+ "res_type": "polyphase"
+ },
+ "2": {
+ "sr": 22050,
+ "hl": 256,
+ "n_fft": 768,
+ "crop_start": 14,
+ "crop_stop": 322,
+ "hpf_start": 70,
+ "hpf_stop": 14,
+ "lpf_start": 283,
+ "lpf_stop": 314,
+ "res_type": "polyphase"
+ },
+ "3": {
+ "sr": 44100,
+ "hl": 512,
+ "n_fft": 768,
+ "crop_start": 131,
+ "crop_stop": 313,
+ "hpf_start": 154,
+ "hpf_stop": 141,
+ "res_type": "sinc_medium"
+ }
+ },
+ "sr": 44100,
+ "pre_filter_start": 757,
+ "pre_filter_stop": 768
+}
diff --git a/gsv_tools/uvr5/lib/lib_v5/modelparams/3band_44100_msb2.json b/gsv_tools/uvr5/lib/lib_v5/modelparams/3band_44100_msb2.json
new file mode 100644
index 00000000..85ee8a7d
--- /dev/null
+++ b/gsv_tools/uvr5/lib/lib_v5/modelparams/3band_44100_msb2.json
@@ -0,0 +1,43 @@
+{
+ "mid_side_b2": true,
+ "bins": 640,
+ "unstable_bins": 7,
+ "reduction_bins": 565,
+ "band": {
+ "1": {
+ "sr": 11025,
+ "hl": 108,
+ "n_fft": 1024,
+ "crop_start": 0,
+ "crop_stop": 187,
+ "lpf_start": 92,
+ "lpf_stop": 186,
+ "res_type": "polyphase"
+ },
+ "2": {
+ "sr": 22050,
+ "hl": 216,
+ "n_fft": 768,
+ "crop_start": 0,
+ "crop_stop": 212,
+ "hpf_start": 68,
+ "hpf_stop": 34,
+ "lpf_start": 174,
+ "lpf_stop": 209,
+ "res_type": "polyphase"
+ },
+ "3": {
+ "sr": 44100,
+ "hl": 432,
+ "n_fft": 640,
+ "crop_start": 66,
+ "crop_stop": 307,
+ "hpf_start": 86,
+ "hpf_stop": 72,
+ "res_type": "kaiser_fast"
+ }
+ },
+ "sr": 44100,
+ "pre_filter_start": 639,
+ "pre_filter_stop": 640
+}
diff --git a/gsv_tools/uvr5/lib/lib_v5/modelparams/4band_44100.json b/gsv_tools/uvr5/lib/lib_v5/modelparams/4band_44100.json
new file mode 100644
index 00000000..df123754
--- /dev/null
+++ b/gsv_tools/uvr5/lib/lib_v5/modelparams/4band_44100.json
@@ -0,0 +1,54 @@
+{
+ "bins": 768,
+ "unstable_bins": 7,
+ "reduction_bins": 668,
+ "band": {
+ "1": {
+ "sr": 11025,
+ "hl": 128,
+ "n_fft": 1024,
+ "crop_start": 0,
+ "crop_stop": 186,
+ "lpf_start": 37,
+ "lpf_stop": 73,
+ "res_type": "polyphase"
+ },
+ "2": {
+ "sr": 11025,
+ "hl": 128,
+ "n_fft": 512,
+ "crop_start": 4,
+ "crop_stop": 185,
+ "hpf_start": 36,
+ "hpf_stop": 18,
+ "lpf_start": 93,
+ "lpf_stop": 185,
+ "res_type": "polyphase"
+ },
+ "3": {
+ "sr": 22050,
+ "hl": 256,
+ "n_fft": 512,
+ "crop_start": 46,
+ "crop_stop": 186,
+ "hpf_start": 93,
+ "hpf_stop": 46,
+ "lpf_start": 164,
+ "lpf_stop": 186,
+ "res_type": "polyphase"
+ },
+ "4": {
+ "sr": 44100,
+ "hl": 512,
+ "n_fft": 768,
+ "crop_start": 121,
+ "crop_stop": 382,
+ "hpf_start": 138,
+ "hpf_stop": 123,
+ "res_type": "sinc_medium"
+ }
+ },
+ "sr": 44100,
+ "pre_filter_start": 740,
+ "pre_filter_stop": 768
+}
diff --git a/gsv_tools/uvr5/lib/lib_v5/modelparams/4band_44100_mid.json b/gsv_tools/uvr5/lib/lib_v5/modelparams/4band_44100_mid.json
new file mode 100644
index 00000000..e91b699e
--- /dev/null
+++ b/gsv_tools/uvr5/lib/lib_v5/modelparams/4band_44100_mid.json
@@ -0,0 +1,55 @@
+{
+ "bins": 768,
+ "unstable_bins": 7,
+ "mid_side": true,
+ "reduction_bins": 668,
+ "band": {
+ "1": {
+ "sr": 11025,
+ "hl": 128,
+ "n_fft": 1024,
+ "crop_start": 0,
+ "crop_stop": 186,
+ "lpf_start": 37,
+ "lpf_stop": 73,
+ "res_type": "polyphase"
+ },
+ "2": {
+ "sr": 11025,
+ "hl": 128,
+ "n_fft": 512,
+ "crop_start": 4,
+ "crop_stop": 185,
+ "hpf_start": 36,
+ "hpf_stop": 18,
+ "lpf_start": 93,
+ "lpf_stop": 185,
+ "res_type": "polyphase"
+ },
+ "3": {
+ "sr": 22050,
+ "hl": 256,
+ "n_fft": 512,
+ "crop_start": 46,
+ "crop_stop": 186,
+ "hpf_start": 93,
+ "hpf_stop": 46,
+ "lpf_start": 164,
+ "lpf_stop": 186,
+ "res_type": "polyphase"
+ },
+ "4": {
+ "sr": 44100,
+ "hl": 512,
+ "n_fft": 768,
+ "crop_start": 121,
+ "crop_stop": 382,
+ "hpf_start": 138,
+ "hpf_stop": 123,
+ "res_type": "sinc_medium"
+ }
+ },
+ "sr": 44100,
+ "pre_filter_start": 740,
+ "pre_filter_stop": 768
+}
diff --git a/gsv_tools/uvr5/lib/lib_v5/modelparams/4band_44100_msb.json b/gsv_tools/uvr5/lib/lib_v5/modelparams/4band_44100_msb.json
new file mode 100644
index 00000000..f852f280
--- /dev/null
+++ b/gsv_tools/uvr5/lib/lib_v5/modelparams/4band_44100_msb.json
@@ -0,0 +1,55 @@
+{
+ "mid_side_b": true,
+ "bins": 768,
+ "unstable_bins": 7,
+ "reduction_bins": 668,
+ "band": {
+ "1": {
+ "sr": 11025,
+ "hl": 128,
+ "n_fft": 1024,
+ "crop_start": 0,
+ "crop_stop": 186,
+ "lpf_start": 37,
+ "lpf_stop": 73,
+ "res_type": "polyphase"
+ },
+ "2": {
+ "sr": 11025,
+ "hl": 128,
+ "n_fft": 512,
+ "crop_start": 4,
+ "crop_stop": 185,
+ "hpf_start": 36,
+ "hpf_stop": 18,
+ "lpf_start": 93,
+ "lpf_stop": 185,
+ "res_type": "polyphase"
+ },
+ "3": {
+ "sr": 22050,
+ "hl": 256,
+ "n_fft": 512,
+ "crop_start": 46,
+ "crop_stop": 186,
+ "hpf_start": 93,
+ "hpf_stop": 46,
+ "lpf_start": 164,
+ "lpf_stop": 186,
+ "res_type": "polyphase"
+ },
+ "4": {
+ "sr": 44100,
+ "hl": 512,
+ "n_fft": 768,
+ "crop_start": 121,
+ "crop_stop": 382,
+ "hpf_start": 138,
+ "hpf_stop": 123,
+ "res_type": "sinc_medium"
+ }
+ },
+ "sr": 44100,
+ "pre_filter_start": 740,
+ "pre_filter_stop": 768
+}
\ No newline at end of file
diff --git a/gsv_tools/uvr5/lib/lib_v5/modelparams/4band_44100_msb2.json b/gsv_tools/uvr5/lib/lib_v5/modelparams/4band_44100_msb2.json
new file mode 100644
index 00000000..f852f280
--- /dev/null
+++ b/gsv_tools/uvr5/lib/lib_v5/modelparams/4band_44100_msb2.json
@@ -0,0 +1,55 @@
+{
+ "mid_side_b": true,
+ "bins": 768,
+ "unstable_bins": 7,
+ "reduction_bins": 668,
+ "band": {
+ "1": {
+ "sr": 11025,
+ "hl": 128,
+ "n_fft": 1024,
+ "crop_start": 0,
+ "crop_stop": 186,
+ "lpf_start": 37,
+ "lpf_stop": 73,
+ "res_type": "polyphase"
+ },
+ "2": {
+ "sr": 11025,
+ "hl": 128,
+ "n_fft": 512,
+ "crop_start": 4,
+ "crop_stop": 185,
+ "hpf_start": 36,
+ "hpf_stop": 18,
+ "lpf_start": 93,
+ "lpf_stop": 185,
+ "res_type": "polyphase"
+ },
+ "3": {
+ "sr": 22050,
+ "hl": 256,
+ "n_fft": 512,
+ "crop_start": 46,
+ "crop_stop": 186,
+ "hpf_start": 93,
+ "hpf_stop": 46,
+ "lpf_start": 164,
+ "lpf_stop": 186,
+ "res_type": "polyphase"
+ },
+ "4": {
+ "sr": 44100,
+ "hl": 512,
+ "n_fft": 768,
+ "crop_start": 121,
+ "crop_stop": 382,
+ "hpf_start": 138,
+ "hpf_stop": 123,
+ "res_type": "sinc_medium"
+ }
+ },
+ "sr": 44100,
+ "pre_filter_start": 740,
+ "pre_filter_stop": 768
+}
\ No newline at end of file
diff --git a/gsv_tools/uvr5/lib/lib_v5/modelparams/4band_44100_reverse.json b/gsv_tools/uvr5/lib/lib_v5/modelparams/4band_44100_reverse.json
new file mode 100644
index 00000000..7a07d554
--- /dev/null
+++ b/gsv_tools/uvr5/lib/lib_v5/modelparams/4band_44100_reverse.json
@@ -0,0 +1,55 @@
+{
+ "reverse": true,
+ "bins": 768,
+ "unstable_bins": 7,
+ "reduction_bins": 668,
+ "band": {
+ "1": {
+ "sr": 11025,
+ "hl": 128,
+ "n_fft": 1024,
+ "crop_start": 0,
+ "crop_stop": 186,
+ "lpf_start": 37,
+ "lpf_stop": 73,
+ "res_type": "polyphase"
+ },
+ "2": {
+ "sr": 11025,
+ "hl": 128,
+ "n_fft": 512,
+ "crop_start": 4,
+ "crop_stop": 185,
+ "hpf_start": 36,
+ "hpf_stop": 18,
+ "lpf_start": 93,
+ "lpf_stop": 185,
+ "res_type": "polyphase"
+ },
+ "3": {
+ "sr": 22050,
+ "hl": 256,
+ "n_fft": 512,
+ "crop_start": 46,
+ "crop_stop": 186,
+ "hpf_start": 93,
+ "hpf_stop": 46,
+ "lpf_start": 164,
+ "lpf_stop": 186,
+ "res_type": "polyphase"
+ },
+ "4": {
+ "sr": 44100,
+ "hl": 512,
+ "n_fft": 768,
+ "crop_start": 121,
+ "crop_stop": 382,
+ "hpf_start": 138,
+ "hpf_stop": 123,
+ "res_type": "sinc_medium"
+ }
+ },
+ "sr": 44100,
+ "pre_filter_start": 740,
+ "pre_filter_stop": 768
+}
\ No newline at end of file
diff --git a/gsv_tools/uvr5/lib/lib_v5/modelparams/4band_44100_sw.json b/gsv_tools/uvr5/lib/lib_v5/modelparams/4band_44100_sw.json
new file mode 100644
index 00000000..ba0cf342
--- /dev/null
+++ b/gsv_tools/uvr5/lib/lib_v5/modelparams/4band_44100_sw.json
@@ -0,0 +1,55 @@
+{
+ "stereo_w": true,
+ "bins": 768,
+ "unstable_bins": 7,
+ "reduction_bins": 668,
+ "band": {
+ "1": {
+ "sr": 11025,
+ "hl": 128,
+ "n_fft": 1024,
+ "crop_start": 0,
+ "crop_stop": 186,
+ "lpf_start": 37,
+ "lpf_stop": 73,
+ "res_type": "polyphase"
+ },
+ "2": {
+ "sr": 11025,
+ "hl": 128,
+ "n_fft": 512,
+ "crop_start": 4,
+ "crop_stop": 185,
+ "hpf_start": 36,
+ "hpf_stop": 18,
+ "lpf_start": 93,
+ "lpf_stop": 185,
+ "res_type": "polyphase"
+ },
+ "3": {
+ "sr": 22050,
+ "hl": 256,
+ "n_fft": 512,
+ "crop_start": 46,
+ "crop_stop": 186,
+ "hpf_start": 93,
+ "hpf_stop": 46,
+ "lpf_start": 164,
+ "lpf_stop": 186,
+ "res_type": "polyphase"
+ },
+ "4": {
+ "sr": 44100,
+ "hl": 512,
+ "n_fft": 768,
+ "crop_start": 121,
+ "crop_stop": 382,
+ "hpf_start": 138,
+ "hpf_stop": 123,
+ "res_type": "sinc_medium"
+ }
+ },
+ "sr": 44100,
+ "pre_filter_start": 740,
+ "pre_filter_stop": 768
+}
\ No newline at end of file
diff --git a/gsv_tools/uvr5/lib/lib_v5/modelparams/4band_v2.json b/gsv_tools/uvr5/lib/lib_v5/modelparams/4band_v2.json
new file mode 100644
index 00000000..33281a0c
--- /dev/null
+++ b/gsv_tools/uvr5/lib/lib_v5/modelparams/4band_v2.json
@@ -0,0 +1,54 @@
+{
+ "bins": 672,
+ "unstable_bins": 8,
+ "reduction_bins": 637,
+ "band": {
+ "1": {
+ "sr": 7350,
+ "hl": 80,
+ "n_fft": 640,
+ "crop_start": 0,
+ "crop_stop": 85,
+ "lpf_start": 25,
+ "lpf_stop": 53,
+ "res_type": "polyphase"
+ },
+ "2": {
+ "sr": 7350,
+ "hl": 80,
+ "n_fft": 320,
+ "crop_start": 4,
+ "crop_stop": 87,
+ "hpf_start": 25,
+ "hpf_stop": 12,
+ "lpf_start": 31,
+ "lpf_stop": 62,
+ "res_type": "polyphase"
+ },
+ "3": {
+ "sr": 14700,
+ "hl": 160,
+ "n_fft": 512,
+ "crop_start": 17,
+ "crop_stop": 216,
+ "hpf_start": 48,
+ "hpf_stop": 24,
+ "lpf_start": 139,
+ "lpf_stop": 210,
+ "res_type": "polyphase"
+ },
+ "4": {
+ "sr": 44100,
+ "hl": 480,
+ "n_fft": 960,
+ "crop_start": 78,
+ "crop_stop": 383,
+ "hpf_start": 130,
+ "hpf_stop": 86,
+ "res_type": "kaiser_fast"
+ }
+ },
+ "sr": 44100,
+ "pre_filter_start": 668,
+ "pre_filter_stop": 672
+}
\ No newline at end of file
diff --git a/gsv_tools/uvr5/lib/lib_v5/modelparams/4band_v2_sn.json b/gsv_tools/uvr5/lib/lib_v5/modelparams/4band_v2_sn.json
new file mode 100644
index 00000000..2e5c770f
--- /dev/null
+++ b/gsv_tools/uvr5/lib/lib_v5/modelparams/4band_v2_sn.json
@@ -0,0 +1,55 @@
+{
+ "bins": 672,
+ "unstable_bins": 8,
+ "reduction_bins": 637,
+ "band": {
+ "1": {
+ "sr": 7350,
+ "hl": 80,
+ "n_fft": 640,
+ "crop_start": 0,
+ "crop_stop": 85,
+ "lpf_start": 25,
+ "lpf_stop": 53,
+ "res_type": "polyphase"
+ },
+ "2": {
+ "sr": 7350,
+ "hl": 80,
+ "n_fft": 320,
+ "crop_start": 4,
+ "crop_stop": 87,
+ "hpf_start": 25,
+ "hpf_stop": 12,
+ "lpf_start": 31,
+ "lpf_stop": 62,
+ "res_type": "polyphase"
+ },
+ "3": {
+ "sr": 14700,
+ "hl": 160,
+ "n_fft": 512,
+ "crop_start": 17,
+ "crop_stop": 216,
+ "hpf_start": 48,
+ "hpf_stop": 24,
+ "lpf_start": 139,
+ "lpf_stop": 210,
+ "res_type": "polyphase"
+ },
+ "4": {
+ "sr": 44100,
+ "hl": 480,
+ "n_fft": 960,
+ "crop_start": 78,
+ "crop_stop": 383,
+ "hpf_start": 130,
+ "hpf_stop": 86,
+ "convert_channels": "stereo_n",
+ "res_type": "kaiser_fast"
+ }
+ },
+ "sr": 44100,
+ "pre_filter_start": 668,
+ "pre_filter_stop": 672
+}
\ No newline at end of file
diff --git a/gsv_tools/uvr5/lib/lib_v5/modelparams/4band_v3.json b/gsv_tools/uvr5/lib/lib_v5/modelparams/4band_v3.json
new file mode 100644
index 00000000..2a73bc97
--- /dev/null
+++ b/gsv_tools/uvr5/lib/lib_v5/modelparams/4band_v3.json
@@ -0,0 +1,54 @@
+{
+ "bins": 672,
+ "unstable_bins": 8,
+ "reduction_bins": 530,
+ "band": {
+ "1": {
+ "sr": 7350,
+ "hl": 80,
+ "n_fft": 640,
+ "crop_start": 0,
+ "crop_stop": 85,
+ "lpf_start": 25,
+ "lpf_stop": 53,
+ "res_type": "polyphase"
+ },
+ "2": {
+ "sr": 7350,
+ "hl": 80,
+ "n_fft": 320,
+ "crop_start": 4,
+ "crop_stop": 87,
+ "hpf_start": 25,
+ "hpf_stop": 12,
+ "lpf_start": 31,
+ "lpf_stop": 62,
+ "res_type": "polyphase"
+ },
+ "3": {
+ "sr": 14700,
+ "hl": 160,
+ "n_fft": 512,
+ "crop_start": 17,
+ "crop_stop": 216,
+ "hpf_start": 48,
+ "hpf_stop": 24,
+ "lpf_start": 139,
+ "lpf_stop": 210,
+ "res_type": "polyphase"
+ },
+ "4": {
+ "sr": 44100,
+ "hl": 480,
+ "n_fft": 960,
+ "crop_start": 78,
+ "crop_stop": 383,
+ "hpf_start": 130,
+ "hpf_stop": 86,
+ "res_type": "kaiser_fast"
+ }
+ },
+ "sr": 44100,
+ "pre_filter_start": 668,
+ "pre_filter_stop": 672
+}
\ No newline at end of file
diff --git a/gsv_tools/uvr5/lib/lib_v5/modelparams/ensemble.json b/gsv_tools/uvr5/lib/lib_v5/modelparams/ensemble.json
new file mode 100644
index 00000000..ee69beb4
--- /dev/null
+++ b/gsv_tools/uvr5/lib/lib_v5/modelparams/ensemble.json
@@ -0,0 +1,43 @@
+{
+ "mid_side_b2": true,
+ "bins": 1280,
+ "unstable_bins": 7,
+ "reduction_bins": 565,
+ "band": {
+ "1": {
+ "sr": 11025,
+ "hl": 108,
+ "n_fft": 2048,
+ "crop_start": 0,
+ "crop_stop": 374,
+ "lpf_start": 92,
+ "lpf_stop": 186,
+ "res_type": "polyphase"
+ },
+ "2": {
+ "sr": 22050,
+ "hl": 216,
+ "n_fft": 1536,
+ "crop_start": 0,
+ "crop_stop": 424,
+ "hpf_start": 68,
+ "hpf_stop": 34,
+ "lpf_start": 348,
+ "lpf_stop": 418,
+ "res_type": "polyphase"
+ },
+ "3": {
+ "sr": 44100,
+ "hl": 432,
+ "n_fft": 1280,
+ "crop_start": 132,
+ "crop_stop": 614,
+ "hpf_start": 172,
+ "hpf_stop": 144,
+ "res_type": "polyphase"
+ }
+ },
+ "sr": 44100,
+ "pre_filter_start": 1280,
+ "pre_filter_stop": 1280
+}
\ No newline at end of file
diff --git a/gsv_tools/uvr5/lib/lib_v5/nets.py b/gsv_tools/uvr5/lib/lib_v5/nets.py
new file mode 100644
index 00000000..bf65dbc0
--- /dev/null
+++ b/gsv_tools/uvr5/lib/lib_v5/nets.py
@@ -0,0 +1,121 @@
+import layers
+import torch
+import torch.nn.functional as F
+from torch import nn
+
+
+class BaseASPPNet(nn.Module):
+ def __init__(self, nin, ch, dilations=(4, 8, 16)):
+ super().__init__()
+ self.enc1 = layers.Encoder(nin, ch, 3, 2, 1)
+ self.enc2 = layers.Encoder(ch, ch * 2, 3, 2, 1)
+ self.enc3 = layers.Encoder(ch * 2, ch * 4, 3, 2, 1)
+ self.enc4 = layers.Encoder(ch * 4, ch * 8, 3, 2, 1)
+
+ self.aspp = layers.ASPPModule(ch * 8, ch * 16, dilations)
+
+ self.dec4 = layers.Decoder(ch * (8 + 16), ch * 8, 3, 1, 1)
+ self.dec3 = layers.Decoder(ch * (4 + 8), ch * 4, 3, 1, 1)
+ self.dec2 = layers.Decoder(ch * (2 + 4), ch * 2, 3, 1, 1)
+ self.dec1 = layers.Decoder(ch * (1 + 2), ch, 3, 1, 1)
+
+ def __call__(self, x):
+ h, e1 = self.enc1(x)
+ h, e2 = self.enc2(h)
+ h, e3 = self.enc3(h)
+ h, e4 = self.enc4(h)
+
+ h = self.aspp(h)
+
+ h = self.dec4(h, e4)
+ h = self.dec3(h, e3)
+ h = self.dec2(h, e2)
+ h = self.dec1(h, e1)
+
+ return h
+
+
+class CascadedASPPNet(nn.Module):
+ def __init__(self, n_fft):
+ super().__init__()
+ self.stg1_low_band_net = BaseASPPNet(2, 16)
+ self.stg1_high_band_net = BaseASPPNet(2, 16)
+
+ self.stg2_bridge = layers.Conv2DBNActiv(18, 8, 1, 1, 0)
+ self.stg2_full_band_net = BaseASPPNet(8, 16)
+
+ self.stg3_bridge = layers.Conv2DBNActiv(34, 16, 1, 1, 0)
+ self.stg3_full_band_net = BaseASPPNet(16, 32)
+
+ self.out = nn.Conv2d(32, 2, 1, bias=False)
+ self.aux1_out = nn.Conv2d(16, 2, 1, bias=False)
+ self.aux2_out = nn.Conv2d(16, 2, 1, bias=False)
+
+ self.max_bin = n_fft // 2
+ self.output_bin = n_fft // 2 + 1
+
+ self.offset = 128
+
+ def forward(self, x, aggressiveness=None):
+ mix = x.detach()
+ x = x.clone()
+
+ x = x[:, :, : self.max_bin]
+
+ bandw = x.size()[2] // 2
+ aux1 = torch.cat(
+ [
+ self.stg1_low_band_net(x[:, :, :bandw]),
+ self.stg1_high_band_net(x[:, :, bandw:]),
+ ],
+ dim=2,
+ )
+
+ h = torch.cat([x, aux1], dim=1)
+ aux2 = self.stg2_full_band_net(self.stg2_bridge(h))
+
+ h = torch.cat([x, aux1, aux2], dim=1)
+ h = self.stg3_full_band_net(self.stg3_bridge(h))
+
+ mask = torch.sigmoid(self.out(h))
+ mask = F.pad(
+ input=mask,
+ pad=(0, 0, 0, self.output_bin - mask.size()[2]),
+ mode="replicate",
+ )
+
+ if self.training:
+ aux1 = torch.sigmoid(self.aux1_out(aux1))
+ aux1 = F.pad(
+ input=aux1,
+ pad=(0, 0, 0, self.output_bin - aux1.size()[2]),
+ mode="replicate",
+ )
+ aux2 = torch.sigmoid(self.aux2_out(aux2))
+ aux2 = F.pad(
+ input=aux2,
+ pad=(0, 0, 0, self.output_bin - aux2.size()[2]),
+ mode="replicate",
+ )
+ return mask * mix, aux1 * mix, aux2 * mix
+ else:
+ if aggressiveness:
+ mask[:, :, : aggressiveness["split_bin"]] = torch.pow(
+ mask[:, :, : aggressiveness["split_bin"]],
+ 1 + aggressiveness["value"] / 3,
+ )
+ mask[:, :, aggressiveness["split_bin"] :] = torch.pow(
+ mask[:, :, aggressiveness["split_bin"] :],
+ 1 + aggressiveness["value"],
+ )
+
+ return mask * mix
+
+ def predict(self, x_mag, aggressiveness=None):
+ h = self.forward(x_mag, aggressiveness)
+
+ if self.offset > 0:
+ h = h[:, :, :, self.offset : -self.offset]
+ assert h.size()[3] > 0
+
+ return h
diff --git a/gsv_tools/uvr5/lib/lib_v5/nets_123812KB.py b/gsv_tools/uvr5/lib/lib_v5/nets_123812KB.py
new file mode 100644
index 00000000..09b13207
--- /dev/null
+++ b/gsv_tools/uvr5/lib/lib_v5/nets_123812KB.py
@@ -0,0 +1,122 @@
+import torch
+import torch.nn.functional as F
+from torch import nn
+
+from . import layers_123821KB as layers
+
+
+class BaseASPPNet(nn.Module):
+ def __init__(self, nin, ch, dilations=(4, 8, 16)):
+ super().__init__()
+ self.enc1 = layers.Encoder(nin, ch, 3, 2, 1)
+ self.enc2 = layers.Encoder(ch, ch * 2, 3, 2, 1)
+ self.enc3 = layers.Encoder(ch * 2, ch * 4, 3, 2, 1)
+ self.enc4 = layers.Encoder(ch * 4, ch * 8, 3, 2, 1)
+
+ self.aspp = layers.ASPPModule(ch * 8, ch * 16, dilations)
+
+ self.dec4 = layers.Decoder(ch * (8 + 16), ch * 8, 3, 1, 1)
+ self.dec3 = layers.Decoder(ch * (4 + 8), ch * 4, 3, 1, 1)
+ self.dec2 = layers.Decoder(ch * (2 + 4), ch * 2, 3, 1, 1)
+ self.dec1 = layers.Decoder(ch * (1 + 2), ch, 3, 1, 1)
+
+ def __call__(self, x):
+ h, e1 = self.enc1(x)
+ h, e2 = self.enc2(h)
+ h, e3 = self.enc3(h)
+ h, e4 = self.enc4(h)
+
+ h = self.aspp(h)
+
+ h = self.dec4(h, e4)
+ h = self.dec3(h, e3)
+ h = self.dec2(h, e2)
+ h = self.dec1(h, e1)
+
+ return h
+
+
+class CascadedASPPNet(nn.Module):
+ def __init__(self, n_fft):
+ super().__init__()
+ self.stg1_low_band_net = BaseASPPNet(2, 32)
+ self.stg1_high_band_net = BaseASPPNet(2, 32)
+
+ self.stg2_bridge = layers.Conv2DBNActiv(34, 16, 1, 1, 0)
+ self.stg2_full_band_net = BaseASPPNet(16, 32)
+
+ self.stg3_bridge = layers.Conv2DBNActiv(66, 32, 1, 1, 0)
+ self.stg3_full_band_net = BaseASPPNet(32, 64)
+
+ self.out = nn.Conv2d(64, 2, 1, bias=False)
+ self.aux1_out = nn.Conv2d(32, 2, 1, bias=False)
+ self.aux2_out = nn.Conv2d(32, 2, 1, bias=False)
+
+ self.max_bin = n_fft // 2
+ self.output_bin = n_fft // 2 + 1
+
+ self.offset = 128
+
+ def forward(self, x, aggressiveness=None):
+ mix = x.detach()
+ x = x.clone()
+
+ x = x[:, :, : self.max_bin]
+
+ bandw = x.size()[2] // 2
+ aux1 = torch.cat(
+ [
+ self.stg1_low_band_net(x[:, :, :bandw]),
+ self.stg1_high_band_net(x[:, :, bandw:]),
+ ],
+ dim=2,
+ )
+
+ h = torch.cat([x, aux1], dim=1)
+ aux2 = self.stg2_full_band_net(self.stg2_bridge(h))
+
+ h = torch.cat([x, aux1, aux2], dim=1)
+ h = self.stg3_full_band_net(self.stg3_bridge(h))
+
+ mask = torch.sigmoid(self.out(h))
+ mask = F.pad(
+ input=mask,
+ pad=(0, 0, 0, self.output_bin - mask.size()[2]),
+ mode="replicate",
+ )
+
+ if self.training:
+ aux1 = torch.sigmoid(self.aux1_out(aux1))
+ aux1 = F.pad(
+ input=aux1,
+ pad=(0, 0, 0, self.output_bin - aux1.size()[2]),
+ mode="replicate",
+ )
+ aux2 = torch.sigmoid(self.aux2_out(aux2))
+ aux2 = F.pad(
+ input=aux2,
+ pad=(0, 0, 0, self.output_bin - aux2.size()[2]),
+ mode="replicate",
+ )
+ return mask * mix, aux1 * mix, aux2 * mix
+ else:
+ if aggressiveness:
+ mask[:, :, : aggressiveness["split_bin"]] = torch.pow(
+ mask[:, :, : aggressiveness["split_bin"]],
+ 1 + aggressiveness["value"] / 3,
+ )
+ mask[:, :, aggressiveness["split_bin"] :] = torch.pow(
+ mask[:, :, aggressiveness["split_bin"] :],
+ 1 + aggressiveness["value"],
+ )
+
+ return mask * mix
+
+ def predict(self, x_mag, aggressiveness=None):
+ h = self.forward(x_mag, aggressiveness)
+
+ if self.offset > 0:
+ h = h[:, :, :, self.offset : -self.offset]
+ assert h.size()[3] > 0
+
+ return h
diff --git a/gsv_tools/uvr5/lib/lib_v5/nets_123821KB.py b/gsv_tools/uvr5/lib/lib_v5/nets_123821KB.py
new file mode 100644
index 00000000..09b13207
--- /dev/null
+++ b/gsv_tools/uvr5/lib/lib_v5/nets_123821KB.py
@@ -0,0 +1,122 @@
+import torch
+import torch.nn.functional as F
+from torch import nn
+
+from . import layers_123821KB as layers
+
+
+class BaseASPPNet(nn.Module):
+ def __init__(self, nin, ch, dilations=(4, 8, 16)):
+ super().__init__()
+ self.enc1 = layers.Encoder(nin, ch, 3, 2, 1)
+ self.enc2 = layers.Encoder(ch, ch * 2, 3, 2, 1)
+ self.enc3 = layers.Encoder(ch * 2, ch * 4, 3, 2, 1)
+ self.enc4 = layers.Encoder(ch * 4, ch * 8, 3, 2, 1)
+
+ self.aspp = layers.ASPPModule(ch * 8, ch * 16, dilations)
+
+ self.dec4 = layers.Decoder(ch * (8 + 16), ch * 8, 3, 1, 1)
+ self.dec3 = layers.Decoder(ch * (4 + 8), ch * 4, 3, 1, 1)
+ self.dec2 = layers.Decoder(ch * (2 + 4), ch * 2, 3, 1, 1)
+ self.dec1 = layers.Decoder(ch * (1 + 2), ch, 3, 1, 1)
+
+ def __call__(self, x):
+ h, e1 = self.enc1(x)
+ h, e2 = self.enc2(h)
+ h, e3 = self.enc3(h)
+ h, e4 = self.enc4(h)
+
+ h = self.aspp(h)
+
+ h = self.dec4(h, e4)
+ h = self.dec3(h, e3)
+ h = self.dec2(h, e2)
+ h = self.dec1(h, e1)
+
+ return h
+
+
+class CascadedASPPNet(nn.Module):
+ def __init__(self, n_fft):
+ super().__init__()
+ self.stg1_low_band_net = BaseASPPNet(2, 32)
+ self.stg1_high_band_net = BaseASPPNet(2, 32)
+
+ self.stg2_bridge = layers.Conv2DBNActiv(34, 16, 1, 1, 0)
+ self.stg2_full_band_net = BaseASPPNet(16, 32)
+
+ self.stg3_bridge = layers.Conv2DBNActiv(66, 32, 1, 1, 0)
+ self.stg3_full_band_net = BaseASPPNet(32, 64)
+
+ self.out = nn.Conv2d(64, 2, 1, bias=False)
+ self.aux1_out = nn.Conv2d(32, 2, 1, bias=False)
+ self.aux2_out = nn.Conv2d(32, 2, 1, bias=False)
+
+ self.max_bin = n_fft // 2
+ self.output_bin = n_fft // 2 + 1
+
+ self.offset = 128
+
+ def forward(self, x, aggressiveness=None):
+ mix = x.detach()
+ x = x.clone()
+
+ x = x[:, :, : self.max_bin]
+
+ bandw = x.size()[2] // 2
+ aux1 = torch.cat(
+ [
+ self.stg1_low_band_net(x[:, :, :bandw]),
+ self.stg1_high_band_net(x[:, :, bandw:]),
+ ],
+ dim=2,
+ )
+
+ h = torch.cat([x, aux1], dim=1)
+ aux2 = self.stg2_full_band_net(self.stg2_bridge(h))
+
+ h = torch.cat([x, aux1, aux2], dim=1)
+ h = self.stg3_full_band_net(self.stg3_bridge(h))
+
+ mask = torch.sigmoid(self.out(h))
+ mask = F.pad(
+ input=mask,
+ pad=(0, 0, 0, self.output_bin - mask.size()[2]),
+ mode="replicate",
+ )
+
+ if self.training:
+ aux1 = torch.sigmoid(self.aux1_out(aux1))
+ aux1 = F.pad(
+ input=aux1,
+ pad=(0, 0, 0, self.output_bin - aux1.size()[2]),
+ mode="replicate",
+ )
+ aux2 = torch.sigmoid(self.aux2_out(aux2))
+ aux2 = F.pad(
+ input=aux2,
+ pad=(0, 0, 0, self.output_bin - aux2.size()[2]),
+ mode="replicate",
+ )
+ return mask * mix, aux1 * mix, aux2 * mix
+ else:
+ if aggressiveness:
+ mask[:, :, : aggressiveness["split_bin"]] = torch.pow(
+ mask[:, :, : aggressiveness["split_bin"]],
+ 1 + aggressiveness["value"] / 3,
+ )
+ mask[:, :, aggressiveness["split_bin"] :] = torch.pow(
+ mask[:, :, aggressiveness["split_bin"] :],
+ 1 + aggressiveness["value"],
+ )
+
+ return mask * mix
+
+ def predict(self, x_mag, aggressiveness=None):
+ h = self.forward(x_mag, aggressiveness)
+
+ if self.offset > 0:
+ h = h[:, :, :, self.offset : -self.offset]
+ assert h.size()[3] > 0
+
+ return h
diff --git a/gsv_tools/uvr5/lib/lib_v5/nets_33966KB.py b/gsv_tools/uvr5/lib/lib_v5/nets_33966KB.py
new file mode 100644
index 00000000..250fb86e
--- /dev/null
+++ b/gsv_tools/uvr5/lib/lib_v5/nets_33966KB.py
@@ -0,0 +1,122 @@
+import torch
+import torch.nn.functional as F
+from torch import nn
+
+from . import layers_33966KB as layers
+
+
+class BaseASPPNet(nn.Module):
+ def __init__(self, nin, ch, dilations=(4, 8, 16, 32)):
+ super().__init__()
+ self.enc1 = layers.Encoder(nin, ch, 3, 2, 1)
+ self.enc2 = layers.Encoder(ch, ch * 2, 3, 2, 1)
+ self.enc3 = layers.Encoder(ch * 2, ch * 4, 3, 2, 1)
+ self.enc4 = layers.Encoder(ch * 4, ch * 8, 3, 2, 1)
+
+ self.aspp = layers.ASPPModule(ch * 8, ch * 16, dilations)
+
+ self.dec4 = layers.Decoder(ch * (8 + 16), ch * 8, 3, 1, 1)
+ self.dec3 = layers.Decoder(ch * (4 + 8), ch * 4, 3, 1, 1)
+ self.dec2 = layers.Decoder(ch * (2 + 4), ch * 2, 3, 1, 1)
+ self.dec1 = layers.Decoder(ch * (1 + 2), ch, 3, 1, 1)
+
+ def __call__(self, x):
+ h, e1 = self.enc1(x)
+ h, e2 = self.enc2(h)
+ h, e3 = self.enc3(h)
+ h, e4 = self.enc4(h)
+
+ h = self.aspp(h)
+
+ h = self.dec4(h, e4)
+ h = self.dec3(h, e3)
+ h = self.dec2(h, e2)
+ h = self.dec1(h, e1)
+
+ return h
+
+
+class CascadedASPPNet(nn.Module):
+ def __init__(self, n_fft):
+ super().__init__()
+ self.stg1_low_band_net = BaseASPPNet(2, 16)
+ self.stg1_high_band_net = BaseASPPNet(2, 16)
+
+ self.stg2_bridge = layers.Conv2DBNActiv(18, 8, 1, 1, 0)
+ self.stg2_full_band_net = BaseASPPNet(8, 16)
+
+ self.stg3_bridge = layers.Conv2DBNActiv(34, 16, 1, 1, 0)
+ self.stg3_full_band_net = BaseASPPNet(16, 32)
+
+ self.out = nn.Conv2d(32, 2, 1, bias=False)
+ self.aux1_out = nn.Conv2d(16, 2, 1, bias=False)
+ self.aux2_out = nn.Conv2d(16, 2, 1, bias=False)
+
+ self.max_bin = n_fft // 2
+ self.output_bin = n_fft // 2 + 1
+
+ self.offset = 128
+
+ def forward(self, x, aggressiveness=None):
+ mix = x.detach()
+ x = x.clone()
+
+ x = x[:, :, : self.max_bin]
+
+ bandw = x.size()[2] // 2
+ aux1 = torch.cat(
+ [
+ self.stg1_low_band_net(x[:, :, :bandw]),
+ self.stg1_high_band_net(x[:, :, bandw:]),
+ ],
+ dim=2,
+ )
+
+ h = torch.cat([x, aux1], dim=1)
+ aux2 = self.stg2_full_band_net(self.stg2_bridge(h))
+
+ h = torch.cat([x, aux1, aux2], dim=1)
+ h = self.stg3_full_band_net(self.stg3_bridge(h))
+
+ mask = torch.sigmoid(self.out(h))
+ mask = F.pad(
+ input=mask,
+ pad=(0, 0, 0, self.output_bin - mask.size()[2]),
+ mode="replicate",
+ )
+
+ if self.training:
+ aux1 = torch.sigmoid(self.aux1_out(aux1))
+ aux1 = F.pad(
+ input=aux1,
+ pad=(0, 0, 0, self.output_bin - aux1.size()[2]),
+ mode="replicate",
+ )
+ aux2 = torch.sigmoid(self.aux2_out(aux2))
+ aux2 = F.pad(
+ input=aux2,
+ pad=(0, 0, 0, self.output_bin - aux2.size()[2]),
+ mode="replicate",
+ )
+ return mask * mix, aux1 * mix, aux2 * mix
+ else:
+ if aggressiveness:
+ mask[:, :, : aggressiveness["split_bin"]] = torch.pow(
+ mask[:, :, : aggressiveness["split_bin"]],
+ 1 + aggressiveness["value"] / 3,
+ )
+ mask[:, :, aggressiveness["split_bin"] :] = torch.pow(
+ mask[:, :, aggressiveness["split_bin"] :],
+ 1 + aggressiveness["value"],
+ )
+
+ return mask * mix
+
+ def predict(self, x_mag, aggressiveness=None):
+ h = self.forward(x_mag, aggressiveness)
+
+ if self.offset > 0:
+ h = h[:, :, :, self.offset : -self.offset]
+ assert h.size()[3] > 0
+
+ return h
diff --git a/gsv_tools/uvr5/lib/lib_v5/nets_537227KB.py b/gsv_tools/uvr5/lib/lib_v5/nets_537227KB.py
new file mode 100644
index 00000000..d807e854
--- /dev/null
+++ b/gsv_tools/uvr5/lib/lib_v5/nets_537227KB.py
@@ -0,0 +1,122 @@
+import torch
+import torch.nn.functional as F
+from torch import nn
+
+from . import layers_537238KB as layers
+
+
+class BaseASPPNet(nn.Module):
+ def __init__(self, nin, ch, dilations=(4, 8, 16)):
+ super().__init__()
+ self.enc1 = layers.Encoder(nin, ch, 3, 2, 1)
+ self.enc2 = layers.Encoder(ch, ch * 2, 3, 2, 1)
+ self.enc3 = layers.Encoder(ch * 2, ch * 4, 3, 2, 1)
+ self.enc4 = layers.Encoder(ch * 4, ch * 8, 3, 2, 1)
+
+ self.aspp = layers.ASPPModule(ch * 8, ch * 16, dilations)
+
+ self.dec4 = layers.Decoder(ch * (8 + 16), ch * 8, 3, 1, 1)
+ self.dec3 = layers.Decoder(ch * (4 + 8), ch * 4, 3, 1, 1)
+ self.dec2 = layers.Decoder(ch * (2 + 4), ch * 2, 3, 1, 1)
+ self.dec1 = layers.Decoder(ch * (1 + 2), ch, 3, 1, 1)
+
+ def __call__(self, x):
+ h, e1 = self.enc1(x)
+ h, e2 = self.enc2(h)
+ h, e3 = self.enc3(h)
+ h, e4 = self.enc4(h)
+
+ h = self.aspp(h)
+
+ h = self.dec4(h, e4)
+ h = self.dec3(h, e3)
+ h = self.dec2(h, e2)
+ h = self.dec1(h, e1)
+
+ return h
+
+
+class CascadedASPPNet(nn.Module):
+ def __init__(self, n_fft):
+ super().__init__()
+ self.stg1_low_band_net = BaseASPPNet(2, 64)
+ self.stg1_high_band_net = BaseASPPNet(2, 64)
+
+ self.stg2_bridge = layers.Conv2DBNActiv(66, 32, 1, 1, 0)
+ self.stg2_full_band_net = BaseASPPNet(32, 64)
+
+ self.stg3_bridge = layers.Conv2DBNActiv(130, 64, 1, 1, 0)
+ self.stg3_full_band_net = BaseASPPNet(64, 128)
+
+ self.out = nn.Conv2d(128, 2, 1, bias=False)
+ self.aux1_out = nn.Conv2d(64, 2, 1, bias=False)
+ self.aux2_out = nn.Conv2d(64, 2, 1, bias=False)
+
+ self.max_bin = n_fft // 2
+ self.output_bin = n_fft // 2 + 1
+
+ self.offset = 128
+
+ def forward(self, x, aggressiveness=None):
+ mix = x.detach()
+ x = x.clone()
+
+ x = x[:, :, : self.max_bin]
+
+ bandw = x.size()[2] // 2
+ aux1 = torch.cat(
+ [
+ self.stg1_low_band_net(x[:, :, :bandw]),
+ self.stg1_high_band_net(x[:, :, bandw:]),
+ ],
+ dim=2,
+ )
+
+ h = torch.cat([x, aux1], dim=1)
+ aux2 = self.stg2_full_band_net(self.stg2_bridge(h))
+
+ h = torch.cat([x, aux1, aux2], dim=1)
+ h = self.stg3_full_band_net(self.stg3_bridge(h))
+
+ mask = torch.sigmoid(self.out(h))
+ mask = F.pad(
+ input=mask,
+ pad=(0, 0, 0, self.output_bin - mask.size()[2]),
+ mode="replicate",
+ )
+
+ if self.training:
+ aux1 = torch.sigmoid(self.aux1_out(aux1))
+ aux1 = F.pad(
+ input=aux1,
+ pad=(0, 0, 0, self.output_bin - aux1.size()[2]),
+ mode="replicate",
+ )
+ aux2 = torch.sigmoid(self.aux2_out(aux2))
+ aux2 = F.pad(
+ input=aux2,
+ pad=(0, 0, 0, self.output_bin - aux2.size()[2]),
+ mode="replicate",
+ )
+ return mask * mix, aux1 * mix, aux2 * mix
+ else:
+ if aggressiveness:
+ mask[:, :, : aggressiveness["split_bin"]] = torch.pow(
+ mask[:, :, : aggressiveness["split_bin"]],
+ 1 + aggressiveness["value"] / 3,
+ )
+ mask[:, :, aggressiveness["split_bin"] :] = torch.pow(
+ mask[:, :, aggressiveness["split_bin"] :],
+ 1 + aggressiveness["value"],
+ )
+
+ return mask * mix
+
+ def predict(self, x_mag, aggressiveness=None):
+ h = self.forward(x_mag, aggressiveness)
+
+ if self.offset > 0:
+ h = h[:, :, :, self.offset : -self.offset]
+ assert h.size()[3] > 0
+
+ return h
diff --git a/gsv_tools/uvr5/lib/lib_v5/nets_537238KB.py b/gsv_tools/uvr5/lib/lib_v5/nets_537238KB.py
new file mode 100644
index 00000000..d807e854
--- /dev/null
+++ b/gsv_tools/uvr5/lib/lib_v5/nets_537238KB.py
@@ -0,0 +1,122 @@
+import torch
+import torch.nn.functional as F
+from torch import nn
+
+from . import layers_537238KB as layers
+
+
+class BaseASPPNet(nn.Module):
+ def __init__(self, nin, ch, dilations=(4, 8, 16)):
+ super().__init__()
+ self.enc1 = layers.Encoder(nin, ch, 3, 2, 1)
+ self.enc2 = layers.Encoder(ch, ch * 2, 3, 2, 1)
+ self.enc3 = layers.Encoder(ch * 2, ch * 4, 3, 2, 1)
+ self.enc4 = layers.Encoder(ch * 4, ch * 8, 3, 2, 1)
+
+ self.aspp = layers.ASPPModule(ch * 8, ch * 16, dilations)
+
+ self.dec4 = layers.Decoder(ch * (8 + 16), ch * 8, 3, 1, 1)
+ self.dec3 = layers.Decoder(ch * (4 + 8), ch * 4, 3, 1, 1)
+ self.dec2 = layers.Decoder(ch * (2 + 4), ch * 2, 3, 1, 1)
+ self.dec1 = layers.Decoder(ch * (1 + 2), ch, 3, 1, 1)
+
+ def __call__(self, x):
+ h, e1 = self.enc1(x)
+ h, e2 = self.enc2(h)
+ h, e3 = self.enc3(h)
+ h, e4 = self.enc4(h)
+
+ h = self.aspp(h)
+
+ h = self.dec4(h, e4)
+ h = self.dec3(h, e3)
+ h = self.dec2(h, e2)
+ h = self.dec1(h, e1)
+
+ return h
+
+
+class CascadedASPPNet(nn.Module):
+ def __init__(self, n_fft):
+ super().__init__()
+ self.stg1_low_band_net = BaseASPPNet(2, 64)
+ self.stg1_high_band_net = BaseASPPNet(2, 64)
+
+ self.stg2_bridge = layers.Conv2DBNActiv(66, 32, 1, 1, 0)
+ self.stg2_full_band_net = BaseASPPNet(32, 64)
+
+ self.stg3_bridge = layers.Conv2DBNActiv(130, 64, 1, 1, 0)
+ self.stg3_full_band_net = BaseASPPNet(64, 128)
+
+ self.out = nn.Conv2d(128, 2, 1, bias=False)
+ self.aux1_out = nn.Conv2d(64, 2, 1, bias=False)
+ self.aux2_out = nn.Conv2d(64, 2, 1, bias=False)
+
+ self.max_bin = n_fft // 2
+ self.output_bin = n_fft // 2 + 1
+
+ self.offset = 128
+
+ def forward(self, x, aggressiveness=None):
+ mix = x.detach()
+ x = x.clone()
+
+ x = x[:, :, : self.max_bin]
+
+ bandw = x.size()[2] // 2
+ aux1 = torch.cat(
+ [
+ self.stg1_low_band_net(x[:, :, :bandw]),
+ self.stg1_high_band_net(x[:, :, bandw:]),
+ ],
+ dim=2,
+ )
+
+ h = torch.cat([x, aux1], dim=1)
+ aux2 = self.stg2_full_band_net(self.stg2_bridge(h))
+
+ h = torch.cat([x, aux1, aux2], dim=1)
+ h = self.stg3_full_band_net(self.stg3_bridge(h))
+
+ mask = torch.sigmoid(self.out(h))
+ mask = F.pad(
+ input=mask,
+ pad=(0, 0, 0, self.output_bin - mask.size()[2]),
+ mode="replicate",
+ )
+
+ if self.training:
+ aux1 = torch.sigmoid(self.aux1_out(aux1))
+ aux1 = F.pad(
+ input=aux1,
+ pad=(0, 0, 0, self.output_bin - aux1.size()[2]),
+ mode="replicate",
+ )
+ aux2 = torch.sigmoid(self.aux2_out(aux2))
+ aux2 = F.pad(
+ input=aux2,
+ pad=(0, 0, 0, self.output_bin - aux2.size()[2]),
+ mode="replicate",
+ )
+ return mask * mix, aux1 * mix, aux2 * mix
+ else:
+ if aggressiveness:
+ mask[:, :, : aggressiveness["split_bin"]] = torch.pow(
+ mask[:, :, : aggressiveness["split_bin"]],
+ 1 + aggressiveness["value"] / 3,
+ )
+ mask[:, :, aggressiveness["split_bin"] :] = torch.pow(
+ mask[:, :, aggressiveness["split_bin"] :],
+ 1 + aggressiveness["value"],
+ )
+
+ return mask * mix
+
+ def predict(self, x_mag, aggressiveness=None):
+ h = self.forward(x_mag, aggressiveness)
+
+ if self.offset > 0:
+ h = h[:, :, :, self.offset : -self.offset]
+ assert h.size()[3] > 0
+
+ return h
diff --git a/gsv_tools/uvr5/lib/lib_v5/nets_61968KB.py b/gsv_tools/uvr5/lib/lib_v5/nets_61968KB.py
new file mode 100644
index 00000000..09b13207
--- /dev/null
+++ b/gsv_tools/uvr5/lib/lib_v5/nets_61968KB.py
@@ -0,0 +1,122 @@
+import torch
+import torch.nn.functional as F
+from torch import nn
+
+from . import layers_123821KB as layers
+
+
+class BaseASPPNet(nn.Module):
+ def __init__(self, nin, ch, dilations=(4, 8, 16)):
+ super().__init__()
+ self.enc1 = layers.Encoder(nin, ch, 3, 2, 1)
+ self.enc2 = layers.Encoder(ch, ch * 2, 3, 2, 1)
+ self.enc3 = layers.Encoder(ch * 2, ch * 4, 3, 2, 1)
+ self.enc4 = layers.Encoder(ch * 4, ch * 8, 3, 2, 1)
+
+ self.aspp = layers.ASPPModule(ch * 8, ch * 16, dilations)
+
+ self.dec4 = layers.Decoder(ch * (8 + 16), ch * 8, 3, 1, 1)
+ self.dec3 = layers.Decoder(ch * (4 + 8), ch * 4, 3, 1, 1)
+ self.dec2 = layers.Decoder(ch * (2 + 4), ch * 2, 3, 1, 1)
+ self.dec1 = layers.Decoder(ch * (1 + 2), ch, 3, 1, 1)
+
+ def __call__(self, x):
+ h, e1 = self.enc1(x)
+ h, e2 = self.enc2(h)
+ h, e3 = self.enc3(h)
+ h, e4 = self.enc4(h)
+
+ h = self.aspp(h)
+
+ h = self.dec4(h, e4)
+ h = self.dec3(h, e3)
+ h = self.dec2(h, e2)
+ h = self.dec1(h, e1)
+
+ return h
+
+
+class CascadedASPPNet(nn.Module):
+ def __init__(self, n_fft):
+ super().__init__()
+ self.stg1_low_band_net = BaseASPPNet(2, 32)
+ self.stg1_high_band_net = BaseASPPNet(2, 32)
+
+ self.stg2_bridge = layers.Conv2DBNActiv(34, 16, 1, 1, 0)
+ self.stg2_full_band_net = BaseASPPNet(16, 32)
+
+ self.stg3_bridge = layers.Conv2DBNActiv(66, 32, 1, 1, 0)
+ self.stg3_full_band_net = BaseASPPNet(32, 64)
+
+ self.out = nn.Conv2d(64, 2, 1, bias=False)
+ self.aux1_out = nn.Conv2d(32, 2, 1, bias=False)
+ self.aux2_out = nn.Conv2d(32, 2, 1, bias=False)
+
+ self.max_bin = n_fft // 2
+ self.output_bin = n_fft // 2 + 1
+
+ self.offset = 128
+
+ def forward(self, x, aggressiveness=None):
+ mix = x.detach()
+ x = x.clone()
+
+ x = x[:, :, : self.max_bin]
+
+ bandw = x.size()[2] // 2
+ aux1 = torch.cat(
+ [
+ self.stg1_low_band_net(x[:, :, :bandw]),
+ self.stg1_high_band_net(x[:, :, bandw:]),
+ ],
+ dim=2,
+ )
+
+ h = torch.cat([x, aux1], dim=1)
+ aux2 = self.stg2_full_band_net(self.stg2_bridge(h))
+
+ h = torch.cat([x, aux1, aux2], dim=1)
+ h = self.stg3_full_band_net(self.stg3_bridge(h))
+
+ mask = torch.sigmoid(self.out(h))
+ mask = F.pad(
+ input=mask,
+ pad=(0, 0, 0, self.output_bin - mask.size()[2]),
+ mode="replicate",
+ )
+
+ if self.training:
+ aux1 = torch.sigmoid(self.aux1_out(aux1))
+ aux1 = F.pad(
+ input=aux1,
+ pad=(0, 0, 0, self.output_bin - aux1.size()[2]),
+ mode="replicate",
+ )
+ aux2 = torch.sigmoid(self.aux2_out(aux2))
+ aux2 = F.pad(
+ input=aux2,
+ pad=(0, 0, 0, self.output_bin - aux2.size()[2]),
+ mode="replicate",
+ )
+ return mask * mix, aux1 * mix, aux2 * mix
+ else:
+ if aggressiveness:
+ mask[:, :, : aggressiveness["split_bin"]] = torch.pow(
+ mask[:, :, : aggressiveness["split_bin"]],
+ 1 + aggressiveness["value"] / 3,
+ )
+ mask[:, :, aggressiveness["split_bin"] :] = torch.pow(
+ mask[:, :, aggressiveness["split_bin"] :],
+ 1 + aggressiveness["value"],
+ )
+
+ return mask * mix
+
+ def predict(self, x_mag, aggressiveness=None):
+ h = self.forward(x_mag, aggressiveness)
+
+ if self.offset > 0:
+ h = h[:, :, :, self.offset : -self.offset]
+ assert h.size()[3] > 0
+
+ return h
diff --git a/gsv_tools/uvr5/lib/lib_v5/nets_new.py b/gsv_tools/uvr5/lib/lib_v5/nets_new.py
new file mode 100644
index 00000000..1047570b
--- /dev/null
+++ b/gsv_tools/uvr5/lib/lib_v5/nets_new.py
@@ -0,0 +1,125 @@
+import torch
+import torch.nn.functional as F
+from torch import nn
+
+from . import layers_new
+
+
+class BaseNet(nn.Module):
+ def __init__(self, nin, nout, nin_lstm, nout_lstm, dilations=((4, 2), (8, 4), (12, 6))):
+ super().__init__()
+ self.enc1 = layers_new.Conv2DBNActiv(nin, nout, 3, 1, 1)
+ self.enc2 = layers_new.Encoder(nout, nout * 2, 3, 2, 1)
+ self.enc3 = layers_new.Encoder(nout * 2, nout * 4, 3, 2, 1)
+ self.enc4 = layers_new.Encoder(nout * 4, nout * 6, 3, 2, 1)
+ self.enc5 = layers_new.Encoder(nout * 6, nout * 8, 3, 2, 1)
+
+ self.aspp = layers_new.ASPPModule(nout * 8, nout * 8, dilations, dropout=True)
+
+ self.dec4 = layers_new.Decoder(nout * (6 + 8), nout * 6, 3, 1, 1)
+ self.dec3 = layers_new.Decoder(nout * (4 + 6), nout * 4, 3, 1, 1)
+ self.dec2 = layers_new.Decoder(nout * (2 + 4), nout * 2, 3, 1, 1)
+ self.lstm_dec2 = layers_new.LSTMModule(nout * 2, nin_lstm, nout_lstm)
+ self.dec1 = layers_new.Decoder(nout * (1 + 2) + 1, nout * 1, 3, 1, 1)
+
+ def __call__(self, x):
+ e1 = self.enc1(x)
+ e2 = self.enc2(e1)
+ e3 = self.enc3(e2)
+ e4 = self.enc4(e3)
+ e5 = self.enc5(e4)
+
+ h = self.aspp(e5)
+
+ h = self.dec4(h, e4)
+ h = self.dec3(h, e3)
+ h = self.dec2(h, e2)
+ h = torch.cat([h, self.lstm_dec2(h)], dim=1)
+ h = self.dec1(h, e1)
+
+ return h
+
+
+class CascadedNet(nn.Module):
+ def __init__(self, n_fft, nout=32, nout_lstm=128):
+ super().__init__()
+
+ self.max_bin = n_fft // 2
+ self.output_bin = n_fft // 2 + 1
+ self.nin_lstm = self.max_bin // 2
+ self.offset = 64
+
+ self.stg1_low_band_net = nn.Sequential(
+ BaseNet(2, nout // 2, self.nin_lstm // 2, nout_lstm),
+ layers_new.Conv2DBNActiv(nout // 2, nout // 4, 1, 1, 0),
+ )
+
+ self.stg1_high_band_net = BaseNet(2, nout // 4, self.nin_lstm // 2, nout_lstm // 2)
+
+ self.stg2_low_band_net = nn.Sequential(
+ BaseNet(nout // 4 + 2, nout, self.nin_lstm // 2, nout_lstm),
+ layers_new.Conv2DBNActiv(nout, nout // 2, 1, 1, 0),
+ )
+ self.stg2_high_band_net = BaseNet(nout // 4 + 2, nout // 2, self.nin_lstm // 2, nout_lstm // 2)
+
+ self.stg3_full_band_net = BaseNet(3 * nout // 4 + 2, nout, self.nin_lstm, nout_lstm)
+
+ self.out = nn.Conv2d(nout, 2, 1, bias=False)
+ self.aux_out = nn.Conv2d(3 * nout // 4, 2, 1, bias=False)
+
+ def forward(self, x):
+ x = x[:, :, : self.max_bin]
+
+ bandw = x.size()[2] // 2
+ l1_in = x[:, :, :bandw]
+ h1_in = x[:, :, bandw:]
+ l1 = self.stg1_low_band_net(l1_in)
+ h1 = self.stg1_high_band_net(h1_in)
+ aux1 = torch.cat([l1, h1], dim=2)
+
+ l2_in = torch.cat([l1_in, l1], dim=1)
+ h2_in = torch.cat([h1_in, h1], dim=1)
+ l2 = self.stg2_low_band_net(l2_in)
+ h2 = self.stg2_high_band_net(h2_in)
+ aux2 = torch.cat([l2, h2], dim=2)
+
+ f3_in = torch.cat([x, aux1, aux2], dim=1)
+ f3 = self.stg3_full_band_net(f3_in)
+
+ mask = torch.sigmoid(self.out(f3))
+ mask = F.pad(
+ input=mask,
+ pad=(0, 0, 0, self.output_bin - mask.size()[2]),
+ mode="replicate",
+ )
+
+ if self.training:
+ aux = torch.cat([aux1, aux2], dim=1)
+ aux = torch.sigmoid(self.aux_out(aux))
+ aux = F.pad(
+ input=aux,
+ pad=(0, 0, 0, self.output_bin - aux.size()[2]),
+ mode="replicate",
+ )
+ return mask, aux
+ else:
+ return mask
+
+ def predict_mask(self, x):
+ mask = self.forward(x)
+
+ if self.offset > 0:
+ mask = mask[:, :, :, self.offset : -self.offset]
+ assert mask.size()[3] > 0
+
+ return mask
+
+ def predict(self, x, aggressiveness=None):
+ mask = self.forward(x)
+ pred_mag = x * mask
+
+ if self.offset > 0:
+ pred_mag = pred_mag[:, :, :, self.offset : -self.offset]
+ assert pred_mag.size()[3] > 0
+
+ return pred_mag
diff --git a/gsv_tools/uvr5/lib/lib_v5/spec_utils.py b/gsv_tools/uvr5/lib/lib_v5/spec_utils.py
new file mode 100644
index 00000000..673b36b8
--- /dev/null
+++ b/gsv_tools/uvr5/lib/lib_v5/spec_utils.py
@@ -0,0 +1,634 @@
+import hashlib
+import json
+import math
+import os
+
+import librosa
+import numpy as np
+import soundfile as sf
+from tqdm import tqdm
+
+
+def crop_center(h1, h2):
+ h1_shape = h1.size()
+ h2_shape = h2.size()
+
+ if h1_shape[3] == h2_shape[3]:
+ return h1
+ elif h1_shape[3] < h2_shape[3]:
+ raise ValueError("h1_shape[3] must be greater than h2_shape[3]")
+
+ # s_freq = (h2_shape[2] - h1_shape[2]) // 2
+ # e_freq = s_freq + h1_shape[2]
+ s_time = (h1_shape[3] - h2_shape[3]) // 2
+ e_time = s_time + h2_shape[3]
+ h1 = h1[:, :, :, s_time:e_time]
+
+ return h1
+
+
+def wave_to_spectrogram(wave, hop_length, n_fft, mid_side=False, mid_side_b2=False, reverse=False):
+ if reverse:
+ wave_left = np.flip(np.asfortranarray(wave[0]))
+ wave_right = np.flip(np.asfortranarray(wave[1]))
+ elif mid_side:
+ wave_left = np.asfortranarray(np.add(wave[0], wave[1]) / 2)
+ wave_right = np.asfortranarray(np.subtract(wave[0], wave[1]))
+ elif mid_side_b2:
+ wave_left = np.asfortranarray(np.add(wave[1], wave[0] * 0.5))
+ wave_right = np.asfortranarray(np.subtract(wave[0], wave[1] * 0.5))
+ else:
+ wave_left = np.asfortranarray(wave[0])
+ wave_right = np.asfortranarray(wave[1])
+
+ spec_left = librosa.stft(wave_left, n_fft=n_fft, hop_length=hop_length)
+ spec_right = librosa.stft(wave_right, n_fft=n_fft, hop_length=hop_length)
+
+ spec = np.asfortranarray([spec_left, spec_right])
+
+ return spec
+
+
+def wave_to_spectrogram_mt(wave, hop_length, n_fft, mid_side=False, mid_side_b2=False, reverse=False):
+ import threading
+
+ if reverse:
+ wave_left = np.flip(np.asfortranarray(wave[0]))
+ wave_right = np.flip(np.asfortranarray(wave[1]))
+ elif mid_side:
+ wave_left = np.asfortranarray(np.add(wave[0], wave[1]) / 2)
+ wave_right = np.asfortranarray(np.subtract(wave[0], wave[1]))
+ elif mid_side_b2:
+ wave_left = np.asfortranarray(np.add(wave[1], wave[0] * 0.5))
+ wave_right = np.asfortranarray(np.subtract(wave[0], wave[1] * 0.5))
+ else:
+ wave_left = np.asfortranarray(wave[0])
+ wave_right = np.asfortranarray(wave[1])
+
+ def run_thread(**kwargs):
+ global spec_left
+ spec_left = librosa.stft(**kwargs)
+
+ thread = threading.Thread(
+ target=run_thread,
+ kwargs={"y": wave_left, "n_fft": n_fft, "hop_length": hop_length},
+ )
+ thread.start()
+ spec_right = librosa.stft(wave_right, n_fft=n_fft, hop_length=hop_length)
+ thread.join()
+
+ spec = np.asfortranarray([spec_left, spec_right])
+
+ return spec
+
+
+def combine_spectrograms(specs, mp):
+ l = min([specs[i].shape[2] for i in specs])
+ spec_c = np.zeros(shape=(2, mp.param["bins"] + 1, l), dtype=np.complex64)
+ offset = 0
+ bands_n = len(mp.param["band"])
+
+ for d in range(1, bands_n + 1):
+ h = mp.param["band"][d]["crop_stop"] - mp.param["band"][d]["crop_start"]
+ spec_c[:, offset : offset + h, :l] = specs[d][
+ :, mp.param["band"][d]["crop_start"] : mp.param["band"][d]["crop_stop"], :l
+ ]
+ offset += h
+
+ if offset > mp.param["bins"]:
+ raise ValueError("Too much bins")
+
+ # lowpass fiter
+ if mp.param["pre_filter_start"] > 0: # and mp.param['band'][bands_n]['res_type'] in ['scipy', 'polyphase']:
+ if bands_n == 1:
+ spec_c = fft_lp_filter(spec_c, mp.param["pre_filter_start"], mp.param["pre_filter_stop"])
+ else:
+ gp = 1
+ for b in range(mp.param["pre_filter_start"] + 1, mp.param["pre_filter_stop"]):
+ g = math.pow(10, -(b - mp.param["pre_filter_start"]) * (3.5 - gp) / 20.0)
+ gp = g
+ spec_c[:, b, :] *= g
+
+ return np.asfortranarray(spec_c)
+
+
+def spectrogram_to_image(spec, mode="magnitude"):
+ if mode == "magnitude":
+ if np.iscomplexobj(spec):
+ y = np.abs(spec)
+ else:
+ y = spec
+ y = np.log10(y**2 + 1e-8)
+ elif mode == "phase":
+ if np.iscomplexobj(spec):
+ y = np.angle(spec)
+ else:
+ y = spec
+
+ y -= y.min()
+ y *= 255 / y.max()
+ img = np.uint8(y)
+
+ if y.ndim == 3:
+ img = img.transpose(1, 2, 0)
+ img = np.concatenate([np.max(img, axis=2, keepdims=True), img], axis=2)
+
+ return img
+
+
+def reduce_vocal_aggressively(X, y, softmask):
+ v = X - y
+ y_mag_tmp = np.abs(y)
+ v_mag_tmp = np.abs(v)
+
+ v_mask = v_mag_tmp > y_mag_tmp
+ y_mag = np.clip(y_mag_tmp - v_mag_tmp * v_mask * softmask, 0, np.inf)
+
+ return y_mag * np.exp(1.0j * np.angle(y))
+
+
+def mask_silence(mag, ref, thres=0.2, min_range=64, fade_size=32):
+ if min_range < fade_size * 2:
+ raise ValueError("min_range must be >= fade_area * 2")
+
+ mag = mag.copy()
+
+ idx = np.where(ref.mean(axis=(0, 1)) < thres)[0]
+ starts = np.insert(idx[np.where(np.diff(idx) != 1)[0] + 1], 0, idx[0])
+ ends = np.append(idx[np.where(np.diff(idx) != 1)[0]], idx[-1])
+ uninformative = np.where(ends - starts > min_range)[0]
+ if len(uninformative) > 0:
+ starts = starts[uninformative]
+ ends = ends[uninformative]
+ old_e = None
+ for s, e in zip(starts, ends, strict=False):
+ if old_e is not None and s - old_e < fade_size:
+ s = old_e - fade_size * 2
+
+ if s != 0:
+ weight = np.linspace(0, 1, fade_size)
+ mag[:, :, s : s + fade_size] += weight * ref[:, :, s : s + fade_size]
+ else:
+ s -= fade_size
+
+ if e != mag.shape[2]:
+ weight = np.linspace(1, 0, fade_size)
+ mag[:, :, e - fade_size : e] += weight * ref[:, :, e - fade_size : e]
+ else:
+ e += fade_size
+
+ mag[:, :, s + fade_size : e - fade_size] += ref[:, :, s + fade_size : e - fade_size]
+ old_e = e
+
+ return mag
+
+
+def align_wave_head_and_tail(a, b):
+ l = min([a[0].size, b[0].size])
+
+ return a[:l, :l], b[:l, :l]
+
+
+def cache_or_load(mix_path, inst_path, mp):
+ mix_basename = os.path.splitext(os.path.basename(mix_path))[0]
+ inst_basename = os.path.splitext(os.path.basename(inst_path))[0]
+
+ cache_dir = "mph{}".format(hashlib.sha1(json.dumps(mp.param, sort_keys=True).encode("utf-8")).hexdigest())
+ mix_cache_dir = os.path.join("cache", cache_dir)
+ inst_cache_dir = os.path.join("cache", cache_dir)
+
+ os.makedirs(mix_cache_dir, exist_ok=True)
+ os.makedirs(inst_cache_dir, exist_ok=True)
+
+ mix_cache_path = os.path.join(mix_cache_dir, mix_basename + ".npy")
+ inst_cache_path = os.path.join(inst_cache_dir, inst_basename + ".npy")
+
+ if os.path.exists(mix_cache_path) and os.path.exists(inst_cache_path):
+ X_spec_m = np.load(mix_cache_path)
+ y_spec_m = np.load(inst_cache_path)
+ else:
+ X_wave, y_wave, X_spec_s, y_spec_s = {}, {}, {}, {}
+
+ for d in range(len(mp.param["band"]), 0, -1):
+ bp = mp.param["band"][d]
+
+ if d == len(mp.param["band"]): # high-end band
+ X_wave[d], _ = librosa.load(
+ mix_path, sr=bp["sr"], mono=False, dtype=np.float32, res_type=bp["res_type"]
+ )
+ y_wave[d], _ = librosa.load(
+ inst_path,
+ sr=bp["sr"],
+ mono=False,
+ dtype=np.float32,
+ res_type=bp["res_type"],
+ )
+ else: # lower bands
+ X_wave[d] = librosa.resample(
+ X_wave[d + 1],
+ orig_sr=mp.param["band"][d + 1]["sr"],
+ target_sr=bp["sr"],
+ res_type=bp["res_type"],
+ )
+ y_wave[d] = librosa.resample(
+ y_wave[d + 1],
+ orig_sr=mp.param["band"][d + 1]["sr"],
+ target_sr=bp["sr"],
+ res_type=bp["res_type"],
+ )
+
+ X_wave[d], y_wave[d] = align_wave_head_and_tail(X_wave[d], y_wave[d])
+
+ X_spec_s[d] = wave_to_spectrogram(
+ X_wave[d],
+ bp["hl"],
+ bp["n_fft"],
+ mp.param["mid_side"],
+ mp.param["mid_side_b2"],
+ mp.param["reverse"],
+ )
+ y_spec_s[d] = wave_to_spectrogram(
+ y_wave[d],
+ bp["hl"],
+ bp["n_fft"],
+ mp.param["mid_side"],
+ mp.param["mid_side_b2"],
+ mp.param["reverse"],
+ )
+
+ del X_wave, y_wave
+
+ X_spec_m = combine_spectrograms(X_spec_s, mp)
+ y_spec_m = combine_spectrograms(y_spec_s, mp)
+
+ if X_spec_m.shape != y_spec_m.shape:
+ raise ValueError("The combined spectrograms are different: " + mix_path)
+
+ _, ext = os.path.splitext(mix_path)
+
+ np.save(mix_cache_path, X_spec_m)
+ np.save(inst_cache_path, y_spec_m)
+
+ return X_spec_m, y_spec_m
+
+
+def spectrogram_to_wave(spec, hop_length, mid_side, mid_side_b2, reverse):
+ spec_left = np.asfortranarray(spec[0])
+ spec_right = np.asfortranarray(spec[1])
+
+ wave_left = librosa.istft(spec_left, hop_length=hop_length)
+ wave_right = librosa.istft(spec_right, hop_length=hop_length)
+
+ if reverse:
+ return np.asfortranarray([np.flip(wave_left), np.flip(wave_right)])
+ elif mid_side:
+ return np.asfortranarray([np.add(wave_left, wave_right / 2), np.subtract(wave_left, wave_right / 2)])
+ elif mid_side_b2:
+ return np.asfortranarray(
+ [
+ np.add(wave_right / 1.25, 0.4 * wave_left),
+ np.subtract(wave_left / 1.25, 0.4 * wave_right),
+ ]
+ )
+ else:
+ return np.asfortranarray([wave_left, wave_right])
+
+
+def spectrogram_to_wave_mt(spec, hop_length, mid_side, reverse, mid_side_b2):
+ import threading
+
+ spec_left = np.asfortranarray(spec[0])
+ spec_right = np.asfortranarray(spec[1])
+
+ def run_thread(**kwargs):
+ global wave_left
+ wave_left = librosa.istft(**kwargs)
+
+ thread = threading.Thread(target=run_thread, kwargs={"stft_matrix": spec_left, "hop_length": hop_length})
+ thread.start()
+ wave_right = librosa.istft(spec_right, hop_length=hop_length)
+ thread.join()
+
+ if reverse:
+ return np.asfortranarray([np.flip(wave_left), np.flip(wave_right)])
+ elif mid_side:
+ return np.asfortranarray([np.add(wave_left, wave_right / 2), np.subtract(wave_left, wave_right / 2)])
+ elif mid_side_b2:
+ return np.asfortranarray(
+ [
+ np.add(wave_right / 1.25, 0.4 * wave_left),
+ np.subtract(wave_left / 1.25, 0.4 * wave_right),
+ ]
+ )
+ else:
+ return np.asfortranarray([wave_left, wave_right])
+
+
+def cmb_spectrogram_to_wave(spec_m, mp, extra_bins_h=None, extra_bins=None):
+ bands_n = len(mp.param["band"])
+ offset = 0
+
+ for d in range(1, bands_n + 1):
+ bp = mp.param["band"][d]
+ spec_s = np.ndarray(shape=(2, bp["n_fft"] // 2 + 1, spec_m.shape[2]), dtype=complex)
+ h = bp["crop_stop"] - bp["crop_start"]
+ spec_s[:, bp["crop_start"] : bp["crop_stop"], :] = spec_m[:, offset : offset + h, :]
+
+ offset += h
+ if d == bands_n: # higher
+ if extra_bins_h: # if --high_end_process bypass
+ max_bin = bp["n_fft"] // 2
+ spec_s[:, max_bin - extra_bins_h : max_bin, :] = extra_bins[:, :extra_bins_h, :]
+ if bp["hpf_start"] > 0:
+ spec_s = fft_hp_filter(spec_s, bp["hpf_start"], bp["hpf_stop"] - 1)
+ if bands_n == 1:
+ wave = spectrogram_to_wave(
+ spec_s,
+ bp["hl"],
+ mp.param["mid_side"],
+ mp.param["mid_side_b2"],
+ mp.param["reverse"],
+ )
+ else:
+ wave = np.add(
+ wave,
+ spectrogram_to_wave(
+ spec_s,
+ bp["hl"],
+ mp.param["mid_side"],
+ mp.param["mid_side_b2"],
+ mp.param["reverse"],
+ ),
+ )
+ else:
+ sr = mp.param["band"][d + 1]["sr"]
+ if d == 1: # lower
+ spec_s = fft_lp_filter(spec_s, bp["lpf_start"], bp["lpf_stop"])
+ wave = librosa.resample(
+ spectrogram_to_wave(
+ spec_s,
+ bp["hl"],
+ mp.param["mid_side"],
+ mp.param["mid_side_b2"],
+ mp.param["reverse"],
+ ),
+ orig_sr=bp["sr"],
+ target_sr=sr,
+ res_type="sinc_fastest",
+ )
+ else: # mid
+ spec_s = fft_hp_filter(spec_s, bp["hpf_start"], bp["hpf_stop"] - 1)
+ spec_s = fft_lp_filter(spec_s, bp["lpf_start"], bp["lpf_stop"])
+ wave2 = np.add(
+ wave,
+ spectrogram_to_wave(
+ spec_s,
+ bp["hl"],
+ mp.param["mid_side"],
+ mp.param["mid_side_b2"],
+ mp.param["reverse"],
+ ),
+ )
+ # wave = librosa.core.resample(wave2, orig_sr=bp['sr'], target_sr=sr, res_type="sinc_fastest")
+ wave = librosa.core.resample(wave2, orig_sr=bp["sr"], target_sr=sr, res_type="scipy")
+
+ return wave.T
+
+
+def fft_lp_filter(spec, bin_start, bin_stop):
+ g = 1.0
+ for b in range(bin_start, bin_stop):
+ g -= 1 / (bin_stop - bin_start)
+ spec[:, b, :] = g * spec[:, b, :]
+
+ spec[:, bin_stop:, :] *= 0
+
+ return spec
+
+
+def fft_hp_filter(spec, bin_start, bin_stop):
+ g = 1.0
+ for b in range(bin_start, bin_stop, -1):
+ g -= 1 / (bin_start - bin_stop)
+ spec[:, b, :] = g * spec[:, b, :]
+
+ spec[:, 0 : bin_stop + 1, :] *= 0
+
+ return spec
+
+
+def mirroring(a, spec_m, input_high_end, mp):
+ if "mirroring" == a:
+ mirror = np.flip(
+ np.abs(
+ spec_m[
+ :,
+ mp.param["pre_filter_start"] - 10 - input_high_end.shape[1] : mp.param["pre_filter_start"] - 10,
+ :,
+ ]
+ ),
+ 1,
+ )
+ mirror = mirror * np.exp(1.0j * np.angle(input_high_end))
+
+ return np.where(np.abs(input_high_end) <= np.abs(mirror), input_high_end, mirror)
+
+ if "mirroring2" == a:
+ mirror = np.flip(
+ np.abs(
+ spec_m[
+ :,
+ mp.param["pre_filter_start"] - 10 - input_high_end.shape[1] : mp.param["pre_filter_start"] - 10,
+ :,
+ ]
+ ),
+ 1,
+ )
+ mi = np.multiply(mirror, input_high_end * 1.7)
+
+ return np.where(np.abs(input_high_end) <= np.abs(mi), input_high_end, mi)
+
+
+def ensembling(a, specs):
+ for i in range(1, len(specs)):
+ if i == 1:
+ spec = specs[0]
+
+ ln = min([spec.shape[2], specs[i].shape[2]])
+ spec = spec[:, :, :ln]
+ specs[i] = specs[i][:, :, :ln]
+
+ if "min_mag" == a:
+ spec = np.where(np.abs(specs[i]) <= np.abs(spec), specs[i], spec)
+ if "max_mag" == a:
+ spec = np.where(np.abs(specs[i]) >= np.abs(spec), specs[i], spec)
+
+ return spec
+
+
+def stft(wave, nfft, hl):
+ wave_left = np.asfortranarray(wave[0])
+ wave_right = np.asfortranarray(wave[1])
+ spec_left = librosa.stft(wave_left, n_fft=nfft, hop_length=hl)
+ spec_right = librosa.stft(wave_right, n_fft=nfft, hop_length=hl)
+ spec = np.asfortranarray([spec_left, spec_right])
+
+ return spec
+
+
+def istft(spec, hl):
+ spec_left = np.asfortranarray(spec[0])
+ spec_right = np.asfortranarray(spec[1])
+
+ wave_left = librosa.istft(spec_left, hop_length=hl)
+ wave_right = librosa.istft(spec_right, hop_length=hl)
+ np.asfortranarray([wave_left, wave_right])
+
+
+if __name__ == "__main__":
+ import argparse
+ import time
+
+ import cv2
+ from model_param_init import ModelParameters
+
+ p = argparse.ArgumentParser()
+ p.add_argument(
+ "--algorithm",
+ "-a",
+ type=str,
+ choices=["invert", "invert_p", "min_mag", "max_mag", "deep", "align"],
+ default="min_mag",
+ )
+ p.add_argument(
+ "--model_params",
+ "-m",
+ type=str,
+ default=os.path.join("modelparams", "1band_sr44100_hl512.json"),
+ )
+ p.add_argument("--output_name", "-o", type=str, default="output")
+ p.add_argument("--vocals_only", "-v", action="store_true")
+ p.add_argument("input", nargs="+")
+ args = p.parse_args()
+
+ start_time = time.time()
+
+ if args.algorithm.startswith("invert") and len(args.input) != 2:
+ raise ValueError("There should be two input files.")
+
+ if not args.algorithm.startswith("invert") and len(args.input) < 2:
+ raise ValueError("There must be at least two input files.")
+
+ wave, specs = {}, {}
+ mp = ModelParameters(args.model_params)
+
+ for i in range(len(args.input)):
+ spec = {}
+
+ for d in range(len(mp.param["band"]), 0, -1):
+ bp = mp.param["band"][d]
+
+ if d == len(mp.param["band"]): # high-end band
+ wave[d], _ = librosa.load(
+ args.input[i],
+ sr=bp["sr"],
+ mono=False,
+ dtype=np.float32,
+ res_type=bp["res_type"],
+ )
+
+ if len(wave[d].shape) == 1: # mono to stereo
+ wave[d] = np.array([wave[d], wave[d]])
+ else: # lower bands
+ wave[d] = librosa.resample(
+ wave[d + 1],
+ orig_sr=mp.param["band"][d + 1]["sr"],
+ target_sr=bp["sr"],
+ res_type=bp["res_type"],
+ )
+
+ spec[d] = wave_to_spectrogram(
+ wave[d],
+ bp["hl"],
+ bp["n_fft"],
+ mp.param["mid_side"],
+ mp.param["mid_side_b2"],
+ mp.param["reverse"],
+ )
+
+ specs[i] = combine_spectrograms(spec, mp)
+
+ del wave
+
+ if args.algorithm == "deep":
+ d_spec = np.where(np.abs(specs[0]) <= np.abs(spec[1]), specs[0], spec[1])
+ v_spec = d_spec - specs[1]
+ sf.write(
+ os.path.join(f"{args.output_name}.wav"),
+ cmb_spectrogram_to_wave(v_spec, mp),
+ mp.param["sr"],
+ )
+
+ if args.algorithm.startswith("invert"):
+ ln = min([specs[0].shape[2], specs[1].shape[2]])
+ specs[0] = specs[0][:, :, :ln]
+ specs[1] = specs[1][:, :, :ln]
+
+ if "invert_p" == args.algorithm:
+ X_mag = np.abs(specs[0])
+ y_mag = np.abs(specs[1])
+ max_mag = np.where(X_mag >= y_mag, X_mag, y_mag)
+ v_spec = specs[1] - max_mag * np.exp(1.0j * np.angle(specs[0]))
+ else:
+ specs[1] = reduce_vocal_aggressively(specs[0], specs[1], 0.2)
+ v_spec = specs[0] - specs[1]
+
+ if not args.vocals_only:
+ X_mag = np.abs(specs[0])
+ y_mag = np.abs(specs[1])
+ v_mag = np.abs(v_spec)
+
+ X_image = spectrogram_to_image(X_mag)
+ y_image = spectrogram_to_image(y_mag)
+ v_image = spectrogram_to_image(v_mag)
+
+ cv2.imwrite(f"{args.output_name}_X.png", X_image)
+ cv2.imwrite(f"{args.output_name}_y.png", y_image)
+ cv2.imwrite(f"{args.output_name}_v.png", v_image)
+
+ sf.write(
+ f"{args.output_name}_X.wav",
+ cmb_spectrogram_to_wave(specs[0], mp),
+ mp.param["sr"],
+ )
+ sf.write(
+ f"{args.output_name}_y.wav",
+ cmb_spectrogram_to_wave(specs[1], mp),
+ mp.param["sr"],
+ )
+
+ sf.write(
+ f"{args.output_name}_v.wav",
+ cmb_spectrogram_to_wave(v_spec, mp),
+ mp.param["sr"],
+ )
+ else:
+ if not args.algorithm == "deep":
+ sf.write(
+ os.path.join("ensembled", f"{args.output_name}.wav"),
+ cmb_spectrogram_to_wave(ensembling(args.algorithm, specs), mp),
+ mp.param["sr"],
+ )
+
+ if args.algorithm == "align":
+ trackalignment = [
+ {
+ "file1": f'"{args.input[0]}"',
+ "file2": f'"{args.input[1]}"',
+ }
+ ]
+
+ for i, e in tqdm(enumerate(trackalignment), desc="Performing Alignment..."):
+ os.system(f"python lib/align_tracks.py {e['file1']} {e['file2']}")
+
+ # print('Total time: {0:.{1}f}s'.format(time.time() - start_time, 1))
diff --git a/gsv_tools/uvr5/lib/name_params.json b/gsv_tools/uvr5/lib/name_params.json
new file mode 100644
index 00000000..4e5ee7be
--- /dev/null
+++ b/gsv_tools/uvr5/lib/name_params.json
@@ -0,0 +1,263 @@
+{
+ "equivalent" : [
+ {
+ "model_hash_name" : [
+ {
+ "hash_name": "47939caf0cfe52a0e81442b85b971dfd",
+ "model_params": "lib/lib_v5/modelparams/4band_44100.json",
+ "param_name": "4band_44100"
+ },
+ {
+ "hash_name": "4e4ecb9764c50a8c414fee6e10395bbe",
+ "model_params": "lib/lib_v5/modelparams/4band_v2.json",
+ "param_name": "4band_v2"
+ },
+ {
+ "hash_name": "ca106edd563e034bde0bdec4bb7a4b36",
+ "model_params": "lib/lib_v5/modelparams/4band_v2.json",
+ "param_name": "4band_v2"
+ },
+ {
+ "hash_name": "e60a1e84803ce4efc0a6551206cc4b71",
+ "model_params": "lib/lib_v5/modelparams/4band_44100.json",
+ "param_name": "4band_44100"
+ },
+ {
+ "hash_name": "a82f14e75892e55e994376edbf0c8435",
+ "model_params": "lib/lib_v5/modelparams/4band_44100.json",
+ "param_name": "4band_44100"
+ },
+ {
+ "hash_name": "6dd9eaa6f0420af9f1d403aaafa4cc06",
+ "model_params": "lib/lib_v5/modelparams/4band_v2_sn.json",
+ "param_name": "4band_v2_sn"
+ },
+ {
+ "hash_name": "08611fb99bd59eaa79ad27c58d137727",
+ "model_params": "lib/lib_v5/modelparams/4band_v2_sn.json",
+ "param_name": "4band_v2_sn"
+ },
+ {
+ "hash_name": "5c7bbca45a187e81abbbd351606164e5",
+ "model_params": "lib/lib_v5/modelparams/3band_44100_msb2.json",
+ "param_name": "3band_44100_msb2"
+ },
+ {
+ "hash_name": "d6b2cb685a058a091e5e7098192d3233",
+ "model_params": "lib/lib_v5/modelparams/3band_44100_msb2.json",
+ "param_name": "3band_44100_msb2"
+ },
+ {
+ "hash_name": "c1b9f38170a7c90e96f027992eb7c62b",
+ "model_params": "lib/lib_v5/modelparams/4band_44100.json",
+ "param_name": "4band_44100"
+ },
+ {
+ "hash_name": "c3448ec923fa0edf3d03a19e633faa53",
+ "model_params": "lib/lib_v5/modelparams/4band_44100.json",
+ "param_name": "4band_44100"
+ },
+ {
+ "hash_name": "68aa2c8093d0080704b200d140f59e54",
+ "model_params": "lib/lib_v5/modelparams/3band_44100.json",
+ "param_name": "3band_44100"
+ },
+ {
+ "hash_name": "fdc83be5b798e4bd29fe00fe6600e147",
+ "model_params": "lib/lib_v5/modelparams/3band_44100_mid.json",
+ "param_name": "3band_44100_mid.json"
+ },
+ {
+ "hash_name": "2ce34bc92fd57f55db16b7a4def3d745",
+ "model_params": "lib/lib_v5/modelparams/3band_44100_mid.json",
+ "param_name": "3band_44100_mid.json"
+ },
+ {
+ "hash_name": "52fdca89576f06cf4340b74a4730ee5f",
+ "model_params": "lib/lib_v5/modelparams/4band_44100.json",
+ "param_name": "4band_44100.json"
+ },
+ {
+ "hash_name": "41191165b05d38fc77f072fa9e8e8a30",
+ "model_params": "lib/lib_v5/modelparams/4band_44100.json",
+ "param_name": "4band_44100.json"
+ },
+ {
+ "hash_name": "89e83b511ad474592689e562d5b1f80e",
+ "model_params": "lib/lib_v5/modelparams/2band_32000.json",
+ "param_name": "2band_32000.json"
+ },
+ {
+ "hash_name": "0b954da81d453b716b114d6d7c95177f",
+ "model_params": "lib/lib_v5/modelparams/2band_32000.json",
+ "param_name": "2band_32000.json"
+ }
+
+ ],
+ "v4 Models": [
+ {
+ "hash_name": "6a00461c51c2920fd68937d4609ed6c8",
+ "model_params": "lib/lib_v5/modelparams/1band_sr16000_hl512.json",
+ "param_name": "1band_sr16000_hl512"
+ },
+ {
+ "hash_name": "0ab504864d20f1bd378fe9c81ef37140",
+ "model_params": "lib/lib_v5/modelparams/1band_sr32000_hl512.json",
+ "param_name": "1band_sr32000_hl512"
+ },
+ {
+ "hash_name": "7dd21065bf91c10f7fccb57d7d83b07f",
+ "model_params": "lib/lib_v5/modelparams/1band_sr32000_hl512.json",
+ "param_name": "1band_sr32000_hl512"
+ },
+ {
+ "hash_name": "80ab74d65e515caa3622728d2de07d23",
+ "model_params": "lib/lib_v5/modelparams/1band_sr32000_hl512.json",
+ "param_name": "1band_sr32000_hl512"
+ },
+ {
+ "hash_name": "edc115e7fc523245062200c00caa847f",
+ "model_params": "lib/lib_v5/modelparams/1band_sr33075_hl384.json",
+ "param_name": "1band_sr33075_hl384"
+ },
+ {
+ "hash_name": "28063e9f6ab5b341c5f6d3c67f2045b7",
+ "model_params": "lib/lib_v5/modelparams/1band_sr33075_hl384.json",
+ "param_name": "1band_sr33075_hl384"
+ },
+ {
+ "hash_name": "b58090534c52cbc3e9b5104bad666ef2",
+ "model_params": "lib/lib_v5/modelparams/1band_sr44100_hl512.json",
+ "param_name": "1band_sr44100_hl512"
+ },
+ {
+ "hash_name": "0cdab9947f1b0928705f518f3c78ea8f",
+ "model_params": "lib/lib_v5/modelparams/1band_sr44100_hl512.json",
+ "param_name": "1band_sr44100_hl512"
+ },
+ {
+ "hash_name": "ae702fed0238afb5346db8356fe25f13",
+ "model_params": "lib/lib_v5/modelparams/1band_sr44100_hl1024.json",
+ "param_name": "1band_sr44100_hl1024"
+ }
+ ]
+ }
+ ],
+ "User Models" : [
+ {
+ "1 Band": [
+ {
+ "hash_name": "1band_sr16000_hl512",
+ "model_params": "lib/lib_v5/modelparams/1band_sr16000_hl512.json",
+ "param_name": "1band_sr16000_hl512"
+ },
+ {
+ "hash_name": "1band_sr32000_hl512",
+ "model_params": "lib/lib_v5/modelparams/1band_sr32000_hl512.json",
+ "param_name": "1band_sr16000_hl512"
+ },
+ {
+ "hash_name": "1band_sr33075_hl384",
+ "model_params": "lib/lib_v5/modelparams/1band_sr33075_hl384.json",
+ "param_name": "1band_sr33075_hl384"
+ },
+ {
+ "hash_name": "1band_sr44100_hl256",
+ "model_params": "lib/lib_v5/modelparams/1band_sr44100_hl256.json",
+ "param_name": "1band_sr44100_hl256"
+ },
+ {
+ "hash_name": "1band_sr44100_hl512",
+ "model_params": "lib/lib_v5/modelparams/1band_sr44100_hl512.json",
+ "param_name": "1band_sr44100_hl512"
+ },
+ {
+ "hash_name": "1band_sr44100_hl1024",
+ "model_params": "lib/lib_v5/modelparams/1band_sr44100_hl1024.json",
+ "param_name": "1band_sr44100_hl1024"
+ }
+ ],
+ "2 Band": [
+ {
+ "hash_name": "2band_44100_lofi",
+ "model_params": "lib/lib_v5/modelparams/2band_44100_lofi.json",
+ "param_name": "2band_44100_lofi"
+ },
+ {
+ "hash_name": "2band_32000",
+ "model_params": "lib/lib_v5/modelparams/2band_32000.json",
+ "param_name": "2band_32000"
+ },
+ {
+ "hash_name": "2band_48000",
+ "model_params": "lib/lib_v5/modelparams/2band_48000.json",
+ "param_name": "2band_48000"
+ }
+ ],
+ "3 Band": [
+ {
+ "hash_name": "3band_44100",
+ "model_params": "lib/lib_v5/modelparams/3band_44100.json",
+ "param_name": "3band_44100"
+ },
+ {
+ "hash_name": "3band_44100_mid",
+ "model_params": "lib/lib_v5/modelparams/3band_44100_mid.json",
+ "param_name": "3band_44100_mid"
+ },
+ {
+ "hash_name": "3band_44100_msb2",
+ "model_params": "lib/lib_v5/modelparams/3band_44100_msb2.json",
+ "param_name": "3band_44100_msb2"
+ }
+ ],
+ "4 Band": [
+ {
+ "hash_name": "4band_44100",
+ "model_params": "lib/lib_v5/modelparams/4band_44100.json",
+ "param_name": "4band_44100"
+ },
+ {
+ "hash_name": "4band_44100_mid",
+ "model_params": "lib/lib_v5/modelparams/4band_44100_mid.json",
+ "param_name": "4band_44100_mid"
+ },
+ {
+ "hash_name": "4band_44100_msb",
+ "model_params": "lib/lib_v5/modelparams/4band_44100_msb.json",
+ "param_name": "4band_44100_msb"
+ },
+ {
+ "hash_name": "4band_44100_msb2",
+ "model_params": "lib/lib_v5/modelparams/4band_44100_msb2.json",
+ "param_name": "4band_44100_msb2"
+ },
+ {
+ "hash_name": "4band_44100_reverse",
+ "model_params": "lib/lib_v5/modelparams/4band_44100_reverse.json",
+ "param_name": "4band_44100_reverse"
+ },
+ {
+ "hash_name": "4band_44100_sw",
+ "model_params": "lib/lib_v5/modelparams/4band_44100_sw.json",
+ "param_name": "4band_44100_sw"
+ },
+ {
+ "hash_name": "4band_v2",
+ "model_params": "lib/lib_v5/modelparams/4band_v2.json",
+ "param_name": "4band_v2"
+ },
+ {
+ "hash_name": "4band_v2_sn",
+ "model_params": "lib/lib_v5/modelparams/4band_v2_sn.json",
+ "param_name": "4band_v2_sn"
+ },
+ {
+ "hash_name": "tmodelparam",
+ "model_params": "lib/lib_v5/modelparams/tmodelparam.json",
+ "param_name": "User Model Param Set"
+ }
+ ]
+ }
+ ]
+}
\ No newline at end of file
diff --git a/gsv_tools/uvr5/lib/utils.py b/gsv_tools/uvr5/lib/utils.py
new file mode 100644
index 00000000..5d1a8a95
--- /dev/null
+++ b/gsv_tools/uvr5/lib/utils.py
@@ -0,0 +1,113 @@
+import json
+
+import numpy as np
+import torch
+from tqdm import tqdm
+
+
+def load_data(file_name: str = "./lib/name_params.json") -> dict:
+ with open(file_name) as f:
+ data = json.load(f)
+
+ return data
+
+
+def make_padding(width, cropsize, offset):
+ left = offset
+ roi_size = cropsize - left * 2
+ if roi_size == 0:
+ roi_size = cropsize
+ right = roi_size - (width % roi_size) + left
+
+ return left, right, roi_size
+
+
+def inference(X_spec, device, model, aggressiveness, data):
+ """
+ data : dic configs
+ """
+
+ def _execute(X_mag_pad, roi_size, n_window, device, model, aggressiveness, is_half=True):
+ model.eval()
+ with torch.no_grad():
+ preds = []
+
+ iterations = [n_window]
+
+ sum(iterations)
+ for i in tqdm(range(n_window)):
+ start = i * roi_size
+ X_mag_window = X_mag_pad[None, :, :, start : start + data["window_size"]]
+ X_mag_window = torch.from_numpy(X_mag_window)
+ if is_half:
+ X_mag_window = X_mag_window.half()
+ X_mag_window = X_mag_window.to(device)
+
+ pred = model.predict(X_mag_window, aggressiveness)
+
+ pred = pred.detach().cpu().numpy()
+ preds.append(pred[0])
+
+ pred = np.concatenate(preds, axis=2)
+ return pred
+
+ def preprocess(X_spec):
+ X_mag = np.abs(X_spec)
+ X_phase = np.angle(X_spec)
+
+ return X_mag, X_phase
+
+ X_mag, X_phase = preprocess(X_spec)
+
+ coef = X_mag.max()
+ X_mag_pre = X_mag / coef
+
+ n_frame = X_mag_pre.shape[2]
+ pad_l, pad_r, roi_size = make_padding(n_frame, data["window_size"], model.offset)
+ n_window = int(np.ceil(n_frame / roi_size))
+
+ X_mag_pad = np.pad(X_mag_pre, ((0, 0), (0, 0), (pad_l, pad_r)), mode="constant")
+
+ if list(model.state_dict().values())[0].dtype == torch.float16:
+ is_half = True
+ else:
+ is_half = False
+ pred = _execute(X_mag_pad, roi_size, n_window, device, model, aggressiveness, is_half)
+ pred = pred[:, :, :n_frame]
+
+ if data["tta"]:
+ pad_l += roi_size // 2
+ pad_r += roi_size // 2
+ n_window += 1
+
+ X_mag_pad = np.pad(X_mag_pre, ((0, 0), (0, 0), (pad_l, pad_r)), mode="constant")
+
+ pred_tta = _execute(X_mag_pad, roi_size, n_window, device, model, aggressiveness, is_half)
+ pred_tta = pred_tta[:, :, roi_size // 2 :]
+ pred_tta = pred_tta[:, :, :n_frame]
+
+ return (pred + pred_tta) * 0.5 * coef, X_mag, np.exp(1.0j * X_phase)
+ else:
+ return pred * coef, X_mag, np.exp(1.0j * X_phase)
+
+
+def _get_name_params(model_path, model_hash):
+ data = load_data()
+ flag = False
+ ModelName = model_path
+ for type in list(data):
+ for model in list(data[type][0]):
+ for i in range(len(data[type][0][model])):
+ if str(data[type][0][model][i]["hash_name"]) == model_hash:
+ flag = True
+ elif str(data[type][0][model][i]["hash_name"]) in ModelName:
+ flag = True
+
+ if flag:
+ model_params_auto = data[type][0][model][i]["model_params"]
+ param_name_auto = data[type][0][model][i]["param_name"]
+ if type == "equivalent":
+ return param_name_auto, model_params_auto
+ else:
+ flag = False
+ return param_name_auto, model_params_auto
From d5ed91deb5cf62a7ea345f5c24306ffd7fb60cd0 Mon Sep 17 00:00:00 2001
From: XXXXRT666 <157766680+XXXXRT666@users.noreply.github.com>
Date: Tue, 17 Feb 2026 02:46:10 +0000
Subject: [PATCH 3/4] Update Docker Scipts
---
Docker/miniforge_install.sh | 7 +++----
1 file changed, 3 insertions(+), 4 deletions(-)
diff --git a/Docker/miniforge_install.sh b/Docker/miniforge_install.sh
index e564af0c..b2ba8c0a 100644
--- a/Docker/miniforge_install.sh
+++ b/Docker/miniforge_install.sh
@@ -60,17 +60,16 @@ source "$HOME/.bashrc"
"$HOME/conda/bin/conda" install gcc=11 gxx ffmpeg uv cmake make unzip $SYSROOT_PKG "libstdcxx-ng>=11" -y
if [ "$CUDA_VERSION" = "12.8" ]; then
- "$HOME/conda/bin/uv" pip install torch torchcodec --no-cache-dir --index-url https://download.pytorch.org/whl/cu128
+ "$HOME/conda/bin/uv" pip install ".[cu128]" --no-cache-dir --python "$(which python)"
"$HOME/conda/bin/conda" install cuda-nvcc=12.8 -y
elif [ "$CUDA_VERSION" = "12.6" ]; then
- "$HOME/conda/bin/uv" pip install torch torchcodec --no-cache-dir --index-url https://download.pytorch.org/whl/cu126
+ "$HOME/conda/bin/uv" pip install ".[cu126]" --no-cache-dir --python "$(which python)"
"$HOME/conda/bin/conda" install cuda-nvcc=12.6 -y
fi
export PATH="$HOME/conda/bin:$PATH"
-"$HOME/conda/bin/uv" pip install psutil ninja packaging wheel "setuptools>=42" einops
-"$HOME/conda/bin/uv" pip install flash-attn -i https://xxxxrt666.github.io/PIP-Index/ --no-build-isolation
+"$HOME/conda/bin/uv" pip install ".[flash-attn]" --python "$(which python)"
"$HOME/conda/bin/uv" cache clean
rm $LOG_PATH
From 319a09fa2d54335ab4893190c860c77beed76a83 Mon Sep 17 00:00:00 2001
From: XXXXRT666 <157766680+XXXXRT666@users.noreply.github.com>
Date: Tue, 17 Feb 2026 04:35:40 +0000
Subject: [PATCH 4/4] Update Flash Attn Installation
---
Docker/miniforge_install.sh | 10 +++++-----
install.ps1 | 2 --
install.sh | 2 --
pyproject.toml | 6 ++++++
4 files changed, 11 insertions(+), 9 deletions(-)
diff --git a/Docker/miniforge_install.sh b/Docker/miniforge_install.sh
index b2ba8c0a..5dea4f79 100644
--- a/Docker/miniforge_install.sh
+++ b/Docker/miniforge_install.sh
@@ -59,17 +59,17 @@ source "$HOME/.bashrc"
"$HOME/conda/bin/conda" install gcc=11 gxx ffmpeg uv cmake make unzip $SYSROOT_PKG "libstdcxx-ng>=11" -y
+cd workspace
+
if [ "$CUDA_VERSION" = "12.8" ]; then
- "$HOME/conda/bin/uv" pip install ".[cu128]" --no-cache-dir --python "$(which python)"
- "$HOME/conda/bin/conda" install cuda-nvcc=12.8 -y
+ "$HOME/conda/bin/uv" pip install ".[cu128]" --no-cache-dir --python "$HOME/conda/bin/python"
elif [ "$CUDA_VERSION" = "12.6" ]; then
- "$HOME/conda/bin/uv" pip install ".[cu126]" --no-cache-dir --python "$(which python)"
- "$HOME/conda/bin/conda" install cuda-nvcc=12.6 -y
+ "$HOME/conda/bin/uv" pip install ".[cu126]" --no-cache-dir --python "$HOME/conda/bin/python"
fi
export PATH="$HOME/conda/bin:$PATH"
-"$HOME/conda/bin/uv" pip install ".[flash-attn]" --python "$(which python)"
+"$HOME/conda/bin/uv" pip install ".[flash-attn]" --python "$HOME/conda/bin/python"
"$HOME/conda/bin/uv" cache clean
rm $LOG_PATH
diff --git a/install.ps1 b/install.ps1
index ff4580c9..cb990f20 100644
--- a/install.ps1
+++ b/install.ps1
@@ -331,7 +331,6 @@ switch ($Device) {
}
Write-Info "Installing PyTorch For CUDA 12.8..."
Invoke-PIP ".[cu128]"
- Invoke-Conda cuda-nvcc=12.8
Write-Info "Installing Flash Attn..."
Invoke-PIP ".[flash-attn]"
Write-Success "Flash Attn Installed"
@@ -346,7 +345,6 @@ switch ($Device) {
}
Write-Info "Installing PyTorch For CUDA 12.6..."
Invoke-PIP ".[cu126]"
- Invoke-Conda cuda-nvcc=12.6
Write-Info "Installing Flash Attn..."
Invoke-PIP ".[flash-attn]"
Write-Success "Flash Attn Installed"
diff --git a/install.sh b/install.sh
index e3ca4efd..cbce27e1 100644
--- a/install.sh
+++ b/install.sh
@@ -392,14 +392,12 @@ if [ "$USE_CUDA" = true ] && [ "$WORKFLOW" = false ]; then
fi
echo -e "${INFO}Installing PyTorch For CUDA 12.8..."
run_pip_quiet ".[cu128]"
- run_conda_quiet cuda-nvcc=12.8
elif [ "$CUDA" = 126 ]; then
if awk "BEGIN {exit !($CUDAVERSION < 12.0)}"; then
echo -e "${WARNING}CUDA 12.6 Is Not Supported By Current Driver"
fi
echo -e "${INFO}Installing PyTorch For CUDA 12.6..."
run_pip_quiet ".[cu126]"
- run_conda_quiet cuda-nvcc=12.6
fi
echo -e "${INFO}Installing Flash Attn"
diff --git a/pyproject.toml b/pyproject.toml
index ee3cd0a4..a948a652 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -75,6 +75,12 @@ dependency-metadata = [
{ name = "faster-whisper", requires-dist = [], requires-python = ">=3.10" },
]
+[tool.uv.extra-build-dependencies]
+flash-attn = [{ requirement = "torch", match-runtime = true }]
+
+[tool.uv.extra-build-variables]
+flash-attn = { FLASH_ATTENTION_SKIP_CUDA_BUILD = "TRUE" }
+
[tool.uv.pip]
no-binary = ["opencc"]