From 83a344004b1f81ad9b775a49e173c788c568d3b6 Mon Sep 17 00:00:00 2001 From: Azalea <22280294+hykilpikonna@users.noreply.github.com> Date: Wed, 11 Oct 2023 18:25:54 -0400 Subject: [PATCH 01/16] [-] Remove unnecessary dependencies --- requirements.txt | 66 ++++++++++++------------------------------------ 1 file changed, 16 insertions(+), 50 deletions(-) diff --git a/requirements.txt b/requirements.txt index 3135521..4c44e80 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,50 +1,16 @@ -appdirs==1.4.4 -audioread==3.0.0 -certifi==2022.12.7 -cffi==1.15.1 -charset-normalizer==3.0.1 -colorama==0.4.6 -decorator==5.1.1 -filelock==3.9.0 -flit_core==3.6.0 -huggingface-hub==0.12.1 -idna==3.4 -importlib-metadata==6.0.0 -importlib-resources==5.12.0 -jaraco.classes==3.2.3 -joblib==1.2.0 -lazy_loader==0.1 -librosa==0.10.0 -llvmlite==0.39.1 -mkl-service==2.4.0 -more-itertools==9.0.0 -msgpack==1.0.4 -numba==0.56.4 -numpy==1.23.5 -packaging==23.0 -pandas==1.4.2 -pooch==1.6.0 -pycparser==2.21 -pywin32-ctypes==0.2.0 -PyYAML==6.0 -regex==2022.10.31 -requests==2.28.2 -scikit-learn==1.2.1 -scipy==1.10.1 -setuptools==65.6.3 -six==1.16.0 -soundfile==0.12.1 -soxr==0.3.3 -threadpoolctl==3.1.0 -tokenizers==0.13.2 -torch==1.13.1 -torchaudio==0.13.1 -torchlibrosa==0.1.0 -torchvision==0.14.1 -tqdm==4.64.1 -transformers==4.26.1 -typing_extensions==4.4.0 -urllib3==1.26.14 -wheel==0.38.4 -wincertstore==0.2 -zipp==3.14.0 +huggingface-hub~=0.12.1 +importlib-resources~=5.12.0 +# joblib~=1.2.0 +librosa~=0.10.1 +numba~=0.58.0 +numpy~=1.25.0 +pandas~=2.1.1 +PyYAML~=6.0 +scikit-learn~=1.2.1 +setuptools~=65.6.3 +torch~=2.1.0 +torchaudio~=2.1.0 +torchlibrosa~=0.1.0 +torchvision~=0.16.0 +tqdm~=4.64.1 +transformers~=4.26.1 From 583928827daa8e115b93e926c65c91cc874e91a4 Mon Sep 17 00:00:00 2001 From: Azalea <22280294+hykilpikonna@users.noreply.github.com> Date: Wed, 11 Oct 2023 18:26:10 -0400 Subject: [PATCH 02/16] [-] Remove deprecated torch._six --- src/CLAPWrapper.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/CLAPWrapper.py b/src/CLAPWrapper.py index df9c79f..0755bf1 100644 --- a/src/CLAPWrapper.py +++ b/src/CLAPWrapper.py @@ -2,7 +2,6 @@ import warnings warnings.filterwarnings("ignore") import random import torchaudio -from torch._six import string_classes import collections import re import numpy as np @@ -184,7 +183,7 @@ class CLAPWrapper(): return torch.tensor(batch, dtype=torch.float64) elif isinstance(elem, int): return torch.tensor(batch) - elif isinstance(elem, string_classes): + elif isinstance(elem, str): return batch elif isinstance(elem, collections.abc.Mapping): return {key: self.default_collate([d[key] for d in batch]) for key in elem} From 81cc62ef32e7f8fb4a47a5e44e9ec480e329efba Mon Sep 17 00:00:00 2001 From: Azalea <22280294+hykilpikonna@users.noreply.github.com> Date: Wed, 11 Oct 2023 18:39:53 -0400 Subject: [PATCH 03/16] [M] Migrate to poetry for modern dependency management --- poetry.lock | 1754 ++++++++++++++++++++++++++++++++++++++++++++++ pyproject.toml | 28 + requirements.txt | 16 - 3 files changed, 1782 insertions(+), 16 deletions(-) create mode 100644 poetry.lock create mode 100644 pyproject.toml delete mode 100644 requirements.txt diff --git a/poetry.lock b/poetry.lock new file mode 100644 index 0000000..ccb20b7 --- /dev/null +++ b/poetry.lock @@ -0,0 +1,1754 @@ +# This file is automatically @generated by Poetry 1.6.1 and should not be changed by hand. + +[[package]] +name = "audioread" +version = "3.0.1" +description = "Multi-library, cross-platform audio decoding." +optional = false +python-versions = ">=3.6" +files = [ + {file = "audioread-3.0.1-py3-none-any.whl", hash = "sha256:4cdce70b8adc0da0a3c9e0d85fb10b3ace30fbdf8d1670fd443929b61d117c33"}, + {file = "audioread-3.0.1.tar.gz", hash = "sha256:ac5460a5498c48bdf2e8e767402583a4dcd13f4414d286f42ce4379e8b35066d"}, +] + +[package.extras] +test = ["tox"] + +[[package]] +name = "certifi" +version = "2023.7.22" +description = "Python package for providing Mozilla's CA Bundle." +optional = false +python-versions = ">=3.6" +files = [ + {file = "certifi-2023.7.22-py3-none-any.whl", hash = "sha256:92d6037539857d8206b8f6ae472e8b77db8058fec5937a1ef3f54304089edbb9"}, + {file = "certifi-2023.7.22.tar.gz", hash = "sha256:539cc1d13202e33ca466e88b2807e29f4c13049d6d87031a3c110744495cb082"}, +] + +[[package]] +name = "cffi" +version = "1.16.0" +description = "Foreign Function Interface for Python calling C code." +optional = false +python-versions = ">=3.8" +files = [ + {file = "cffi-1.16.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:6b3d6606d369fc1da4fd8c357d026317fbb9c9b75d36dc16e90e84c26854b088"}, + {file = "cffi-1.16.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:ac0f5edd2360eea2f1daa9e26a41db02dd4b0451b48f7c318e217ee092a213e9"}, + {file = "cffi-1.16.0-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7e61e3e4fa664a8588aa25c883eab612a188c725755afff6289454d6362b9673"}, + {file = "cffi-1.16.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a72e8961a86d19bdb45851d8f1f08b041ea37d2bd8d4fd19903bc3083d80c896"}, + {file = "cffi-1.16.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5b50bf3f55561dac5438f8e70bfcdfd74543fd60df5fa5f62d94e5867deca684"}, + {file = "cffi-1.16.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7651c50c8c5ef7bdb41108b7b8c5a83013bfaa8a935590c5d74627c047a583c7"}, + {file = "cffi-1.16.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e4108df7fe9b707191e55f33efbcb2d81928e10cea45527879a4749cbe472614"}, + {file = "cffi-1.16.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:32c68ef735dbe5857c810328cb2481e24722a59a2003018885514d4c09af9743"}, + {file = "cffi-1.16.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:673739cb539f8cdaa07d92d02efa93c9ccf87e345b9a0b556e3ecc666718468d"}, + {file = "cffi-1.16.0-cp310-cp310-win32.whl", hash = "sha256:9f90389693731ff1f659e55c7d1640e2ec43ff725cc61b04b2f9c6d8d017df6a"}, + {file = "cffi-1.16.0-cp310-cp310-win_amd64.whl", hash = "sha256:e6024675e67af929088fda399b2094574609396b1decb609c55fa58b028a32a1"}, + {file = "cffi-1.16.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:b84834d0cf97e7d27dd5b7f3aca7b6e9263c56308ab9dc8aae9784abb774d404"}, + {file = "cffi-1.16.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:1b8ebc27c014c59692bb2664c7d13ce7a6e9a629be20e54e7271fa696ff2b417"}, + {file = "cffi-1.16.0-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ee07e47c12890ef248766a6e55bd38ebfb2bb8edd4142d56db91b21ea68b7627"}, + {file = "cffi-1.16.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d8a9d3ebe49f084ad71f9269834ceccbf398253c9fac910c4fd7053ff1386936"}, + {file = "cffi-1.16.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e70f54f1796669ef691ca07d046cd81a29cb4deb1e5f942003f401c0c4a2695d"}, + {file = "cffi-1.16.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5bf44d66cdf9e893637896c7faa22298baebcd18d1ddb6d2626a6e39793a1d56"}, + {file = "cffi-1.16.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7b78010e7b97fef4bee1e896df8a4bbb6712b7f05b7ef630f9d1da00f6444d2e"}, + {file = "cffi-1.16.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:c6a164aa47843fb1b01e941d385aab7215563bb8816d80ff3a363a9f8448a8dc"}, + {file = "cffi-1.16.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:e09f3ff613345df5e8c3667da1d918f9149bd623cd9070c983c013792a9a62eb"}, + {file = "cffi-1.16.0-cp311-cp311-win32.whl", hash = "sha256:2c56b361916f390cd758a57f2e16233eb4f64bcbeee88a4881ea90fca14dc6ab"}, + {file = "cffi-1.16.0-cp311-cp311-win_amd64.whl", hash = "sha256:db8e577c19c0fda0beb7e0d4e09e0ba74b1e4c092e0e40bfa12fe05b6f6d75ba"}, + {file = "cffi-1.16.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:fa3a0128b152627161ce47201262d3140edb5a5c3da88d73a1b790a959126956"}, + {file = "cffi-1.16.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:68e7c44931cc171c54ccb702482e9fc723192e88d25a0e133edd7aff8fcd1f6e"}, + {file = "cffi-1.16.0-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:abd808f9c129ba2beda4cfc53bde801e5bcf9d6e0f22f095e45327c038bfe68e"}, + {file = "cffi-1.16.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:88e2b3c14bdb32e440be531ade29d3c50a1a59cd4e51b1dd8b0865c54ea5d2e2"}, + {file = "cffi-1.16.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:fcc8eb6d5902bb1cf6dc4f187ee3ea80a1eba0a89aba40a5cb20a5087d961357"}, + {file = "cffi-1.16.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b7be2d771cdba2942e13215c4e340bfd76398e9227ad10402a8767ab1865d2e6"}, + {file = "cffi-1.16.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e715596e683d2ce000574bae5d07bd522c781a822866c20495e52520564f0969"}, + {file = "cffi-1.16.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:2d92b25dbf6cae33f65005baf472d2c245c050b1ce709cc4588cdcdd5495b520"}, + {file = "cffi-1.16.0-cp312-cp312-win32.whl", hash = "sha256:b2ca4e77f9f47c55c194982e10f058db063937845bb2b7a86c84a6cfe0aefa8b"}, + {file = "cffi-1.16.0-cp312-cp312-win_amd64.whl", hash = "sha256:68678abf380b42ce21a5f2abde8efee05c114c2fdb2e9eef2efdb0257fba1235"}, + {file = "cffi-1.16.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:0c9ef6ff37e974b73c25eecc13952c55bceed9112be2d9d938ded8e856138bcc"}, + {file = "cffi-1.16.0-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a09582f178759ee8128d9270cd1344154fd473bb77d94ce0aeb2a93ebf0feaf0"}, + {file = "cffi-1.16.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e760191dd42581e023a68b758769e2da259b5d52e3103c6060ddc02c9edb8d7b"}, + {file = "cffi-1.16.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:80876338e19c951fdfed6198e70bc88f1c9758b94578d5a7c4c91a87af3cf31c"}, + {file = "cffi-1.16.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a6a14b17d7e17fa0d207ac08642c8820f84f25ce17a442fd15e27ea18d67c59b"}, + {file = "cffi-1.16.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6602bc8dc6f3a9e02b6c22c4fc1e47aa50f8f8e6d3f78a5e16ac33ef5fefa324"}, + {file = "cffi-1.16.0-cp38-cp38-win32.whl", hash = "sha256:131fd094d1065b19540c3d72594260f118b231090295d8c34e19a7bbcf2e860a"}, + {file = "cffi-1.16.0-cp38-cp38-win_amd64.whl", hash = "sha256:31d13b0f99e0836b7ff893d37af07366ebc90b678b6664c955b54561fc36ef36"}, + {file = "cffi-1.16.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:582215a0e9adbe0e379761260553ba11c58943e4bbe9c36430c4ca6ac74b15ed"}, + {file = "cffi-1.16.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:b29ebffcf550f9da55bec9e02ad430c992a87e5f512cd63388abb76f1036d8d2"}, + {file = "cffi-1.16.0-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:dc9b18bf40cc75f66f40a7379f6a9513244fe33c0e8aa72e2d56b0196a7ef872"}, + {file = "cffi-1.16.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9cb4a35b3642fc5c005a6755a5d17c6c8b6bcb6981baf81cea8bfbc8903e8ba8"}, + {file = "cffi-1.16.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b86851a328eedc692acf81fb05444bdf1891747c25af7529e39ddafaf68a4f3f"}, + {file = "cffi-1.16.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c0f31130ebc2d37cdd8e44605fb5fa7ad59049298b3f745c74fa74c62fbfcfc4"}, + {file = "cffi-1.16.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8f8e709127c6c77446a8c0a8c8bf3c8ee706a06cd44b1e827c3e6a2ee6b8c098"}, + {file = "cffi-1.16.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:748dcd1e3d3d7cd5443ef03ce8685043294ad6bd7c02a38d1bd367cfd968e000"}, + {file = "cffi-1.16.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:8895613bcc094d4a1b2dbe179d88d7fb4a15cee43c052e8885783fac397d91fe"}, + {file = "cffi-1.16.0-cp39-cp39-win32.whl", hash = "sha256:ed86a35631f7bfbb28e108dd96773b9d5a6ce4811cf6ea468bb6a359b256b1e4"}, + {file = "cffi-1.16.0-cp39-cp39-win_amd64.whl", hash = "sha256:3686dffb02459559c74dd3d81748269ffb0eb027c39a6fc99502de37d501faa8"}, + {file = "cffi-1.16.0.tar.gz", hash = "sha256:bcb3ef43e58665bbda2fb198698fcae6776483e0c4a631aa5647806c25e02cc0"}, +] + +[package.dependencies] +pycparser = "*" + +[[package]] +name = "charset-normalizer" +version = "3.3.0" +description = "The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet." +optional = false +python-versions = ">=3.7.0" +files = [ + {file = "charset-normalizer-3.3.0.tar.gz", hash = "sha256:63563193aec44bce707e0c5ca64ff69fa72ed7cf34ce6e11d5127555756fd2f6"}, + {file = "charset_normalizer-3.3.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:effe5406c9bd748a871dbcaf3ac69167c38d72db8c9baf3ff954c344f31c4cbe"}, + {file = "charset_normalizer-3.3.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:4162918ef3098851fcd8a628bf9b6a98d10c380725df9e04caf5ca6dd48c847a"}, + {file = "charset_normalizer-3.3.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:0570d21da019941634a531444364f2482e8db0b3425fcd5ac0c36565a64142c8"}, + {file = "charset_normalizer-3.3.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5707a746c6083a3a74b46b3a631d78d129edab06195a92a8ece755aac25a3f3d"}, + {file = "charset_normalizer-3.3.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:278c296c6f96fa686d74eb449ea1697f3c03dc28b75f873b65b5201806346a69"}, + {file = "charset_normalizer-3.3.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a4b71f4d1765639372a3b32d2638197f5cd5221b19531f9245fcc9ee62d38f56"}, + {file = "charset_normalizer-3.3.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f5969baeaea61c97efa706b9b107dcba02784b1601c74ac84f2a532ea079403e"}, + {file = "charset_normalizer-3.3.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a3f93dab657839dfa61025056606600a11d0b696d79386f974e459a3fbc568ec"}, + {file = "charset_normalizer-3.3.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:db756e48f9c5c607b5e33dd36b1d5872d0422e960145b08ab0ec7fd420e9d649"}, + {file = "charset_normalizer-3.3.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:232ac332403e37e4a03d209a3f92ed9071f7d3dbda70e2a5e9cff1c4ba9f0678"}, + {file = "charset_normalizer-3.3.0-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:e5c1502d4ace69a179305abb3f0bb6141cbe4714bc9b31d427329a95acfc8bdd"}, + {file = "charset_normalizer-3.3.0-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:2502dd2a736c879c0f0d3e2161e74d9907231e25d35794584b1ca5284e43f596"}, + {file = "charset_normalizer-3.3.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:23e8565ab7ff33218530bc817922fae827420f143479b753104ab801145b1d5b"}, + {file = "charset_normalizer-3.3.0-cp310-cp310-win32.whl", hash = "sha256:1872d01ac8c618a8da634e232f24793883d6e456a66593135aeafe3784b0848d"}, + {file = "charset_normalizer-3.3.0-cp310-cp310-win_amd64.whl", hash = "sha256:557b21a44ceac6c6b9773bc65aa1b4cc3e248a5ad2f5b914b91579a32e22204d"}, + {file = "charset_normalizer-3.3.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:d7eff0f27edc5afa9e405f7165f85a6d782d308f3b6b9d96016c010597958e63"}, + {file = "charset_normalizer-3.3.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:6a685067d05e46641d5d1623d7c7fdf15a357546cbb2f71b0ebde91b175ffc3e"}, + {file = "charset_normalizer-3.3.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:0d3d5b7db9ed8a2b11a774db2bbea7ba1884430a205dbd54a32d61d7c2a190fa"}, + {file = "charset_normalizer-3.3.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2935ffc78db9645cb2086c2f8f4cfd23d9b73cc0dc80334bc30aac6f03f68f8c"}, + {file = "charset_normalizer-3.3.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9fe359b2e3a7729010060fbca442ca225280c16e923b37db0e955ac2a2b72a05"}, + {file = "charset_normalizer-3.3.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:380c4bde80bce25c6e4f77b19386f5ec9db230df9f2f2ac1e5ad7af2caa70459"}, + {file = "charset_normalizer-3.3.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f0d1e3732768fecb052d90d62b220af62ead5748ac51ef61e7b32c266cac9293"}, + {file = "charset_normalizer-3.3.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1b2919306936ac6efb3aed1fbf81039f7087ddadb3160882a57ee2ff74fd2382"}, + {file = "charset_normalizer-3.3.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:f8888e31e3a85943743f8fc15e71536bda1c81d5aa36d014a3c0c44481d7db6e"}, + {file = "charset_normalizer-3.3.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:82eb849f085624f6a607538ee7b83a6d8126df6d2f7d3b319cb837b289123078"}, + {file = "charset_normalizer-3.3.0-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:7b8b8bf1189b3ba9b8de5c8db4d541b406611a71a955bbbd7385bbc45fcb786c"}, + {file = "charset_normalizer-3.3.0-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:5adf257bd58c1b8632046bbe43ee38c04e1038e9d37de9c57a94d6bd6ce5da34"}, + {file = "charset_normalizer-3.3.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:c350354efb159b8767a6244c166f66e67506e06c8924ed74669b2c70bc8735b1"}, + {file = "charset_normalizer-3.3.0-cp311-cp311-win32.whl", hash = "sha256:02af06682e3590ab952599fbadac535ede5d60d78848e555aa58d0c0abbde786"}, + {file = "charset_normalizer-3.3.0-cp311-cp311-win_amd64.whl", hash = "sha256:86d1f65ac145e2c9ed71d8ffb1905e9bba3a91ae29ba55b4c46ae6fc31d7c0d4"}, + {file = "charset_normalizer-3.3.0-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:3b447982ad46348c02cb90d230b75ac34e9886273df3a93eec0539308a6296d7"}, + {file = "charset_normalizer-3.3.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:abf0d9f45ea5fb95051c8bfe43cb40cda383772f7e5023a83cc481ca2604d74e"}, + {file = "charset_normalizer-3.3.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:b09719a17a2301178fac4470d54b1680b18a5048b481cb8890e1ef820cb80455"}, + {file = "charset_normalizer-3.3.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b3d9b48ee6e3967b7901c052b670c7dda6deb812c309439adaffdec55c6d7b78"}, + {file = "charset_normalizer-3.3.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:edfe077ab09442d4ef3c52cb1f9dab89bff02f4524afc0acf2d46be17dc479f5"}, + {file = "charset_normalizer-3.3.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3debd1150027933210c2fc321527c2299118aa929c2f5a0a80ab6953e3bd1908"}, + {file = "charset_normalizer-3.3.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:86f63face3a527284f7bb8a9d4f78988e3c06823f7bea2bd6f0e0e9298ca0403"}, + {file = "charset_normalizer-3.3.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:24817cb02cbef7cd499f7c9a2735286b4782bd47a5b3516a0e84c50eab44b98e"}, + {file = "charset_normalizer-3.3.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:c71f16da1ed8949774ef79f4a0260d28b83b3a50c6576f8f4f0288d109777989"}, + {file = "charset_normalizer-3.3.0-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:9cf3126b85822c4e53aa28c7ec9869b924d6fcfb76e77a45c44b83d91afd74f9"}, + {file = "charset_normalizer-3.3.0-cp312-cp312-musllinux_1_1_ppc64le.whl", hash = "sha256:b3b2316b25644b23b54a6f6401074cebcecd1244c0b8e80111c9a3f1c8e83d65"}, + {file = "charset_normalizer-3.3.0-cp312-cp312-musllinux_1_1_s390x.whl", hash = "sha256:03680bb39035fbcffe828eae9c3f8afc0428c91d38e7d61aa992ef7a59fb120e"}, + {file = "charset_normalizer-3.3.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:4cc152c5dd831641e995764f9f0b6589519f6f5123258ccaca8c6d34572fefa8"}, + {file = "charset_normalizer-3.3.0-cp312-cp312-win32.whl", hash = "sha256:b8f3307af845803fb0b060ab76cf6dd3a13adc15b6b451f54281d25911eb92df"}, + {file = "charset_normalizer-3.3.0-cp312-cp312-win_amd64.whl", hash = "sha256:8eaf82f0eccd1505cf39a45a6bd0a8cf1c70dcfc30dba338207a969d91b965c0"}, + {file = "charset_normalizer-3.3.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:dc45229747b67ffc441b3de2f3ae5e62877a282ea828a5bdb67883c4ee4a8810"}, + {file = "charset_normalizer-3.3.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2f4a0033ce9a76e391542c182f0d48d084855b5fcba5010f707c8e8c34663d77"}, + {file = "charset_normalizer-3.3.0-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ada214c6fa40f8d800e575de6b91a40d0548139e5dc457d2ebb61470abf50186"}, + {file = "charset_normalizer-3.3.0-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b1121de0e9d6e6ca08289583d7491e7fcb18a439305b34a30b20d8215922d43c"}, + {file = "charset_normalizer-3.3.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1063da2c85b95f2d1a430f1c33b55c9c17ffaf5e612e10aeaad641c55a9e2b9d"}, + {file = "charset_normalizer-3.3.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:70f1d09c0d7748b73290b29219e854b3207aea922f839437870d8cc2168e31cc"}, + {file = "charset_normalizer-3.3.0-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:250c9eb0f4600361dd80d46112213dff2286231d92d3e52af1e5a6083d10cad9"}, + {file = "charset_normalizer-3.3.0-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:750b446b2ffce1739e8578576092179160f6d26bd5e23eb1789c4d64d5af7dc7"}, + {file = "charset_normalizer-3.3.0-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:fc52b79d83a3fe3a360902d3f5d79073a993597d48114c29485e9431092905d8"}, + {file = "charset_normalizer-3.3.0-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:588245972aca710b5b68802c8cad9edaa98589b1b42ad2b53accd6910dad3545"}, + {file = "charset_normalizer-3.3.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:e39c7eb31e3f5b1f88caff88bcff1b7f8334975b46f6ac6e9fc725d829bc35d4"}, + {file = "charset_normalizer-3.3.0-cp37-cp37m-win32.whl", hash = "sha256:abecce40dfebbfa6abf8e324e1860092eeca6f7375c8c4e655a8afb61af58f2c"}, + {file = "charset_normalizer-3.3.0-cp37-cp37m-win_amd64.whl", hash = "sha256:24a91a981f185721542a0b7c92e9054b7ab4fea0508a795846bc5b0abf8118d4"}, + {file = "charset_normalizer-3.3.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:67b8cc9574bb518ec76dc8e705d4c39ae78bb96237cb533edac149352c1f39fe"}, + {file = "charset_normalizer-3.3.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:ac71b2977fb90c35d41c9453116e283fac47bb9096ad917b8819ca8b943abecd"}, + {file = "charset_normalizer-3.3.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:3ae38d325b512f63f8da31f826e6cb6c367336f95e418137286ba362925c877e"}, + {file = "charset_normalizer-3.3.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:542da1178c1c6af8873e143910e2269add130a299c9106eef2594e15dae5e482"}, + {file = "charset_normalizer-3.3.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:30a85aed0b864ac88309b7d94be09f6046c834ef60762a8833b660139cfbad13"}, + {file = "charset_normalizer-3.3.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:aae32c93e0f64469f74ccc730a7cb21c7610af3a775157e50bbd38f816536b38"}, + {file = "charset_normalizer-3.3.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:15b26ddf78d57f1d143bdf32e820fd8935d36abe8a25eb9ec0b5a71c82eb3895"}, + {file = "charset_normalizer-3.3.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7f5d10bae5d78e4551b7be7a9b29643a95aded9d0f602aa2ba584f0388e7a557"}, + {file = "charset_normalizer-3.3.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:249c6470a2b60935bafd1d1d13cd613f8cd8388d53461c67397ee6a0f5dce741"}, + {file = "charset_normalizer-3.3.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:c5a74c359b2d47d26cdbbc7845e9662d6b08a1e915eb015d044729e92e7050b7"}, + {file = "charset_normalizer-3.3.0-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:b5bcf60a228acae568e9911f410f9d9e0d43197d030ae5799e20dca8df588287"}, + {file = "charset_normalizer-3.3.0-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:187d18082694a29005ba2944c882344b6748d5be69e3a89bf3cc9d878e548d5a"}, + {file = "charset_normalizer-3.3.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:81bf654678e575403736b85ba3a7867e31c2c30a69bc57fe88e3ace52fb17b89"}, + {file = "charset_normalizer-3.3.0-cp38-cp38-win32.whl", hash = "sha256:85a32721ddde63c9df9ebb0d2045b9691d9750cb139c161c80e500d210f5e26e"}, + {file = "charset_normalizer-3.3.0-cp38-cp38-win_amd64.whl", hash = "sha256:468d2a840567b13a590e67dd276c570f8de00ed767ecc611994c301d0f8c014f"}, + {file = "charset_normalizer-3.3.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:e0fc42822278451bc13a2e8626cf2218ba570f27856b536e00cfa53099724828"}, + {file = "charset_normalizer-3.3.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:09c77f964f351a7369cc343911e0df63e762e42bac24cd7d18525961c81754f4"}, + {file = "charset_normalizer-3.3.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:12ebea541c44fdc88ccb794a13fe861cc5e35d64ed689513a5c03d05b53b7c82"}, + {file = "charset_normalizer-3.3.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:805dfea4ca10411a5296bcc75638017215a93ffb584c9e344731eef0dcfb026a"}, + {file = "charset_normalizer-3.3.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:96c2b49eb6a72c0e4991d62406e365d87067ca14c1a729a870d22354e6f68115"}, + {file = "charset_normalizer-3.3.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:aaf7b34c5bc56b38c931a54f7952f1ff0ae77a2e82496583b247f7c969eb1479"}, + {file = "charset_normalizer-3.3.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:619d1c96099be5823db34fe89e2582b336b5b074a7f47f819d6b3a57ff7bdb86"}, + {file = "charset_normalizer-3.3.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a0ac5e7015a5920cfce654c06618ec40c33e12801711da6b4258af59a8eff00a"}, + {file = "charset_normalizer-3.3.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:93aa7eef6ee71c629b51ef873991d6911b906d7312c6e8e99790c0f33c576f89"}, + {file = "charset_normalizer-3.3.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:7966951325782121e67c81299a031f4c115615e68046f79b85856b86ebffc4cd"}, + {file = "charset_normalizer-3.3.0-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:02673e456dc5ab13659f85196c534dc596d4ef260e4d86e856c3b2773ce09843"}, + {file = "charset_normalizer-3.3.0-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:c2af80fb58f0f24b3f3adcb9148e6203fa67dd3f61c4af146ecad033024dde43"}, + {file = "charset_normalizer-3.3.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:153e7b6e724761741e0974fc4dcd406d35ba70b92bfe3fedcb497226c93b9da7"}, + {file = "charset_normalizer-3.3.0-cp39-cp39-win32.whl", hash = "sha256:d47ecf253780c90ee181d4d871cd655a789da937454045b17b5798da9393901a"}, + {file = "charset_normalizer-3.3.0-cp39-cp39-win_amd64.whl", hash = "sha256:d97d85fa63f315a8bdaba2af9a6a686e0eceab77b3089af45133252618e70884"}, + {file = "charset_normalizer-3.3.0-py3-none-any.whl", hash = "sha256:e46cd37076971c1040fc8c41273a8b3e2c624ce4f2be3f5dfcb7a430c1d3acc2"}, +] + +[[package]] +name = "colorama" +version = "0.4.6" +description = "Cross-platform colored terminal text." +optional = false +python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,>=2.7" +files = [ + {file = "colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6"}, + {file = "colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44"}, +] + +[[package]] +name = "decorator" +version = "5.1.1" +description = "Decorators for Humans" +optional = false +python-versions = ">=3.5" +files = [ + {file = "decorator-5.1.1-py3-none-any.whl", hash = "sha256:b8c3f85900b9dc423225913c5aace94729fe1fa9763b38939a95226f02d37186"}, + {file = "decorator-5.1.1.tar.gz", hash = "sha256:637996211036b6385ef91435e4fae22989472f9d571faba8927ba8253acbc330"}, +] + +[[package]] +name = "filelock" +version = "3.12.4" +description = "A platform independent file lock." +optional = false +python-versions = ">=3.8" +files = [ + {file = "filelock-3.12.4-py3-none-any.whl", hash = "sha256:08c21d87ded6e2b9da6728c3dff51baf1dcecf973b768ef35bcbc3447edb9ad4"}, + {file = "filelock-3.12.4.tar.gz", hash = "sha256:2e6f249f1f3654291606e046b09f1fd5eac39b360664c27f5aad072012f8bcbd"}, +] + +[package.extras] +docs = ["furo (>=2023.7.26)", "sphinx (>=7.1.2)", "sphinx-autodoc-typehints (>=1.24)"] +testing = ["covdefaults (>=2.3)", "coverage (>=7.3)", "diff-cover (>=7.7)", "pytest (>=7.4)", "pytest-cov (>=4.1)", "pytest-mock (>=3.11.1)", "pytest-timeout (>=2.1)"] +typing = ["typing-extensions (>=4.7.1)"] + +[[package]] +name = "fsspec" +version = "2023.9.2" +description = "File-system specification" +optional = false +python-versions = ">=3.8" +files = [ + {file = "fsspec-2023.9.2-py3-none-any.whl", hash = "sha256:603dbc52c75b84da501b9b2ec8c11e1f61c25984c4a0dda1f129ef391fbfc9b4"}, + {file = "fsspec-2023.9.2.tar.gz", hash = "sha256:80bfb8c70cc27b2178cc62a935ecf242fc6e8c3fb801f9c571fc01b1e715ba7d"}, +] + +[package.extras] +abfs = ["adlfs"] +adl = ["adlfs"] +arrow = ["pyarrow (>=1)"] +dask = ["dask", "distributed"] +devel = ["pytest", "pytest-cov"] +dropbox = ["dropbox", "dropboxdrivefs", "requests"] +full = ["adlfs", "aiohttp (!=4.0.0a0,!=4.0.0a1)", "dask", "distributed", "dropbox", "dropboxdrivefs", "fusepy", "gcsfs", "libarchive-c", "ocifs", "panel", "paramiko", "pyarrow (>=1)", "pygit2", "requests", "s3fs", "smbprotocol", "tqdm"] +fuse = ["fusepy"] +gcs = ["gcsfs"] +git = ["pygit2"] +github = ["requests"] +gs = ["gcsfs"] +gui = ["panel"] +hdfs = ["pyarrow (>=1)"] +http = ["aiohttp (!=4.0.0a0,!=4.0.0a1)", "requests"] +libarchive = ["libarchive-c"] +oci = ["ocifs"] +s3 = ["s3fs"] +sftp = ["paramiko"] +smb = ["smbprotocol"] +ssh = ["paramiko"] +tqdm = ["tqdm"] + +[[package]] +name = "huggingface-hub" +version = "0.17.3" +description = "Client library to download and publish models, datasets and other repos on the huggingface.co hub" +optional = false +python-versions = ">=3.8.0" +files = [ + {file = "huggingface_hub-0.17.3-py3-none-any.whl", hash = "sha256:545eb3665f6ac587add946e73984148f2ea5c7877eac2e845549730570c1933a"}, + {file = "huggingface_hub-0.17.3.tar.gz", hash = "sha256:40439632b211311f788964602bf8b0d9d6b7a2314fba4e8d67b2ce3ecea0e3fd"}, +] + +[package.dependencies] +filelock = "*" +fsspec = "*" +packaging = ">=20.9" +pyyaml = ">=5.1" +requests = "*" +tqdm = ">=4.42.1" +typing-extensions = ">=3.7.4.3" + +[package.extras] +all = ["InquirerPy (==0.3.4)", "Jinja2", "Pillow", "aiohttp", "black (==23.7)", "gradio", "jedi", "mypy (==1.5.1)", "numpy", "pydantic (<2.0)", "pytest", "pytest-asyncio", "pytest-cov", "pytest-env", "pytest-vcr", "pytest-xdist", "ruff (>=0.0.241)", "soundfile", "types-PyYAML", "types-requests", "types-simplejson", "types-toml", "types-tqdm", "types-urllib3", "urllib3 (<2.0)"] +cli = ["InquirerPy (==0.3.4)"] +dev = ["InquirerPy (==0.3.4)", "Jinja2", "Pillow", "aiohttp", "black (==23.7)", "gradio", "jedi", "mypy (==1.5.1)", "numpy", "pydantic (<2.0)", "pytest", "pytest-asyncio", "pytest-cov", "pytest-env", "pytest-vcr", "pytest-xdist", "ruff (>=0.0.241)", "soundfile", "types-PyYAML", "types-requests", "types-simplejson", "types-toml", "types-tqdm", "types-urllib3", "urllib3 (<2.0)"] +docs = ["InquirerPy (==0.3.4)", "Jinja2", "Pillow", "aiohttp", "black (==23.7)", "gradio", "hf-doc-builder", "jedi", "mypy (==1.5.1)", "numpy", "pydantic (<2.0)", "pytest", "pytest-asyncio", "pytest-cov", "pytest-env", "pytest-vcr", "pytest-xdist", "ruff (>=0.0.241)", "soundfile", "types-PyYAML", "types-requests", "types-simplejson", "types-toml", "types-tqdm", "types-urllib3", "urllib3 (<2.0)", "watchdog"] +fastai = ["fastai (>=2.4)", "fastcore (>=1.3.27)", "toml"] +inference = ["aiohttp", "pydantic (<2.0)"] +quality = ["black (==23.7)", "mypy (==1.5.1)", "ruff (>=0.0.241)"] +tensorflow = ["graphviz", "pydot", "tensorflow"] +testing = ["InquirerPy (==0.3.4)", "Jinja2", "Pillow", "aiohttp", "gradio", "jedi", "numpy", "pydantic (<2.0)", "pytest", "pytest-asyncio", "pytest-cov", "pytest-env", "pytest-vcr", "pytest-xdist", "soundfile", "urllib3 (<2.0)"] +torch = ["torch"] +typing = ["pydantic (<2.0)", "types-PyYAML", "types-requests", "types-simplejson", "types-toml", "types-tqdm", "types-urllib3"] + +[[package]] +name = "idna" +version = "3.4" +description = "Internationalized Domain Names in Applications (IDNA)" +optional = false +python-versions = ">=3.5" +files = [ + {file = "idna-3.4-py3-none-any.whl", hash = "sha256:90b77e79eaa3eba6de819a0c442c0b4ceefc341a7a2ab77d7562bf49f425c5c2"}, + {file = "idna-3.4.tar.gz", hash = "sha256:814f528e8dead7d329833b91c5faa87d60bf71824cd12a7530b5526063d02cb4"}, +] + +[[package]] +name = "importlib-resources" +version = "5.12.0" +description = "Read resources from Python packages" +optional = false +python-versions = ">=3.7" +files = [ + {file = "importlib_resources-5.12.0-py3-none-any.whl", hash = "sha256:7b1deeebbf351c7578e09bf2f63fa2ce8b5ffec296e0d349139d43cca061a81a"}, + {file = "importlib_resources-5.12.0.tar.gz", hash = "sha256:4be82589bf5c1d7999aedf2a45159d10cb3ca4f19b2271f8792bc8e6da7b22f6"}, +] + +[package.dependencies] +zipp = {version = ">=3.1.0", markers = "python_version < \"3.10\""} + +[package.extras] +docs = ["furo", "jaraco.packaging (>=9)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"] +testing = ["flake8 (<5)", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=1.3)", "pytest-flake8", "pytest-mypy (>=0.9.1)"] + +[[package]] +name = "jinja2" +version = "3.1.2" +description = "A very fast and expressive template engine." +optional = false +python-versions = ">=3.7" +files = [ + {file = "Jinja2-3.1.2-py3-none-any.whl", hash = "sha256:6088930bfe239f0e6710546ab9c19c9ef35e29792895fed6e6e31a023a182a61"}, + {file = "Jinja2-3.1.2.tar.gz", hash = "sha256:31351a702a408a9e7595a8fc6150fc3f43bb6bf7e319770cbc0db9df9437e852"}, +] + +[package.dependencies] +MarkupSafe = ">=2.0" + +[package.extras] +i18n = ["Babel (>=2.7)"] + +[[package]] +name = "joblib" +version = "1.3.2" +description = "Lightweight pipelining with Python functions" +optional = false +python-versions = ">=3.7" +files = [ + {file = "joblib-1.3.2-py3-none-any.whl", hash = "sha256:ef4331c65f239985f3f2220ecc87db222f08fd22097a3dd5698f693875f8cbb9"}, + {file = "joblib-1.3.2.tar.gz", hash = "sha256:92f865e621e17784e7955080b6d042489e3b8e294949cc44c6eac304f59772b1"}, +] + +[[package]] +name = "lazy-loader" +version = "0.3" +description = "lazy_loader" +optional = false +python-versions = ">=3.7" +files = [ + {file = "lazy_loader-0.3-py3-none-any.whl", hash = "sha256:1e9e76ee8631e264c62ce10006718e80b2cfc74340d17d1031e0f84af7478554"}, + {file = "lazy_loader-0.3.tar.gz", hash = "sha256:3b68898e34f5b2a29daaaac172c6555512d0f32074f147e2254e4a6d9d838f37"}, +] + +[package.extras] +lint = ["pre-commit (>=3.3)"] +test = ["pytest (>=7.4)", "pytest-cov (>=4.1)"] + +[[package]] +name = "librosa" +version = "0.10.1" +description = "Python module for audio and music processing" +optional = false +python-versions = ">=3.7" +files = [ + {file = "librosa-0.10.1-py3-none-any.whl", hash = "sha256:7ab91d9f5fcb75ea14848a05d3b1f825cf8d0c42ca160d19ae6874f2de2d8223"}, + {file = "librosa-0.10.1.tar.gz", hash = "sha256:832f7d150d6dd08ed2aa08c0567a4be58330635c32ddd2208de9bc91300802c7"}, +] + +[package.dependencies] +audioread = ">=2.1.9" +decorator = ">=4.3.0" +joblib = ">=0.14" +lazy-loader = ">=0.1" +msgpack = ">=1.0" +numba = ">=0.51.0" +numpy = ">=1.20.3,<1.22.0 || >1.22.0,<1.22.1 || >1.22.1,<1.22.2 || >1.22.2" +pooch = ">=1.0" +scikit-learn = ">=0.20.0" +scipy = ">=1.2.0" +soundfile = ">=0.12.1" +soxr = ">=0.3.2" +typing-extensions = ">=4.1.1" + +[package.extras] +display = ["matplotlib (>=3.3.0)"] +docs = ["ipython (>=7.0)", "matplotlib (>=3.3.0)", "mir-eval (>=0.5)", "numba (>=0.51)", "numpydoc", "presets", "sphinx (!=1.3.1)", "sphinx-gallery (>=0.7)", "sphinx-multiversion (>=0.2.3)", "sphinx-rtd-theme (>=1.2.0)", "sphinxcontrib-svg2pdfconverter"] +tests = ["matplotlib (>=3.3.0)", "packaging (>=20.0)", "pytest", "pytest-cov", "pytest-mpl", "resampy (>=0.2.2)", "samplerate", "types-decorator"] + +[[package]] +name = "llvmlite" +version = "0.41.0" +description = "lightweight wrapper around basic LLVM functionality" +optional = false +python-versions = ">=3.8" +files = [ + {file = "llvmlite-0.41.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:acc81c1279f858e5eab460844cc381e30d6666bc8eea04724b54d4eeb1fd1e54"}, + {file = "llvmlite-0.41.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:013000a11df84a8b5e4f7fbf2513896ca48441c527d9ae8e375da92bc5575d08"}, + {file = "llvmlite-0.41.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f1b5df30581eb8dbdee0e17a1217debb1d7dcd61a092a09726afff441dad5a67"}, + {file = "llvmlite-0.41.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fe265129ecd18957d3653cfb17df1632fa2c57fd0bac1960bc20a8c3ca961197"}, + {file = "llvmlite-0.41.0-cp310-cp310-win32.whl", hash = "sha256:6e477d23afbdddb3dde789d29a771e23bcfa1b12485156370dba9df05d529d94"}, + {file = "llvmlite-0.41.0-cp310-cp310-win_amd64.whl", hash = "sha256:93ce07a0a6d98ff2fcc34e7d2d315d8d09f6a737539e089f1a8cbe4a3a0313bf"}, + {file = "llvmlite-0.41.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:dabfb1a28d26b8c01228f59aec90a61324203dda6b1465c596d577d6380545e8"}, + {file = "llvmlite-0.41.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:741bb2ab7712c4763483189f0684163fb3ac44087c617698c50654c7d7ab6a24"}, + {file = "llvmlite-0.41.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f7b7022f1e2f652722ddd5697987f1aeaf0c9a64f2ee324e03f6e060b28a1bbd"}, + {file = "llvmlite-0.41.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:70feadac822f8840f2db6cbb662f1b349fe5d375d8ceb9c907f3919e005dc705"}, + {file = "llvmlite-0.41.0-cp311-cp311-win_amd64.whl", hash = "sha256:21191c6a9fb4a86d71ec72debbaf39db49590a950c8a2a4ac792c41d16b0a61a"}, + {file = "llvmlite-0.41.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:0d94e531c763340344198f2c31af6af7b665e9cd2b354e31afa5cf4abfce0a8e"}, + {file = "llvmlite-0.41.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:d8997264291e822689f7d6df4716638f35ff586bef5b8be40e2ba77d6bd9405c"}, + {file = "llvmlite-0.41.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:de31585b867e8d9bae0c15f03e8bf541afcff66ffa5f61e401a738274702bdcd"}, + {file = "llvmlite-0.41.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:57c0a3fd031936461f9f24f4cace80a86c9ba09d8b02fa87c209607aae2463cb"}, + {file = "llvmlite-0.41.0-cp38-cp38-win32.whl", hash = "sha256:0c79cb7e88403d6c64385bf1e63797af0884caf1f4afa3c8c4bbef1920e28148"}, + {file = "llvmlite-0.41.0-cp38-cp38-win_amd64.whl", hash = "sha256:6c40e290d930b09bbebe0d05c750b8a9e20af147e8cec8d62aa42e874f46dbfa"}, + {file = "llvmlite-0.41.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:24b3f7e258ea7c07ebf9f70c772e25619de8d207192254beb7644b818a97440b"}, + {file = "llvmlite-0.41.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:876cd5f53cfe51d3a5cf7952dc1a25bd6158f5795739b1f8159c3591b32ed3cb"}, + {file = "llvmlite-0.41.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8218d307bd89535207fea1cc1ef5498afcb6d0203153dba214058715fecdb699"}, + {file = "llvmlite-0.41.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:27d9d11c8dcdb8a8e14e92d0be5bba60f15bdf2fc116b8d27cab40221093a1b0"}, + {file = "llvmlite-0.41.0-cp39-cp39-win32.whl", hash = "sha256:a4af8722ad6cb0dd2d5454ebc5a7bf90867df5f3fcb0787396a3261052caefda"}, + {file = "llvmlite-0.41.0-cp39-cp39-win_amd64.whl", hash = "sha256:f150e127d6bc0e74633b8ba210776b0b6fdc82af6dfebf0794318ea97634acd0"}, + {file = "llvmlite-0.41.0.tar.gz", hash = "sha256:7d41db345d76d2dfa31871178ce0d8e9fd8aa015aa1b7d4dab84b5cb393901e0"}, +] + +[[package]] +name = "markupsafe" +version = "2.1.3" +description = "Safely add untrusted strings to HTML/XML markup." +optional = false +python-versions = ">=3.7" +files = [ + {file = "MarkupSafe-2.1.3-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:cd0f502fe016460680cd20aaa5a76d241d6f35a1c3350c474bac1273803893fa"}, + {file = "MarkupSafe-2.1.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:e09031c87a1e51556fdcb46e5bd4f59dfb743061cf93c4d6831bf894f125eb57"}, + {file = "MarkupSafe-2.1.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:68e78619a61ecf91e76aa3e6e8e33fc4894a2bebe93410754bd28fce0a8a4f9f"}, + {file = "MarkupSafe-2.1.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:65c1a9bcdadc6c28eecee2c119465aebff8f7a584dd719facdd9e825ec61ab52"}, + {file = "MarkupSafe-2.1.3-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:525808b8019e36eb524b8c68acdd63a37e75714eac50e988180b169d64480a00"}, + {file = "MarkupSafe-2.1.3-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:962f82a3086483f5e5f64dbad880d31038b698494799b097bc59c2edf392fce6"}, + {file = "MarkupSafe-2.1.3-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:aa7bd130efab1c280bed0f45501b7c8795f9fdbeb02e965371bbef3523627779"}, + {file = "MarkupSafe-2.1.3-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:c9c804664ebe8f83a211cace637506669e7890fec1b4195b505c214e50dd4eb7"}, + {file = "MarkupSafe-2.1.3-cp310-cp310-win32.whl", hash = "sha256:10bbfe99883db80bdbaff2dcf681dfc6533a614f700da1287707e8a5d78a8431"}, + {file = "MarkupSafe-2.1.3-cp310-cp310-win_amd64.whl", hash = "sha256:1577735524cdad32f9f694208aa75e422adba74f1baee7551620e43a3141f559"}, + {file = "MarkupSafe-2.1.3-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:ad9e82fb8f09ade1c3e1b996a6337afac2b8b9e365f926f5a61aacc71adc5b3c"}, + {file = "MarkupSafe-2.1.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:3c0fae6c3be832a0a0473ac912810b2877c8cb9d76ca48de1ed31e1c68386575"}, + {file = "MarkupSafe-2.1.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b076b6226fb84157e3f7c971a47ff3a679d837cf338547532ab866c57930dbee"}, + {file = "MarkupSafe-2.1.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bfce63a9e7834b12b87c64d6b155fdd9b3b96191b6bd334bf37db7ff1fe457f2"}, + {file = "MarkupSafe-2.1.3-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:338ae27d6b8745585f87218a3f23f1512dbf52c26c28e322dbe54bcede54ccb9"}, + {file = "MarkupSafe-2.1.3-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:e4dd52d80b8c83fdce44e12478ad2e85c64ea965e75d66dbeafb0a3e77308fcc"}, + {file = "MarkupSafe-2.1.3-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:df0be2b576a7abbf737b1575f048c23fb1d769f267ec4358296f31c2479db8f9"}, + {file = "MarkupSafe-2.1.3-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:5bbe06f8eeafd38e5d0a4894ffec89378b6c6a625ff57e3028921f8ff59318ac"}, + {file = "MarkupSafe-2.1.3-cp311-cp311-win32.whl", hash = "sha256:dd15ff04ffd7e05ffcb7fe79f1b98041b8ea30ae9234aed2a9168b5797c3effb"}, + {file = "MarkupSafe-2.1.3-cp311-cp311-win_amd64.whl", hash = "sha256:134da1eca9ec0ae528110ccc9e48041e0828d79f24121a1a146161103c76e686"}, + {file = "MarkupSafe-2.1.3-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:f698de3fd0c4e6972b92290a45bd9b1536bffe8c6759c62471efaa8acb4c37bc"}, + {file = "MarkupSafe-2.1.3-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:aa57bd9cf8ae831a362185ee444e15a93ecb2e344c8e52e4d721ea3ab6ef1823"}, + {file = "MarkupSafe-2.1.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ffcc3f7c66b5f5b7931a5aa68fc9cecc51e685ef90282f4a82f0f5e9b704ad11"}, + {file = "MarkupSafe-2.1.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:47d4f1c5f80fc62fdd7777d0d40a2e9dda0a05883ab11374334f6c4de38adffd"}, + {file = "MarkupSafe-2.1.3-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1f67c7038d560d92149c060157d623c542173016c4babc0c1913cca0564b9939"}, + {file = "MarkupSafe-2.1.3-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:9aad3c1755095ce347e26488214ef77e0485a3c34a50c5a5e2471dff60b9dd9c"}, + {file = "MarkupSafe-2.1.3-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:14ff806850827afd6b07a5f32bd917fb7f45b046ba40c57abdb636674a8b559c"}, + {file = "MarkupSafe-2.1.3-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:8f9293864fe09b8149f0cc42ce56e3f0e54de883a9de90cd427f191c346eb2e1"}, + {file = "MarkupSafe-2.1.3-cp312-cp312-win32.whl", hash = "sha256:715d3562f79d540f251b99ebd6d8baa547118974341db04f5ad06d5ea3eb8007"}, + {file = "MarkupSafe-2.1.3-cp312-cp312-win_amd64.whl", hash = "sha256:1b8dd8c3fd14349433c79fa8abeb573a55fc0fdd769133baac1f5e07abf54aeb"}, + {file = "MarkupSafe-2.1.3-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:8e254ae696c88d98da6555f5ace2279cf7cd5b3f52be2b5cf97feafe883b58d2"}, + {file = "MarkupSafe-2.1.3-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cb0932dc158471523c9637e807d9bfb93e06a95cbf010f1a38b98623b929ef2b"}, + {file = "MarkupSafe-2.1.3-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9402b03f1a1b4dc4c19845e5c749e3ab82d5078d16a2a4c2cd2df62d57bb0707"}, + {file = "MarkupSafe-2.1.3-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ca379055a47383d02a5400cb0d110cef0a776fc644cda797db0c5696cfd7e18e"}, + {file = "MarkupSafe-2.1.3-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:b7ff0f54cb4ff66dd38bebd335a38e2c22c41a8ee45aa608efc890ac3e3931bc"}, + {file = "MarkupSafe-2.1.3-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:c011a4149cfbcf9f03994ec2edffcb8b1dc2d2aede7ca243746df97a5d41ce48"}, + {file = "MarkupSafe-2.1.3-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:56d9f2ecac662ca1611d183feb03a3fa4406469dafe241673d521dd5ae92a155"}, + {file = "MarkupSafe-2.1.3-cp37-cp37m-win32.whl", hash = "sha256:8758846a7e80910096950b67071243da3e5a20ed2546e6392603c096778d48e0"}, + {file = "MarkupSafe-2.1.3-cp37-cp37m-win_amd64.whl", hash = "sha256:787003c0ddb00500e49a10f2844fac87aa6ce977b90b0feaaf9de23c22508b24"}, + {file = "MarkupSafe-2.1.3-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:2ef12179d3a291be237280175b542c07a36e7f60718296278d8593d21ca937d4"}, + {file = "MarkupSafe-2.1.3-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:2c1b19b3aaacc6e57b7e25710ff571c24d6c3613a45e905b1fde04d691b98ee0"}, + {file = "MarkupSafe-2.1.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8afafd99945ead6e075b973fefa56379c5b5c53fd8937dad92c662da5d8fd5ee"}, + {file = "MarkupSafe-2.1.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8c41976a29d078bb235fea9b2ecd3da465df42a562910f9022f1a03107bd02be"}, + {file = "MarkupSafe-2.1.3-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d080e0a5eb2529460b30190fcfcc4199bd7f827663f858a226a81bc27beaa97e"}, + {file = "MarkupSafe-2.1.3-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:69c0f17e9f5a7afdf2cc9fb2d1ce6aabdb3bafb7f38017c0b77862bcec2bbad8"}, + {file = "MarkupSafe-2.1.3-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:504b320cd4b7eff6f968eddf81127112db685e81f7e36e75f9f84f0df46041c3"}, + {file = "MarkupSafe-2.1.3-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:42de32b22b6b804f42c5d98be4f7e5e977ecdd9ee9b660fda1a3edf03b11792d"}, + {file = "MarkupSafe-2.1.3-cp38-cp38-win32.whl", hash = "sha256:ceb01949af7121f9fc39f7d27f91be8546f3fb112c608bc4029aef0bab86a2a5"}, + {file = "MarkupSafe-2.1.3-cp38-cp38-win_amd64.whl", hash = "sha256:1b40069d487e7edb2676d3fbdb2b0829ffa2cd63a2ec26c4938b2d34391b4ecc"}, + {file = "MarkupSafe-2.1.3-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:8023faf4e01efadfa183e863fefde0046de576c6f14659e8782065bcece22198"}, + {file = "MarkupSafe-2.1.3-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:6b2b56950d93e41f33b4223ead100ea0fe11f8e6ee5f641eb753ce4b77a7042b"}, + {file = "MarkupSafe-2.1.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9dcdfd0eaf283af041973bff14a2e143b8bd64e069f4c383416ecd79a81aab58"}, + {file = "MarkupSafe-2.1.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:05fb21170423db021895e1ea1e1f3ab3adb85d1c2333cbc2310f2a26bc77272e"}, + {file = "MarkupSafe-2.1.3-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:282c2cb35b5b673bbcadb33a585408104df04f14b2d9b01d4c345a3b92861c2c"}, + {file = "MarkupSafe-2.1.3-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:ab4a0df41e7c16a1392727727e7998a467472d0ad65f3ad5e6e765015df08636"}, + {file = "MarkupSafe-2.1.3-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:7ef3cb2ebbf91e330e3bb937efada0edd9003683db6b57bb108c4001f37a02ea"}, + {file = "MarkupSafe-2.1.3-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:0a4e4a1aff6c7ac4cd55792abf96c915634c2b97e3cc1c7129578aa68ebd754e"}, + {file = "MarkupSafe-2.1.3-cp39-cp39-win32.whl", hash = "sha256:fec21693218efe39aa7f8599346e90c705afa52c5b31ae019b2e57e8f6542bb2"}, + {file = "MarkupSafe-2.1.3-cp39-cp39-win_amd64.whl", hash = "sha256:3fd4abcb888d15a94f32b75d8fd18ee162ca0c064f35b11134be77050296d6ba"}, + {file = "MarkupSafe-2.1.3.tar.gz", hash = "sha256:af598ed32d6ae86f1b747b82783958b1a4ab8f617b06fe68795c7f026abbdcad"}, +] + +[[package]] +name = "mpmath" +version = "1.3.0" +description = "Python library for arbitrary-precision floating-point arithmetic" +optional = false +python-versions = "*" +files = [ + {file = "mpmath-1.3.0-py3-none-any.whl", hash = "sha256:a0b2b9fe80bbcd81a6647ff13108738cfb482d481d826cc0e02f5b35e5c88d2c"}, + {file = "mpmath-1.3.0.tar.gz", hash = "sha256:7a28eb2a9774d00c7bc92411c19a89209d5da7c4c9a9e227be8330a23a25b91f"}, +] + +[package.extras] +develop = ["codecov", "pycodestyle", "pytest (>=4.6)", "pytest-cov", "wheel"] +docs = ["sphinx"] +gmpy = ["gmpy2 (>=2.1.0a4)"] +tests = ["pytest (>=4.6)"] + +[[package]] +name = "msgpack" +version = "1.0.7" +description = "MessagePack serializer" +optional = false +python-versions = ">=3.8" +files = [ + {file = "msgpack-1.0.7-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:04ad6069c86e531682f9e1e71b71c1c3937d6014a7c3e9edd2aa81ad58842862"}, + {file = "msgpack-1.0.7-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:cca1b62fe70d761a282496b96a5e51c44c213e410a964bdffe0928e611368329"}, + {file = "msgpack-1.0.7-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:e50ebce52f41370707f1e21a59514e3375e3edd6e1832f5e5235237db933c98b"}, + {file = "msgpack-1.0.7-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4a7b4f35de6a304b5533c238bee86b670b75b03d31b7797929caa7a624b5dda6"}, + {file = "msgpack-1.0.7-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:28efb066cde83c479dfe5a48141a53bc7e5f13f785b92ddde336c716663039ee"}, + {file = "msgpack-1.0.7-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4cb14ce54d9b857be9591ac364cb08dc2d6a5c4318c1182cb1d02274029d590d"}, + {file = "msgpack-1.0.7-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:b573a43ef7c368ba4ea06050a957c2a7550f729c31f11dd616d2ac4aba99888d"}, + {file = "msgpack-1.0.7-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:ccf9a39706b604d884d2cb1e27fe973bc55f2890c52f38df742bc1d79ab9f5e1"}, + {file = "msgpack-1.0.7-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:cb70766519500281815dfd7a87d3a178acf7ce95390544b8c90587d76b227681"}, + {file = "msgpack-1.0.7-cp310-cp310-win32.whl", hash = "sha256:b610ff0f24e9f11c9ae653c67ff8cc03c075131401b3e5ef4b82570d1728f8a9"}, + {file = "msgpack-1.0.7-cp310-cp310-win_amd64.whl", hash = "sha256:a40821a89dc373d6427e2b44b572efc36a2778d3f543299e2f24eb1a5de65415"}, + {file = "msgpack-1.0.7-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:576eb384292b139821c41995523654ad82d1916da6a60cff129c715a6223ea84"}, + {file = "msgpack-1.0.7-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:730076207cb816138cf1af7f7237b208340a2c5e749707457d70705715c93b93"}, + {file = "msgpack-1.0.7-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:85765fdf4b27eb5086f05ac0491090fc76f4f2b28e09d9350c31aac25a5aaff8"}, + {file = "msgpack-1.0.7-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3476fae43db72bd11f29a5147ae2f3cb22e2f1a91d575ef130d2bf49afd21c46"}, + {file = "msgpack-1.0.7-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6d4c80667de2e36970ebf74f42d1088cc9ee7ef5f4e8c35eee1b40eafd33ca5b"}, + {file = "msgpack-1.0.7-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5b0bf0effb196ed76b7ad883848143427a73c355ae8e569fa538365064188b8e"}, + {file = "msgpack-1.0.7-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:f9a7c509542db4eceed3dcf21ee5267ab565a83555c9b88a8109dcecc4709002"}, + {file = "msgpack-1.0.7-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:84b0daf226913133f899ea9b30618722d45feffa67e4fe867b0b5ae83a34060c"}, + {file = "msgpack-1.0.7-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:ec79ff6159dffcc30853b2ad612ed572af86c92b5168aa3fc01a67b0fa40665e"}, + {file = "msgpack-1.0.7-cp311-cp311-win32.whl", hash = "sha256:3e7bf4442b310ff154b7bb9d81eb2c016b7d597e364f97d72b1acc3817a0fdc1"}, + {file = "msgpack-1.0.7-cp311-cp311-win_amd64.whl", hash = "sha256:3f0c8c6dfa6605ab8ff0611995ee30d4f9fcff89966cf562733b4008a3d60d82"}, + {file = "msgpack-1.0.7-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:f0936e08e0003f66bfd97e74ee530427707297b0d0361247e9b4f59ab78ddc8b"}, + {file = "msgpack-1.0.7-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:98bbd754a422a0b123c66a4c341de0474cad4a5c10c164ceed6ea090f3563db4"}, + {file = "msgpack-1.0.7-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:b291f0ee7961a597cbbcc77709374087fa2a9afe7bdb6a40dbbd9b127e79afee"}, + {file = "msgpack-1.0.7-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ebbbba226f0a108a7366bf4b59bf0f30a12fd5e75100c630267d94d7f0ad20e5"}, + {file = "msgpack-1.0.7-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1e2d69948e4132813b8d1131f29f9101bc2c915f26089a6d632001a5c1349672"}, + {file = "msgpack-1.0.7-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:bdf38ba2d393c7911ae989c3bbba510ebbcdf4ecbdbfec36272abe350c454075"}, + {file = "msgpack-1.0.7-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:993584fc821c58d5993521bfdcd31a4adf025c7d745bbd4d12ccfecf695af5ba"}, + {file = "msgpack-1.0.7-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:52700dc63a4676669b341ba33520f4d6e43d3ca58d422e22ba66d1736b0a6e4c"}, + {file = "msgpack-1.0.7-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:e45ae4927759289c30ccba8d9fdce62bb414977ba158286b5ddaf8df2cddb5c5"}, + {file = "msgpack-1.0.7-cp312-cp312-win32.whl", hash = "sha256:27dcd6f46a21c18fa5e5deed92a43d4554e3df8d8ca5a47bf0615d6a5f39dbc9"}, + {file = "msgpack-1.0.7-cp312-cp312-win_amd64.whl", hash = "sha256:7687e22a31e976a0e7fc99c2f4d11ca45eff652a81eb8c8085e9609298916dcf"}, + {file = "msgpack-1.0.7-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:5b6ccc0c85916998d788b295765ea0e9cb9aac7e4a8ed71d12e7d8ac31c23c95"}, + {file = "msgpack-1.0.7-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:235a31ec7db685f5c82233bddf9858748b89b8119bf4538d514536c485c15fe0"}, + {file = "msgpack-1.0.7-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:cab3db8bab4b7e635c1c97270d7a4b2a90c070b33cbc00c99ef3f9be03d3e1f7"}, + {file = "msgpack-1.0.7-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0bfdd914e55e0d2c9e1526de210f6fe8ffe9705f2b1dfcc4aecc92a4cb4b533d"}, + {file = "msgpack-1.0.7-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:36e17c4592231a7dbd2ed09027823ab295d2791b3b1efb2aee874b10548b7524"}, + {file = "msgpack-1.0.7-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:38949d30b11ae5f95c3c91917ee7a6b239f5ec276f271f28638dec9156f82cfc"}, + {file = "msgpack-1.0.7-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:ff1d0899f104f3921d94579a5638847f783c9b04f2d5f229392ca77fba5b82fc"}, + {file = "msgpack-1.0.7-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:dc43f1ec66eb8440567186ae2f8c447d91e0372d793dfe8c222aec857b81a8cf"}, + {file = "msgpack-1.0.7-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:dd632777ff3beaaf629f1ab4396caf7ba0bdd075d948a69460d13d44357aca4c"}, + {file = "msgpack-1.0.7-cp38-cp38-win32.whl", hash = "sha256:4e71bc4416de195d6e9b4ee93ad3f2f6b2ce11d042b4d7a7ee00bbe0358bd0c2"}, + {file = "msgpack-1.0.7-cp38-cp38-win_amd64.whl", hash = "sha256:8f5b234f567cf76ee489502ceb7165c2a5cecec081db2b37e35332b537f8157c"}, + {file = "msgpack-1.0.7-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:bfef2bb6ef068827bbd021017a107194956918ab43ce4d6dc945ffa13efbc25f"}, + {file = "msgpack-1.0.7-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:484ae3240666ad34cfa31eea7b8c6cd2f1fdaae21d73ce2974211df099a95d81"}, + {file = "msgpack-1.0.7-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:3967e4ad1aa9da62fd53e346ed17d7b2e922cba5ab93bdd46febcac39be636fc"}, + {file = "msgpack-1.0.7-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8dd178c4c80706546702c59529ffc005681bd6dc2ea234c450661b205445a34d"}, + {file = "msgpack-1.0.7-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f6ffbc252eb0d229aeb2f9ad051200668fc3a9aaa8994e49f0cb2ffe2b7867e7"}, + {file = "msgpack-1.0.7-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:822ea70dc4018c7e6223f13affd1c5c30c0f5c12ac1f96cd8e9949acddb48a61"}, + {file = "msgpack-1.0.7-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:384d779f0d6f1b110eae74cb0659d9aa6ff35aaf547b3955abf2ab4c901c4819"}, + {file = "msgpack-1.0.7-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:f64e376cd20d3f030190e8c32e1c64582eba56ac6dc7d5b0b49a9d44021b52fd"}, + {file = "msgpack-1.0.7-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:5ed82f5a7af3697b1c4786053736f24a0efd0a1b8a130d4c7bfee4b9ded0f08f"}, + {file = "msgpack-1.0.7-cp39-cp39-win32.whl", hash = "sha256:f26a07a6e877c76a88e3cecac8531908d980d3d5067ff69213653649ec0f60ad"}, + {file = "msgpack-1.0.7-cp39-cp39-win_amd64.whl", hash = "sha256:1dc93e8e4653bdb5910aed79f11e165c85732067614f180f70534f056da97db3"}, + {file = "msgpack-1.0.7.tar.gz", hash = "sha256:572efc93db7a4d27e404501975ca6d2d9775705c2d922390d878fcf768d92c87"}, +] + +[[package]] +name = "networkx" +version = "3.1" +description = "Python package for creating and manipulating graphs and networks" +optional = false +python-versions = ">=3.8" +files = [ + {file = "networkx-3.1-py3-none-any.whl", hash = "sha256:4f33f68cb2afcf86f28a45f43efc27a9386b535d567d2127f8f61d51dec58d36"}, + {file = "networkx-3.1.tar.gz", hash = "sha256:de346335408f84de0eada6ff9fafafff9bcda11f0a0dfaa931133debb146ab61"}, +] + +[package.extras] +default = ["matplotlib (>=3.4)", "numpy (>=1.20)", "pandas (>=1.3)", "scipy (>=1.8)"] +developer = ["mypy (>=1.1)", "pre-commit (>=3.2)"] +doc = ["nb2plots (>=0.6)", "numpydoc (>=1.5)", "pillow (>=9.4)", "pydata-sphinx-theme (>=0.13)", "sphinx (>=6.1)", "sphinx-gallery (>=0.12)", "texext (>=0.6.7)"] +extra = ["lxml (>=4.6)", "pydot (>=1.4.2)", "pygraphviz (>=1.10)", "sympy (>=1.10)"] +test = ["codecov (>=2.1)", "pytest (>=7.2)", "pytest-cov (>=4.0)"] + +[[package]] +name = "numba" +version = "0.58.0" +description = "compiling Python code using LLVM" +optional = false +python-versions = ">=3.8" +files = [ + {file = "numba-0.58.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:2f146c11af62ad25021d93fccf48715a96d1ea76d43c1c3bc97dca561c6a2693"}, + {file = "numba-0.58.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:8059ee491651885f89655f08856a107aa610e3355b373f3b7437f1da96f09703"}, + {file = "numba-0.58.0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:8bd9edd27ab29e80bcf4083f9955c4a8871075a13a370b3bef99f81e184541fa"}, + {file = "numba-0.58.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:7ee9f5fd962e0ada0e68df67a6ff881f95b45e0ae7cb96141e913337040d490b"}, + {file = "numba-0.58.0-cp310-cp310-win_amd64.whl", hash = "sha256:398ab539257df8e980ec2f9cdfae836bb965fadc2dd30db3fcfbf3aefa542836"}, + {file = "numba-0.58.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:e61a1fa0ab7d290f0a43d8523b372f96765db6ceb6a691660c17e9ed609cb470"}, + {file = "numba-0.58.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:8a9b69cc6259131791822c5eb893b03cd9372f4aae669d020500565b6d5d80bc"}, + {file = "numba-0.58.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:e7b42b23c36cf08fcfe1a8f2acf3a0af95b41f9ee07fc81b28d7b9b5ada85d8c"}, + {file = "numba-0.58.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:0d7a5e81e4047a23986f816b48ac46616ceb4eadbff6bbe739944d36b3bdbfe7"}, + {file = "numba-0.58.0-cp311-cp311-win_amd64.whl", hash = "sha256:0ce322178ff7006b7f50dad25b042ef64c6393f2fafafa79c0498d789b1aac27"}, + {file = "numba-0.58.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:f3934eab4eb1c07c8f067e99350b99f70b2ca77d5aa3911d365643171f771157"}, + {file = "numba-0.58.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:5cee5f22f7fbb2ef445e422aeafe5d38bf71a52c8bb34d22c1e145afa4034d6b"}, + {file = "numba-0.58.0-cp38-cp38-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:121bf98a2b02e0611af3bfab3995fed990db58c4bfc6c225332ccdaf37e312e7"}, + {file = "numba-0.58.0-cp38-cp38-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:0734614d3e92eb01f848b8595be116f9c8ad997f8cf77672f3ba53c511f1429d"}, + {file = "numba-0.58.0-cp38-cp38-win_amd64.whl", hash = "sha256:48bcaae337ee450e38bf3796b4e1a166909c339f1757b6110e6adcf42c1e6c3e"}, + {file = "numba-0.58.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:a5f99806d5c9671dc927a8a489bc0c88e79be51e9775d6a3c68dbfdf585cd7e9"}, + {file = "numba-0.58.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:9dade55ee5f1b8c5e3e0db95449fdc5b7b4244c1a7fa133bd664cbfc1027bafe"}, + {file = "numba-0.58.0-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:7e182f3296dfcbafcd23b9263baeb350ad5adcacd081f1b3ec927a9fb325cca8"}, + {file = "numba-0.58.0-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:f80aee7889e82ab9c4770e02b21ca4e3ca15cc8c829c173fc27b77ab0529b5cb"}, + {file = "numba-0.58.0-cp39-cp39-win_amd64.whl", hash = "sha256:477f429bb593dd3fc8d84b44f199e8e30268a7cfeb96c8464cb393d401de4f45"}, + {file = "numba-0.58.0.tar.gz", hash = "sha256:e5d5a318dc65a101ef846d7fd93f3cf2f7942494019e8342e51238b360739125"}, +] + +[package.dependencies] +llvmlite = "==0.41.*" +numpy = ">=1.21,<1.26" + +[[package]] +name = "numpy" +version = "1.25.2" +description = "Fundamental package for array computing in Python" +optional = false +python-versions = ">=3.9" +files = [ + {file = "numpy-1.25.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:db3ccc4e37a6873045580d413fe79b68e47a681af8db2e046f1dacfa11f86eb3"}, + {file = "numpy-1.25.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:90319e4f002795ccfc9050110bbbaa16c944b1c37c0baeea43c5fb881693ae1f"}, + {file = "numpy-1.25.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dfe4a913e29b418d096e696ddd422d8a5d13ffba4ea91f9f60440a3b759b0187"}, + {file = "numpy-1.25.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f08f2e037bba04e707eebf4bc934f1972a315c883a9e0ebfa8a7756eabf9e357"}, + {file = "numpy-1.25.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:bec1e7213c7cb00d67093247f8c4db156fd03075f49876957dca4711306d39c9"}, + {file = "numpy-1.25.2-cp310-cp310-win32.whl", hash = "sha256:7dc869c0c75988e1c693d0e2d5b26034644399dd929bc049db55395b1379e044"}, + {file = "numpy-1.25.2-cp310-cp310-win_amd64.whl", hash = "sha256:834b386f2b8210dca38c71a6e0f4fd6922f7d3fcff935dbe3a570945acb1b545"}, + {file = "numpy-1.25.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:c5462d19336db4560041517dbb7759c21d181a67cb01b36ca109b2ae37d32418"}, + {file = "numpy-1.25.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:c5652ea24d33585ea39eb6a6a15dac87a1206a692719ff45d53c5282e66d4a8f"}, + {file = "numpy-1.25.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0d60fbae8e0019865fc4784745814cff1c421df5afee233db6d88ab4f14655a2"}, + {file = "numpy-1.25.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:60e7f0f7f6d0eee8364b9a6304c2845b9c491ac706048c7e8cf47b83123b8dbf"}, + {file = "numpy-1.25.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:bb33d5a1cf360304754913a350edda36d5b8c5331a8237268c48f91253c3a364"}, + {file = "numpy-1.25.2-cp311-cp311-win32.whl", hash = "sha256:5883c06bb92f2e6c8181df7b39971a5fb436288db58b5a1c3967702d4278691d"}, + {file = "numpy-1.25.2-cp311-cp311-win_amd64.whl", hash = "sha256:5c97325a0ba6f9d041feb9390924614b60b99209a71a69c876f71052521d42a4"}, + {file = "numpy-1.25.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:b79e513d7aac42ae918db3ad1341a015488530d0bb2a6abcbdd10a3a829ccfd3"}, + {file = "numpy-1.25.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:eb942bfb6f84df5ce05dbf4b46673ffed0d3da59f13635ea9b926af3deb76926"}, + {file = "numpy-1.25.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3e0746410e73384e70d286f93abf2520035250aad8c5714240b0492a7302fdca"}, + {file = "numpy-1.25.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d7806500e4f5bdd04095e849265e55de20d8cc4b661b038957354327f6d9b295"}, + {file = "numpy-1.25.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:8b77775f4b7df768967a7c8b3567e309f617dd5e99aeb886fa14dc1a0791141f"}, + {file = "numpy-1.25.2-cp39-cp39-win32.whl", hash = "sha256:2792d23d62ec51e50ce4d4b7d73de8f67a2fd3ea710dcbc8563a51a03fb07b01"}, + {file = "numpy-1.25.2-cp39-cp39-win_amd64.whl", hash = "sha256:76b4115d42a7dfc5d485d358728cdd8719be33cc5ec6ec08632a5d6fca2ed380"}, + {file = "numpy-1.25.2-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:1a1329e26f46230bf77b02cc19e900db9b52f398d6722ca853349a782d4cff55"}, + {file = "numpy-1.25.2-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4c3abc71e8b6edba80a01a52e66d83c5d14433cbcd26a40c329ec7ed09f37901"}, + {file = "numpy-1.25.2-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:1b9735c27cea5d995496f46a8b1cd7b408b3f34b6d50459d9ac8fe3a20cc17bf"}, + {file = "numpy-1.25.2.tar.gz", hash = "sha256:fd608e19c8d7c55021dffd43bfe5492fab8cc105cc8986f813f8c3c048b38760"}, +] + +[[package]] +name = "packaging" +version = "23.2" +description = "Core utilities for Python packages" +optional = false +python-versions = ">=3.7" +files = [ + {file = "packaging-23.2-py3-none-any.whl", hash = "sha256:8c491190033a9af7e1d931d0b5dacc2ef47509b34dd0de67ed209b5203fc88c7"}, + {file = "packaging-23.2.tar.gz", hash = "sha256:048fb0e9405036518eaaf48a55953c750c11e1a1b68e0dd1a9d62ed0c092cfc5"}, +] + +[[package]] +name = "pandas" +version = "2.0.3" +description = "Powerful data structures for data analysis, time series, and statistics" +optional = false +python-versions = ">=3.8" +files = [ + {file = "pandas-2.0.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:e4c7c9f27a4185304c7caf96dc7d91bc60bc162221152de697c98eb0b2648dd8"}, + {file = "pandas-2.0.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:f167beed68918d62bffb6ec64f2e1d8a7d297a038f86d4aed056b9493fca407f"}, + {file = "pandas-2.0.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ce0c6f76a0f1ba361551f3e6dceaff06bde7514a374aa43e33b588ec10420183"}, + {file = "pandas-2.0.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ba619e410a21d8c387a1ea6e8a0e49bb42216474436245718d7f2e88a2f8d7c0"}, + {file = "pandas-2.0.3-cp310-cp310-win32.whl", hash = "sha256:3ef285093b4fe5058eefd756100a367f27029913760773c8bf1d2d8bebe5d210"}, + {file = "pandas-2.0.3-cp310-cp310-win_amd64.whl", hash = "sha256:9ee1a69328d5c36c98d8e74db06f4ad518a1840e8ccb94a4ba86920986bb617e"}, + {file = "pandas-2.0.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:b084b91d8d66ab19f5bb3256cbd5ea661848338301940e17f4492b2ce0801fe8"}, + {file = "pandas-2.0.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:37673e3bdf1551b95bf5d4ce372b37770f9529743d2498032439371fc7b7eb26"}, + {file = "pandas-2.0.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b9cb1e14fdb546396b7e1b923ffaeeac24e4cedd14266c3497216dd4448e4f2d"}, + {file = "pandas-2.0.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d9cd88488cceb7635aebb84809d087468eb33551097d600c6dad13602029c2df"}, + {file = "pandas-2.0.3-cp311-cp311-win32.whl", hash = "sha256:694888a81198786f0e164ee3a581df7d505024fbb1f15202fc7db88a71d84ebd"}, + {file = "pandas-2.0.3-cp311-cp311-win_amd64.whl", hash = "sha256:6a21ab5c89dcbd57f78d0ae16630b090eec626360085a4148693def5452d8a6b"}, + {file = "pandas-2.0.3-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:9e4da0d45e7f34c069fe4d522359df7d23badf83abc1d1cef398895822d11061"}, + {file = "pandas-2.0.3-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:32fca2ee1b0d93dd71d979726b12b61faa06aeb93cf77468776287f41ff8fdc5"}, + {file = "pandas-2.0.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:258d3624b3ae734490e4d63c430256e716f488c4fcb7c8e9bde2d3aa46c29089"}, + {file = "pandas-2.0.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9eae3dc34fa1aa7772dd3fc60270d13ced7346fcbcfee017d3132ec625e23bb0"}, + {file = "pandas-2.0.3-cp38-cp38-win32.whl", hash = "sha256:f3421a7afb1a43f7e38e82e844e2bca9a6d793d66c1a7f9f0ff39a795bbc5e02"}, + {file = "pandas-2.0.3-cp38-cp38-win_amd64.whl", hash = "sha256:69d7f3884c95da3a31ef82b7618af5710dba95bb885ffab339aad925c3e8ce78"}, + {file = "pandas-2.0.3-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:5247fb1ba347c1261cbbf0fcfba4a3121fbb4029d95d9ef4dc45406620b25c8b"}, + {file = "pandas-2.0.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:81af086f4543c9d8bb128328b5d32e9986e0c84d3ee673a2ac6fb57fd14f755e"}, + {file = "pandas-2.0.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1994c789bf12a7c5098277fb43836ce090f1073858c10f9220998ac74f37c69b"}, + {file = "pandas-2.0.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5ec591c48e29226bcbb316e0c1e9423622bc7a4eaf1ef7c3c9fa1a3981f89641"}, + {file = "pandas-2.0.3-cp39-cp39-win32.whl", hash = "sha256:04dbdbaf2e4d46ca8da896e1805bc04eb85caa9a82e259e8eed00254d5e0c682"}, + {file = "pandas-2.0.3-cp39-cp39-win_amd64.whl", hash = "sha256:1168574b036cd8b93abc746171c9b4f1b83467438a5e45909fed645cf8692dbc"}, + {file = "pandas-2.0.3.tar.gz", hash = "sha256:c02f372a88e0d17f36d3093a644c73cfc1788e876a7c4bcb4020a77512e2043c"}, +] + +[package.dependencies] +numpy = [ + {version = ">=1.20.3", markers = "python_version < \"3.10\""}, + {version = ">=1.23.2", markers = "python_version >= \"3.11\""}, + {version = ">=1.21.0", markers = "python_version >= \"3.10\" and python_version < \"3.11\""}, +] +python-dateutil = ">=2.8.2" +pytz = ">=2020.1" +tzdata = ">=2022.1" + +[package.extras] +all = ["PyQt5 (>=5.15.1)", "SQLAlchemy (>=1.4.16)", "beautifulsoup4 (>=4.9.3)", "bottleneck (>=1.3.2)", "brotlipy (>=0.7.0)", "fastparquet (>=0.6.3)", "fsspec (>=2021.07.0)", "gcsfs (>=2021.07.0)", "html5lib (>=1.1)", "hypothesis (>=6.34.2)", "jinja2 (>=3.0.0)", "lxml (>=4.6.3)", "matplotlib (>=3.6.1)", "numba (>=0.53.1)", "numexpr (>=2.7.3)", "odfpy (>=1.4.1)", "openpyxl (>=3.0.7)", "pandas-gbq (>=0.15.0)", "psycopg2 (>=2.8.6)", "pyarrow (>=7.0.0)", "pymysql (>=1.0.2)", "pyreadstat (>=1.1.2)", "pytest (>=7.3.2)", "pytest-asyncio (>=0.17.0)", "pytest-xdist (>=2.2.0)", "python-snappy (>=0.6.0)", "pyxlsb (>=1.0.8)", "qtpy (>=2.2.0)", "s3fs (>=2021.08.0)", "scipy (>=1.7.1)", "tables (>=3.6.1)", "tabulate (>=0.8.9)", "xarray (>=0.21.0)", "xlrd (>=2.0.1)", "xlsxwriter (>=1.4.3)", "zstandard (>=0.15.2)"] +aws = ["s3fs (>=2021.08.0)"] +clipboard = ["PyQt5 (>=5.15.1)", "qtpy (>=2.2.0)"] +compression = ["brotlipy (>=0.7.0)", "python-snappy (>=0.6.0)", "zstandard (>=0.15.2)"] +computation = ["scipy (>=1.7.1)", "xarray (>=0.21.0)"] +excel = ["odfpy (>=1.4.1)", "openpyxl (>=3.0.7)", "pyxlsb (>=1.0.8)", "xlrd (>=2.0.1)", "xlsxwriter (>=1.4.3)"] +feather = ["pyarrow (>=7.0.0)"] +fss = ["fsspec (>=2021.07.0)"] +gcp = ["gcsfs (>=2021.07.0)", "pandas-gbq (>=0.15.0)"] +hdf5 = ["tables (>=3.6.1)"] +html = ["beautifulsoup4 (>=4.9.3)", "html5lib (>=1.1)", "lxml (>=4.6.3)"] +mysql = ["SQLAlchemy (>=1.4.16)", "pymysql (>=1.0.2)"] +output-formatting = ["jinja2 (>=3.0.0)", "tabulate (>=0.8.9)"] +parquet = ["pyarrow (>=7.0.0)"] +performance = ["bottleneck (>=1.3.2)", "numba (>=0.53.1)", "numexpr (>=2.7.1)"] +plot = ["matplotlib (>=3.6.1)"] +postgresql = ["SQLAlchemy (>=1.4.16)", "psycopg2 (>=2.8.6)"] +spss = ["pyreadstat (>=1.1.2)"] +sql-other = ["SQLAlchemy (>=1.4.16)"] +test = ["hypothesis (>=6.34.2)", "pytest (>=7.3.2)", "pytest-asyncio (>=0.17.0)", "pytest-xdist (>=2.2.0)"] +xml = ["lxml (>=4.6.3)"] + +[[package]] +name = "pillow" +version = "10.0.1" +description = "Python Imaging Library (Fork)" +optional = false +python-versions = ">=3.8" +files = [ + {file = "Pillow-10.0.1-cp310-cp310-macosx_10_10_x86_64.whl", hash = "sha256:8f06be50669087250f319b706decf69ca71fdecd829091a37cc89398ca4dc17a"}, + {file = "Pillow-10.0.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:50bd5f1ebafe9362ad622072a1d2f5850ecfa44303531ff14353a4059113b12d"}, + {file = "Pillow-10.0.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e6a90167bcca1216606223a05e2cf991bb25b14695c518bc65639463d7db722d"}, + {file = "Pillow-10.0.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f11c9102c56ffb9ca87134bd025a43d2aba3f1155f508eff88f694b33a9c6d19"}, + {file = "Pillow-10.0.1-cp310-cp310-manylinux_2_28_aarch64.whl", hash = "sha256:186f7e04248103482ea6354af6d5bcedb62941ee08f7f788a1c7707bc720c66f"}, + {file = "Pillow-10.0.1-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:0462b1496505a3462d0f35dc1c4d7b54069747d65d00ef48e736acda2c8cbdff"}, + {file = "Pillow-10.0.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:d889b53ae2f030f756e61a7bff13684dcd77e9af8b10c6048fb2c559d6ed6eaf"}, + {file = "Pillow-10.0.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:552912dbca585b74d75279a7570dd29fa43b6d93594abb494ebb31ac19ace6bd"}, + {file = "Pillow-10.0.1-cp310-cp310-win_amd64.whl", hash = "sha256:787bb0169d2385a798888e1122c980c6eff26bf941a8ea79747d35d8f9210ca0"}, + {file = "Pillow-10.0.1-cp311-cp311-macosx_10_10_x86_64.whl", hash = "sha256:fd2a5403a75b54661182b75ec6132437a181209b901446ee5724b589af8edef1"}, + {file = "Pillow-10.0.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:2d7e91b4379f7a76b31c2dda84ab9e20c6220488e50f7822e59dac36b0cd92b1"}, + {file = "Pillow-10.0.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:19e9adb3f22d4c416e7cd79b01375b17159d6990003633ff1d8377e21b7f1b21"}, + {file = "Pillow-10.0.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:93139acd8109edcdeffd85e3af8ae7d88b258b3a1e13a038f542b79b6d255c54"}, + {file = "Pillow-10.0.1-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:92a23b0431941a33242b1f0ce6c88a952e09feeea9af4e8be48236a68ffe2205"}, + {file = "Pillow-10.0.1-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:cbe68deb8580462ca0d9eb56a81912f59eb4542e1ef8f987405e35a0179f4ea2"}, + {file = "Pillow-10.0.1-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:522ff4ac3aaf839242c6f4e5b406634bfea002469656ae8358644fc6c4856a3b"}, + {file = "Pillow-10.0.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:84efb46e8d881bb06b35d1d541aa87f574b58e87f781cbba8d200daa835b42e1"}, + {file = "Pillow-10.0.1-cp311-cp311-win_amd64.whl", hash = "sha256:898f1d306298ff40dc1b9ca24824f0488f6f039bc0e25cfb549d3195ffa17088"}, + {file = "Pillow-10.0.1-cp312-cp312-macosx_10_10_x86_64.whl", hash = "sha256:bcf1207e2f2385a576832af02702de104be71301c2696d0012b1b93fe34aaa5b"}, + {file = "Pillow-10.0.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:5d6c9049c6274c1bb565021367431ad04481ebb54872edecfcd6088d27edd6ed"}, + {file = "Pillow-10.0.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:28444cb6ad49726127d6b340217f0627abc8732f1194fd5352dec5e6a0105635"}, + {file = "Pillow-10.0.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:de596695a75496deb3b499c8c4f8e60376e0516e1a774e7bc046f0f48cd620ad"}, + {file = "Pillow-10.0.1-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:2872f2d7846cf39b3dbff64bc1104cc48c76145854256451d33c5faa55c04d1a"}, + {file = "Pillow-10.0.1-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:4ce90f8a24e1c15465048959f1e94309dfef93af272633e8f37361b824532e91"}, + {file = "Pillow-10.0.1-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:ee7810cf7c83fa227ba9125de6084e5e8b08c59038a7b2c9045ef4dde61663b4"}, + {file = "Pillow-10.0.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:b1be1c872b9b5fcc229adeadbeb51422a9633abd847c0ff87dc4ef9bb184ae08"}, + {file = "Pillow-10.0.1-cp312-cp312-win_amd64.whl", hash = "sha256:98533fd7fa764e5f85eebe56c8e4094db912ccbe6fbf3a58778d543cadd0db08"}, + {file = "Pillow-10.0.1-cp38-cp38-macosx_10_10_x86_64.whl", hash = "sha256:764d2c0daf9c4d40ad12fbc0abd5da3af7f8aa11daf87e4fa1b834000f4b6b0a"}, + {file = "Pillow-10.0.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:fcb59711009b0168d6ee0bd8fb5eb259c4ab1717b2f538bbf36bacf207ef7a68"}, + {file = "Pillow-10.0.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:697a06bdcedd473b35e50a7e7506b1d8ceb832dc238a336bd6f4f5aa91a4b500"}, + {file = "Pillow-10.0.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9f665d1e6474af9f9da5e86c2a3a2d2d6204e04d5af9c06b9d42afa6ebde3f21"}, + {file = "Pillow-10.0.1-cp38-cp38-manylinux_2_28_aarch64.whl", hash = "sha256:2fa6dd2661838c66f1a5473f3b49ab610c98a128fc08afbe81b91a1f0bf8c51d"}, + {file = "Pillow-10.0.1-cp38-cp38-manylinux_2_28_x86_64.whl", hash = "sha256:3a04359f308ebee571a3127fdb1bd01f88ba6f6fb6d087f8dd2e0d9bff43f2a7"}, + {file = "Pillow-10.0.1-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:723bd25051454cea9990203405fa6b74e043ea76d4968166dfd2569b0210886a"}, + {file = "Pillow-10.0.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:71671503e3015da1b50bd18951e2f9daf5b6ffe36d16f1eb2c45711a301521a7"}, + {file = "Pillow-10.0.1-cp38-cp38-win_amd64.whl", hash = "sha256:44e7e4587392953e5e251190a964675f61e4dae88d1e6edbe9f36d6243547ff3"}, + {file = "Pillow-10.0.1-cp39-cp39-macosx_10_10_x86_64.whl", hash = "sha256:3855447d98cced8670aaa63683808df905e956f00348732448b5a6df67ee5849"}, + {file = "Pillow-10.0.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:ed2d9c0704f2dc4fa980b99d565c0c9a543fe5101c25b3d60488b8ba80f0cce1"}, + {file = "Pillow-10.0.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f5bb289bb835f9fe1a1e9300d011eef4d69661bb9b34d5e196e5e82c4cb09b37"}, + {file = "Pillow-10.0.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3a0d3e54ab1df9df51b914b2233cf779a5a10dfd1ce339d0421748232cea9876"}, + {file = "Pillow-10.0.1-cp39-cp39-manylinux_2_28_aarch64.whl", hash = "sha256:2cc6b86ece42a11f16f55fe8903595eff2b25e0358dec635d0a701ac9586588f"}, + {file = "Pillow-10.0.1-cp39-cp39-manylinux_2_28_x86_64.whl", hash = "sha256:ca26ba5767888c84bf5a0c1a32f069e8204ce8c21d00a49c90dabeba00ce0145"}, + {file = "Pillow-10.0.1-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:f0b4b06da13275bc02adfeb82643c4a6385bd08d26f03068c2796f60d125f6f2"}, + {file = "Pillow-10.0.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:bc2e3069569ea9dbe88d6b8ea38f439a6aad8f6e7a6283a38edf61ddefb3a9bf"}, + {file = "Pillow-10.0.1-cp39-cp39-win_amd64.whl", hash = "sha256:8b451d6ead6e3500b6ce5c7916a43d8d8d25ad74b9102a629baccc0808c54971"}, + {file = "Pillow-10.0.1-pp310-pypy310_pp73-macosx_10_10_x86_64.whl", hash = "sha256:32bec7423cdf25c9038fef614a853c9d25c07590e1a870ed471f47fb80b244db"}, + {file = "Pillow-10.0.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b7cf63d2c6928b51d35dfdbda6f2c1fddbe51a6bc4a9d4ee6ea0e11670dd981e"}, + {file = "Pillow-10.0.1-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:f6d3d4c905e26354e8f9d82548475c46d8e0889538cb0657aa9c6f0872a37aa4"}, + {file = "Pillow-10.0.1-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:847e8d1017c741c735d3cd1883fa7b03ded4f825a6e5fcb9378fd813edee995f"}, + {file = "Pillow-10.0.1-pp39-pypy39_pp73-macosx_10_10_x86_64.whl", hash = "sha256:7f771e7219ff04b79e231d099c0a28ed83aa82af91fd5fa9fdb28f5b8d5addaf"}, + {file = "Pillow-10.0.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:459307cacdd4138edee3875bbe22a2492519e060660eaf378ba3b405d1c66317"}, + {file = "Pillow-10.0.1-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:b059ac2c4c7a97daafa7dc850b43b2d3667def858a4f112d1aa082e5c3d6cf7d"}, + {file = "Pillow-10.0.1-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:d6caf3cd38449ec3cd8a68b375e0c6fe4b6fd04edb6c9766b55ef84a6e8ddf2d"}, + {file = "Pillow-10.0.1.tar.gz", hash = "sha256:d72967b06be9300fed5cfbc8b5bafceec48bf7cdc7dab66b1d2549035287191d"}, +] + +[package.extras] +docs = ["furo", "olefile", "sphinx (>=2.4)", "sphinx-copybutton", "sphinx-inline-tabs", "sphinx-removed-in", "sphinxext-opengraph"] +tests = ["check-manifest", "coverage", "defusedxml", "markdown2", "olefile", "packaging", "pyroma", "pytest", "pytest-cov", "pytest-timeout"] + +[[package]] +name = "platformdirs" +version = "3.11.0" +description = "A small Python package for determining appropriate platform-specific dirs, e.g. a \"user data dir\"." +optional = false +python-versions = ">=3.7" +files = [ + {file = "platformdirs-3.11.0-py3-none-any.whl", hash = "sha256:e9d171d00af68be50e9202731309c4e658fd8bc76f55c11c7dd760d023bda68e"}, + {file = "platformdirs-3.11.0.tar.gz", hash = "sha256:cf8ee52a3afdb965072dcc652433e0c7e3e40cf5ea1477cd4b3b1d2eb75495b3"}, +] + +[package.extras] +docs = ["furo (>=2023.7.26)", "proselint (>=0.13)", "sphinx (>=7.1.1)", "sphinx-autodoc-typehints (>=1.24)"] +test = ["appdirs (==1.4.4)", "covdefaults (>=2.3)", "pytest (>=7.4)", "pytest-cov (>=4.1)", "pytest-mock (>=3.11.1)"] + +[[package]] +name = "pooch" +version = "1.7.0" +description = "\"Pooch manages your Python library's sample data files: it automatically downloads and stores them in a local directory, with support for versioning and corruption checks.\"" +optional = false +python-versions = ">=3.7" +files = [ + {file = "pooch-1.7.0-py3-none-any.whl", hash = "sha256:74258224fc33d58f53113cf955e8d51bf01386b91492927d0d1b6b341a765ad7"}, + {file = "pooch-1.7.0.tar.gz", hash = "sha256:f174a1041b6447f0eef8860f76d17f60ed2f857dc0efa387a7f08228af05d998"}, +] + +[package.dependencies] +packaging = ">=20.0" +platformdirs = ">=2.5.0" +requests = ">=2.19.0" + +[package.extras] +progress = ["tqdm (>=4.41.0,<5.0.0)"] +sftp = ["paramiko (>=2.7.0)"] +xxhash = ["xxhash (>=1.4.3)"] + +[[package]] +name = "pycparser" +version = "2.21" +description = "C parser in Python" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" +files = [ + {file = "pycparser-2.21-py2.py3-none-any.whl", hash = "sha256:8ee45429555515e1f6b185e78100aea234072576aa43ab53aefcae078162fca9"}, + {file = "pycparser-2.21.tar.gz", hash = "sha256:e644fdec12f7872f86c58ff790da456218b10f863970249516d60a5eaca77206"}, +] + +[[package]] +name = "python-dateutil" +version = "2.8.2" +description = "Extensions to the standard Python datetime module" +optional = false +python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,>=2.7" +files = [ + {file = "python-dateutil-2.8.2.tar.gz", hash = "sha256:0123cacc1627ae19ddf3c27a5de5bd67ee4586fbdd6440d9748f8abb483d3e86"}, + {file = "python_dateutil-2.8.2-py2.py3-none-any.whl", hash = "sha256:961d03dc3453ebbc59dbdea9e4e11c5651520a876d0f4db161e8674aae935da9"}, +] + +[package.dependencies] +six = ">=1.5" + +[[package]] +name = "pytz" +version = "2023.3.post1" +description = "World timezone definitions, modern and historical" +optional = false +python-versions = "*" +files = [ + {file = "pytz-2023.3.post1-py2.py3-none-any.whl", hash = "sha256:ce42d816b81b68506614c11e8937d3aa9e41007ceb50bfdcb0749b921bf646c7"}, + {file = "pytz-2023.3.post1.tar.gz", hash = "sha256:7b4fddbeb94a1eba4b557da24f19fdf9db575192544270a9101d8509f9f43d7b"}, +] + +[[package]] +name = "pyyaml" +version = "6.0.1" +description = "YAML parser and emitter for Python" +optional = false +python-versions = ">=3.6" +files = [ + {file = "PyYAML-6.0.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:d858aa552c999bc8a8d57426ed01e40bef403cd8ccdd0fc5f6f04a00414cac2a"}, + {file = "PyYAML-6.0.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:fd66fc5d0da6d9815ba2cebeb4205f95818ff4b79c3ebe268e75d961704af52f"}, + {file = "PyYAML-6.0.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:69b023b2b4daa7548bcfbd4aa3da05b3a74b772db9e23b982788168117739938"}, + {file = "PyYAML-6.0.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:81e0b275a9ecc9c0c0c07b4b90ba548307583c125f54d5b6946cfee6360c733d"}, + {file = "PyYAML-6.0.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ba336e390cd8e4d1739f42dfe9bb83a3cc2e80f567d8805e11b46f4a943f5515"}, + {file = "PyYAML-6.0.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:326c013efe8048858a6d312ddd31d56e468118ad4cdeda36c719bf5bb6192290"}, + {file = "PyYAML-6.0.1-cp310-cp310-win32.whl", hash = "sha256:bd4af7373a854424dabd882decdc5579653d7868b8fb26dc7d0e99f823aa5924"}, + {file = "PyYAML-6.0.1-cp310-cp310-win_amd64.whl", hash = "sha256:fd1592b3fdf65fff2ad0004b5e363300ef59ced41c2e6b3a99d4089fa8c5435d"}, + {file = "PyYAML-6.0.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:6965a7bc3cf88e5a1c3bd2e0b5c22f8d677dc88a455344035f03399034eb3007"}, + {file = "PyYAML-6.0.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:f003ed9ad21d6a4713f0a9b5a7a0a79e08dd0f221aff4525a2be4c346ee60aab"}, + {file = "PyYAML-6.0.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:42f8152b8dbc4fe7d96729ec2b99c7097d656dc1213a3229ca5383f973a5ed6d"}, + {file = "PyYAML-6.0.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:062582fca9fabdd2c8b54a3ef1c978d786e0f6b3a1510e0ac93ef59e0ddae2bc"}, + {file = "PyYAML-6.0.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d2b04aac4d386b172d5b9692e2d2da8de7bfb6c387fa4f801fbf6fb2e6ba4673"}, + {file = "PyYAML-6.0.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:e7d73685e87afe9f3b36c799222440d6cf362062f78be1013661b00c5c6f678b"}, + {file = "PyYAML-6.0.1-cp311-cp311-win32.whl", hash = "sha256:1635fd110e8d85d55237ab316b5b011de701ea0f29d07611174a1b42f1444741"}, + {file = "PyYAML-6.0.1-cp311-cp311-win_amd64.whl", hash = "sha256:bf07ee2fef7014951eeb99f56f39c9bb4af143d8aa3c21b1677805985307da34"}, + {file = "PyYAML-6.0.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:855fb52b0dc35af121542a76b9a84f8d1cd886ea97c84703eaa6d88e37a2ad28"}, + {file = "PyYAML-6.0.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:40df9b996c2b73138957fe23a16a4f0ba614f4c0efce1e9406a184b6d07fa3a9"}, + {file = "PyYAML-6.0.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6c22bec3fbe2524cde73d7ada88f6566758a8f7227bfbf93a408a9d86bcc12a0"}, + {file = "PyYAML-6.0.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:8d4e9c88387b0f5c7d5f281e55304de64cf7f9c0021a3525bd3b1c542da3b0e4"}, + {file = "PyYAML-6.0.1-cp312-cp312-win32.whl", hash = "sha256:d483d2cdf104e7c9fa60c544d92981f12ad66a457afae824d146093b8c294c54"}, + {file = "PyYAML-6.0.1-cp312-cp312-win_amd64.whl", hash = "sha256:0d3304d8c0adc42be59c5f8a4d9e3d7379e6955ad754aa9d6ab7a398b59dd1df"}, + {file = "PyYAML-6.0.1-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:50550eb667afee136e9a77d6dc71ae76a44df8b3e51e41b77f6de2932bfe0f47"}, + {file = "PyYAML-6.0.1-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1fe35611261b29bd1de0070f0b2f47cb6ff71fa6595c077e42bd0c419fa27b98"}, + {file = "PyYAML-6.0.1-cp36-cp36m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:704219a11b772aea0d8ecd7058d0082713c3562b4e271b849ad7dc4a5c90c13c"}, + {file = "PyYAML-6.0.1-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:afd7e57eddb1a54f0f1a974bc4391af8bcce0b444685d936840f125cf046d5bd"}, + {file = "PyYAML-6.0.1-cp36-cp36m-win32.whl", hash = "sha256:fca0e3a251908a499833aa292323f32437106001d436eca0e6e7833256674585"}, + {file = "PyYAML-6.0.1-cp36-cp36m-win_amd64.whl", hash = "sha256:f22ac1c3cac4dbc50079e965eba2c1058622631e526bd9afd45fedd49ba781fa"}, + {file = "PyYAML-6.0.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:b1275ad35a5d18c62a7220633c913e1b42d44b46ee12554e5fd39c70a243d6a3"}, + {file = "PyYAML-6.0.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:18aeb1bf9a78867dc38b259769503436b7c72f7a1f1f4c93ff9a17de54319b27"}, + {file = "PyYAML-6.0.1-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:596106435fa6ad000c2991a98fa58eeb8656ef2325d7e158344fb33864ed87e3"}, + {file = "PyYAML-6.0.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:baa90d3f661d43131ca170712d903e6295d1f7a0f595074f151c0aed377c9b9c"}, + {file = "PyYAML-6.0.1-cp37-cp37m-win32.whl", hash = "sha256:9046c58c4395dff28dd494285c82ba00b546adfc7ef001486fbf0324bc174fba"}, + {file = "PyYAML-6.0.1-cp37-cp37m-win_amd64.whl", hash = "sha256:4fb147e7a67ef577a588a0e2c17b6db51dda102c71de36f8549b6816a96e1867"}, + {file = "PyYAML-6.0.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:1d4c7e777c441b20e32f52bd377e0c409713e8bb1386e1099c2415f26e479595"}, + {file = "PyYAML-6.0.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a0cd17c15d3bb3fa06978b4e8958dcdc6e0174ccea823003a106c7d4d7899ac5"}, + {file = "PyYAML-6.0.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:28c119d996beec18c05208a8bd78cbe4007878c6dd15091efb73a30e90539696"}, + {file = "PyYAML-6.0.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7e07cbde391ba96ab58e532ff4803f79c4129397514e1413a7dc761ccd755735"}, + {file = "PyYAML-6.0.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:49a183be227561de579b4a36efbb21b3eab9651dd81b1858589f796549873dd6"}, + {file = "PyYAML-6.0.1-cp38-cp38-win32.whl", hash = "sha256:184c5108a2aca3c5b3d3bf9395d50893a7ab82a38004c8f61c258d4428e80206"}, + {file = "PyYAML-6.0.1-cp38-cp38-win_amd64.whl", hash = "sha256:1e2722cc9fbb45d9b87631ac70924c11d3a401b2d7f410cc0e3bbf249f2dca62"}, + {file = "PyYAML-6.0.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:9eb6caa9a297fc2c2fb8862bc5370d0303ddba53ba97e71f08023b6cd73d16a8"}, + {file = "PyYAML-6.0.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:c8098ddcc2a85b61647b2590f825f3db38891662cfc2fc776415143f599bb859"}, + {file = "PyYAML-6.0.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5773183b6446b2c99bb77e77595dd486303b4faab2b086e7b17bc6bef28865f6"}, + {file = "PyYAML-6.0.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b786eecbdf8499b9ca1d697215862083bd6d2a99965554781d0d8d1ad31e13a0"}, + {file = "PyYAML-6.0.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bc1bf2925a1ecd43da378f4db9e4f799775d6367bdb94671027b73b393a7c42c"}, + {file = "PyYAML-6.0.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:04ac92ad1925b2cff1db0cfebffb6ffc43457495c9b3c39d3fcae417d7125dc5"}, + {file = "PyYAML-6.0.1-cp39-cp39-win32.whl", hash = "sha256:faca3bdcf85b2fc05d06ff3fbc1f83e1391b3e724afa3feba7d13eeab355484c"}, + {file = "PyYAML-6.0.1-cp39-cp39-win_amd64.whl", hash = "sha256:510c9deebc5c0225e8c96813043e62b680ba2f9c50a08d3724c7f28a747d1486"}, + {file = "PyYAML-6.0.1.tar.gz", hash = "sha256:bfdf460b1736c775f2ba9f6a92bca30bc2095067b8a9d77876d1fad6cc3b4a43"}, +] + +[[package]] +name = "regex" +version = "2023.10.3" +description = "Alternative regular expression module, to replace re." +optional = false +python-versions = ">=3.7" +files = [ + {file = "regex-2023.10.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:4c34d4f73ea738223a094d8e0ffd6d2c1a1b4c175da34d6b0de3d8d69bee6bcc"}, + {file = "regex-2023.10.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:a8f4e49fc3ce020f65411432183e6775f24e02dff617281094ba6ab079ef0915"}, + {file = "regex-2023.10.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4cd1bccf99d3ef1ab6ba835308ad85be040e6a11b0977ef7ea8c8005f01a3c29"}, + {file = "regex-2023.10.3-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:81dce2ddc9f6e8f543d94b05d56e70d03a0774d32f6cca53e978dc01e4fc75b8"}, + {file = "regex-2023.10.3-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9c6b4d23c04831e3ab61717a707a5d763b300213db49ca680edf8bf13ab5d91b"}, + {file = "regex-2023.10.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c15ad0aee158a15e17e0495e1e18741573d04eb6da06d8b84af726cfc1ed02ee"}, + {file = "regex-2023.10.3-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6239d4e2e0b52c8bd38c51b760cd870069f0bdf99700a62cd509d7a031749a55"}, + {file = "regex-2023.10.3-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:4a8bf76e3182797c6b1afa5b822d1d5802ff30284abe4599e1247be4fd6b03be"}, + {file = "regex-2023.10.3-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:d9c727bbcf0065cbb20f39d2b4f932f8fa1631c3e01fcedc979bd4f51fe051c5"}, + {file = "regex-2023.10.3-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:3ccf2716add72f80714b9a63899b67fa711b654be3fcdd34fa391d2d274ce767"}, + {file = "regex-2023.10.3-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:107ac60d1bfdc3edb53be75e2a52aff7481b92817cfdddd9b4519ccf0e54a6ff"}, + {file = "regex-2023.10.3-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:00ba3c9818e33f1fa974693fb55d24cdc8ebafcb2e4207680669d8f8d7cca79a"}, + {file = "regex-2023.10.3-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:f0a47efb1dbef13af9c9a54a94a0b814902e547b7f21acb29434504d18f36e3a"}, + {file = "regex-2023.10.3-cp310-cp310-win32.whl", hash = "sha256:36362386b813fa6c9146da6149a001b7bd063dabc4d49522a1f7aa65b725c7ec"}, + {file = "regex-2023.10.3-cp310-cp310-win_amd64.whl", hash = "sha256:c65a3b5330b54103e7d21cac3f6bf3900d46f6d50138d73343d9e5b2900b2353"}, + {file = "regex-2023.10.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:90a79bce019c442604662d17bf69df99090e24cdc6ad95b18b6725c2988a490e"}, + {file = "regex-2023.10.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:c7964c2183c3e6cce3f497e3a9f49d182e969f2dc3aeeadfa18945ff7bdd7051"}, + {file = "regex-2023.10.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4ef80829117a8061f974b2fda8ec799717242353bff55f8a29411794d635d964"}, + {file = "regex-2023.10.3-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5addc9d0209a9afca5fc070f93b726bf7003bd63a427f65ef797a931782e7edc"}, + {file = "regex-2023.10.3-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c148bec483cc4b421562b4bcedb8e28a3b84fcc8f0aa4418e10898f3c2c0eb9b"}, + {file = "regex-2023.10.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8d1f21af4c1539051049796a0f50aa342f9a27cde57318f2fc41ed50b0dbc4ac"}, + {file = "regex-2023.10.3-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0b9ac09853b2a3e0d0082104036579809679e7715671cfbf89d83c1cb2a30f58"}, + {file = "regex-2023.10.3-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:ebedc192abbc7fd13c5ee800e83a6df252bec691eb2c4bedc9f8b2e2903f5e2a"}, + {file = "regex-2023.10.3-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:d8a993c0a0ffd5f2d3bda23d0cd75e7086736f8f8268de8a82fbc4bd0ac6791e"}, + {file = "regex-2023.10.3-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:be6b7b8d42d3090b6c80793524fa66c57ad7ee3fe9722b258aec6d0672543fd0"}, + {file = "regex-2023.10.3-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:4023e2efc35a30e66e938de5aef42b520c20e7eda7bb5fb12c35e5d09a4c43f6"}, + {file = "regex-2023.10.3-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:0d47840dc05e0ba04fe2e26f15126de7c755496d5a8aae4a08bda4dd8d646c54"}, + {file = "regex-2023.10.3-cp311-cp311-win32.whl", hash = "sha256:9145f092b5d1977ec8c0ab46e7b3381b2fd069957b9862a43bd383e5c01d18c2"}, + {file = "regex-2023.10.3-cp311-cp311-win_amd64.whl", hash = "sha256:b6104f9a46bd8743e4f738afef69b153c4b8b592d35ae46db07fc28ae3d5fb7c"}, + {file = "regex-2023.10.3-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:bff507ae210371d4b1fe316d03433ac099f184d570a1a611e541923f78f05037"}, + {file = "regex-2023.10.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:be5e22bbb67924dea15039c3282fa4cc6cdfbe0cbbd1c0515f9223186fc2ec5f"}, + {file = "regex-2023.10.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4a992f702c9be9c72fa46f01ca6e18d131906a7180950958f766c2aa294d4b41"}, + {file = "regex-2023.10.3-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:7434a61b158be563c1362d9071358f8ab91b8d928728cd2882af060481244c9e"}, + {file = "regex-2023.10.3-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c2169b2dcabf4e608416f7f9468737583ce5f0a6e8677c4efbf795ce81109d7c"}, + {file = "regex-2023.10.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a9e908ef5889cda4de038892b9accc36d33d72fb3e12c747e2799a0e806ec841"}, + {file = "regex-2023.10.3-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:12bd4bc2c632742c7ce20db48e0d99afdc05e03f0b4c1af90542e05b809a03d9"}, + {file = "regex-2023.10.3-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:bc72c231f5449d86d6c7d9cc7cd819b6eb30134bb770b8cfdc0765e48ef9c420"}, + {file = "regex-2023.10.3-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:bce8814b076f0ce5766dc87d5a056b0e9437b8e0cd351b9a6c4e1134a7dfbda9"}, + {file = "regex-2023.10.3-cp312-cp312-musllinux_1_1_ppc64le.whl", hash = "sha256:ba7cd6dc4d585ea544c1412019921570ebd8a597fabf475acc4528210d7c4a6f"}, + {file = "regex-2023.10.3-cp312-cp312-musllinux_1_1_s390x.whl", hash = "sha256:b0c7d2f698e83f15228ba41c135501cfe7d5740181d5903e250e47f617eb4292"}, + {file = "regex-2023.10.3-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:5a8f91c64f390ecee09ff793319f30a0f32492e99f5dc1c72bc361f23ccd0a9a"}, + {file = "regex-2023.10.3-cp312-cp312-win32.whl", hash = "sha256:ad08a69728ff3c79866d729b095872afe1e0557251da4abb2c5faff15a91d19a"}, + {file = "regex-2023.10.3-cp312-cp312-win_amd64.whl", hash = "sha256:39cdf8d141d6d44e8d5a12a8569d5a227f645c87df4f92179bd06e2e2705e76b"}, + {file = "regex-2023.10.3-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:4a3ee019a9befe84fa3e917a2dd378807e423d013377a884c1970a3c2792d293"}, + {file = "regex-2023.10.3-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:76066d7ff61ba6bf3cb5efe2428fc82aac91802844c022d849a1f0f53820502d"}, + {file = "regex-2023.10.3-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:bfe50b61bab1b1ec260fa7cd91106fa9fece57e6beba05630afe27c71259c59b"}, + {file = "regex-2023.10.3-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9fd88f373cb71e6b59b7fa597e47e518282455c2734fd4306a05ca219a1991b0"}, + {file = "regex-2023.10.3-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b3ab05a182c7937fb374f7e946f04fb23a0c0699c0450e9fb02ef567412d2fa3"}, + {file = "regex-2023.10.3-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:dac37cf08fcf2094159922edc7a2784cfcc5c70f8354469f79ed085f0328ebdf"}, + {file = "regex-2023.10.3-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:e54ddd0bb8fb626aa1f9ba7b36629564544954fff9669b15da3610c22b9a0991"}, + {file = "regex-2023.10.3-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:3367007ad1951fde612bf65b0dffc8fd681a4ab98ac86957d16491400d661302"}, + {file = "regex-2023.10.3-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:16f8740eb6dbacc7113e3097b0a36065a02e37b47c936b551805d40340fb9971"}, + {file = "regex-2023.10.3-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:f4f2ca6df64cbdd27f27b34f35adb640b5d2d77264228554e68deda54456eb11"}, + {file = "regex-2023.10.3-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:39807cbcbe406efca2a233884e169d056c35aa7e9f343d4e78665246a332f597"}, + {file = "regex-2023.10.3-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:7eece6fbd3eae4a92d7c748ae825cbc1ee41a89bb1c3db05b5578ed3cfcfd7cb"}, + {file = "regex-2023.10.3-cp37-cp37m-win32.whl", hash = "sha256:ce615c92d90df8373d9e13acddd154152645c0dc060871abf6bd43809673d20a"}, + {file = "regex-2023.10.3-cp37-cp37m-win_amd64.whl", hash = "sha256:0f649fa32fe734c4abdfd4edbb8381c74abf5f34bc0b3271ce687b23729299ed"}, + {file = "regex-2023.10.3-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:9b98b7681a9437262947f41c7fac567c7e1f6eddd94b0483596d320092004533"}, + {file = "regex-2023.10.3-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:91dc1d531f80c862441d7b66c4505cd6ea9d312f01fb2f4654f40c6fdf5cc37a"}, + {file = "regex-2023.10.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:82fcc1f1cc3ff1ab8a57ba619b149b907072e750815c5ba63e7aa2e1163384a4"}, + {file = "regex-2023.10.3-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:7979b834ec7a33aafae34a90aad9f914c41fd6eaa8474e66953f3f6f7cbd4368"}, + {file = "regex-2023.10.3-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ef71561f82a89af6cfcbee47f0fabfdb6e63788a9258e913955d89fdd96902ab"}, + {file = "regex-2023.10.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dd829712de97753367153ed84f2de752b86cd1f7a88b55a3a775eb52eafe8a94"}, + {file = "regex-2023.10.3-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:00e871d83a45eee2f8688d7e6849609c2ca2a04a6d48fba3dff4deef35d14f07"}, + {file = "regex-2023.10.3-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:706e7b739fdd17cb89e1fbf712d9dc21311fc2333f6d435eac2d4ee81985098c"}, + {file = "regex-2023.10.3-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:cc3f1c053b73f20c7ad88b0d1d23be7e7b3901229ce89f5000a8399746a6e039"}, + {file = "regex-2023.10.3-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:6f85739e80d13644b981a88f529d79c5bdf646b460ba190bffcaf6d57b2a9863"}, + {file = "regex-2023.10.3-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:741ba2f511cc9626b7561a440f87d658aabb3d6b744a86a3c025f866b4d19e7f"}, + {file = "regex-2023.10.3-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:e77c90ab5997e85901da85131fd36acd0ed2221368199b65f0d11bca44549711"}, + {file = "regex-2023.10.3-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:979c24cbefaf2420c4e377ecd1f165ea08cc3d1fbb44bdc51bccbbf7c66a2cb4"}, + {file = "regex-2023.10.3-cp38-cp38-win32.whl", hash = "sha256:58837f9d221744d4c92d2cf7201c6acd19623b50c643b56992cbd2b745485d3d"}, + {file = "regex-2023.10.3-cp38-cp38-win_amd64.whl", hash = "sha256:c55853684fe08d4897c37dfc5faeff70607a5f1806c8be148f1695be4a63414b"}, + {file = "regex-2023.10.3-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:2c54e23836650bdf2c18222c87f6f840d4943944146ca479858404fedeb9f9af"}, + {file = "regex-2023.10.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:69c0771ca5653c7d4b65203cbfc5e66db9375f1078689459fe196fe08b7b4930"}, + {file = "regex-2023.10.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6ac965a998e1388e6ff2e9781f499ad1eaa41e962a40d11c7823c9952c77123e"}, + {file = "regex-2023.10.3-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1c0e8fae5b27caa34177bdfa5a960c46ff2f78ee2d45c6db15ae3f64ecadde14"}, + {file = "regex-2023.10.3-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:6c56c3d47da04f921b73ff9415fbaa939f684d47293f071aa9cbb13c94afc17d"}, + {file = "regex-2023.10.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7ef1e014eed78ab650bef9a6a9cbe50b052c0aebe553fb2881e0453717573f52"}, + {file = "regex-2023.10.3-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d29338556a59423d9ff7b6eb0cb89ead2b0875e08fe522f3e068b955c3e7b59b"}, + {file = "regex-2023.10.3-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:9c6d0ced3c06d0f183b73d3c5920727268d2201aa0fe6d55c60d68c792ff3588"}, + {file = "regex-2023.10.3-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:994645a46c6a740ee8ce8df7911d4aee458d9b1bc5639bc968226763d07f00fa"}, + {file = "regex-2023.10.3-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:66e2fe786ef28da2b28e222c89502b2af984858091675044d93cb50e6f46d7af"}, + {file = "regex-2023.10.3-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:11175910f62b2b8c055f2b089e0fedd694fe2be3941b3e2633653bc51064c528"}, + {file = "regex-2023.10.3-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:06e9abc0e4c9ab4779c74ad99c3fc10d3967d03114449acc2c2762ad4472b8ca"}, + {file = "regex-2023.10.3-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:fb02e4257376ae25c6dd95a5aec377f9b18c09be6ebdefa7ad209b9137b73d48"}, + {file = "regex-2023.10.3-cp39-cp39-win32.whl", hash = "sha256:3b2c3502603fab52d7619b882c25a6850b766ebd1b18de3df23b2f939360e1bd"}, + {file = "regex-2023.10.3-cp39-cp39-win_amd64.whl", hash = "sha256:adbccd17dcaff65704c856bd29951c58a1bd4b2b0f8ad6b826dbd543fe740988"}, + {file = "regex-2023.10.3.tar.gz", hash = "sha256:3fef4f844d2290ee0ba57addcec17eec9e3df73f10a2748485dfd6a3a188cc0f"}, +] + +[[package]] +name = "requests" +version = "2.31.0" +description = "Python HTTP for Humans." +optional = false +python-versions = ">=3.7" +files = [ + {file = "requests-2.31.0-py3-none-any.whl", hash = "sha256:58cd2187c01e70e6e26505bca751777aa9f2ee0b7f4300988b709f44e013003f"}, + {file = "requests-2.31.0.tar.gz", hash = "sha256:942c5a758f98d790eaed1a29cb6eefc7ffb0d1cf7af05c3d2791656dbd6ad1e1"}, +] + +[package.dependencies] +certifi = ">=2017.4.17" +charset-normalizer = ">=2,<4" +idna = ">=2.5,<4" +urllib3 = ">=1.21.1,<3" + +[package.extras] +socks = ["PySocks (>=1.5.6,!=1.5.7)"] +use-chardet-on-py3 = ["chardet (>=3.0.2,<6)"] + +[[package]] +name = "safetensors" +version = "0.4.0" +description = "" +optional = false +python-versions = ">=3.7" +files = [ + {file = "safetensors-0.4.0-cp310-cp310-macosx_10_7_x86_64.whl", hash = "sha256:2289ae6dbe6d027ecee016b28ced13a2e21a0b3a3a757a23033a2d1c0b1bad55"}, + {file = "safetensors-0.4.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:bf6458959f310f551cbbeef2255527ade5f783f952738e73e4d0136198cc3bfe"}, + {file = "safetensors-0.4.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b6b60a58a8f7cc7aed3b5b73dce1f5259a53c83d9ba43a76a874e6ad868c1b4d"}, + {file = "safetensors-0.4.0-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:491b3477e4d0d4599bb75d79da4b75af2e6ed9b1f6ec2b715991f0bc927bf09a"}, + {file = "safetensors-0.4.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:59d2e10b7e0cd18bb73ed7c17c624a5957b003b81345e18159591771c26ee428"}, + {file = "safetensors-0.4.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3f667a4c12fb593f5f66ce966cb1b14a7148898b2b1a7f79e0761040ae1e3c51"}, + {file = "safetensors-0.4.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5f9909512bcb6f712bdd04c296cdfb0d8ff73d258ffc5af884bb62ea02d221e0"}, + {file = "safetensors-0.4.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:d33d29e846821f0e4f92614022949b09ccf063cb36fe2f9fe099cde1efbfbb87"}, + {file = "safetensors-0.4.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:4d512525a8e05a045ce6698066ba0c5378c174a83e0b3720a8c7799dc1bb06f3"}, + {file = "safetensors-0.4.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:0219cea445177f6ad1f9acd3a8d025440c8ff436d70a4a7c7ba9c36066aa9474"}, + {file = "safetensors-0.4.0-cp310-none-win32.whl", hash = "sha256:67ab171eeaad6972d3971c53d29d53353c67f6743284c6d637b59fa3e54c8a94"}, + {file = "safetensors-0.4.0-cp310-none-win_amd64.whl", hash = "sha256:7ffc736039f08a9ca1f09816a7481b8e4469c06e8f8a5ffa8cb67ddd79e6d77f"}, + {file = "safetensors-0.4.0-cp311-cp311-macosx_10_7_x86_64.whl", hash = "sha256:4fe9e3737b30de458225a23926219ca30b902ee779b6a3df96eaab2b6d625ec2"}, + {file = "safetensors-0.4.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:e7916e814a90008de767b1c164a1d83803693c661ffe9af5a697b22e2752edb0"}, + {file = "safetensors-0.4.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cbc4a4da01143472323c145f3c289e5f6fabde0ac0a3414dabf912a21692fff4"}, + {file = "safetensors-0.4.0-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:a54c21654a47669b38e359e8f852af754b786c9da884bb61ad5e9af12bd71ccb"}, + {file = "safetensors-0.4.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:25cd407955bad5340ba17f9f8ac789a0d751601a311e2f7b2733f9384478c95e"}, + {file = "safetensors-0.4.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:82e8fc4e3503cd738fd40718a430fe0e5ce6e7ff91a73d6ce628bbb89c41e8ce"}, + {file = "safetensors-0.4.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:48b92059b1a4ad163024d4f526e0e73ebe2bb3ae70537e15e347820b4de5dc27"}, + {file = "safetensors-0.4.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:5daa05058f7dce85b5f9f60c4eab483ed7859d63978f08a76e52e78859ff20ca"}, + {file = "safetensors-0.4.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:a86565a5c112dd855909e20144947b4f53abb78c4de207f36ca71ee63ba5b90d"}, + {file = "safetensors-0.4.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:38032078ed9fea52d06584e441bccc73fb475c4581600c6d6166de2fe2deb3d1"}, + {file = "safetensors-0.4.0-cp311-none-win32.whl", hash = "sha256:2f99d90c91b7c76b40a862acd9085bc77f7974a27dee7cfcebe46149af5a99a1"}, + {file = "safetensors-0.4.0-cp311-none-win_amd64.whl", hash = "sha256:74e2a448ffe19be188b457b130168190ee73b5a75e45ba96796320c1f5ae35d2"}, + {file = "safetensors-0.4.0-cp312-cp312-macosx_10_7_x86_64.whl", hash = "sha256:1e2f9c69b41d03b4826ffb96b29e07444bb6b34a78a7bafd0b88d59e8ec75b8a"}, + {file = "safetensors-0.4.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:3910fb5bf747413b59f1a34e6d2a993b589fa7d919709518823c70efaaa350bd"}, + {file = "safetensors-0.4.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cf8fdca709b2470a35a59b1e6dffea75cbe1214b22612b5dd4c93947697aea8b"}, + {file = "safetensors-0.4.0-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:2f27b8ef814c5fb43456caeb7f3cbb889b76115180aad1f42402839c14a47c5b"}, + {file = "safetensors-0.4.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:7b2d6101eccc43c7be0cb052f13ceda64288b3d8b344b988ed08d7133cbce2f3"}, + {file = "safetensors-0.4.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:fdc34027b545a69be3d4220c140b276129523e4e46db06ad1a0b60d6a4cf9214"}, + {file = "safetensors-0.4.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:db7bb48ca9e90bb9526c71b388d38d8de160c0354f4c5126df23e8701a870dcb"}, + {file = "safetensors-0.4.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:a78ffc0795d3595cd9e4d453502e35f764276c49e434b25556a15a337db4dafc"}, + {file = "safetensors-0.4.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:8e735b0f79090f6855b55e205e820b7b595502ffca0009a5c13eef3661ce465b"}, + {file = "safetensors-0.4.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:f8d2416734e850d5392afffbcb2b8985ea29fb171f1cb197e2ae51b8e35d6438"}, + {file = "safetensors-0.4.0-cp37-cp37m-macosx_10_7_x86_64.whl", hash = "sha256:e853e189ba7d47eaf561094586692ba2bbdd258c096f1755805cac098de0e6ab"}, + {file = "safetensors-0.4.0-cp37-cp37m-macosx_11_0_arm64.whl", hash = "sha256:4b2aa57b5a4d576f3d1dd6e56980026340f156f8a13c13016bfac4e25295b53f"}, + {file = "safetensors-0.4.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3b6c1316ffde6cb4bf22c7445bc9fd224b4d1b9dd7320695f5611c89e802e4b6"}, + {file = "safetensors-0.4.0-cp37-cp37m-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:003077ec85261d00061058fa12e3c1d2055366b02ce8f2938929359ffbaff2b8"}, + {file = "safetensors-0.4.0-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:bd63d83a92f1437a8b0431779320376030ae43ace980bea5686d515de0784100"}, + {file = "safetensors-0.4.0-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2077801800b4b13301d8d6290c7fb5bd60737320001717153ebc4371776643b5"}, + {file = "safetensors-0.4.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7abe0e157a49a75aeeccfbc4f3dac38d8f98512d3cdb35c200f8e628dc5773cf"}, + {file = "safetensors-0.4.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:3bfed574f6b1e7e7fe1f17213278875ef6c6e8b1582ab6eda93947db1178cae6"}, + {file = "safetensors-0.4.0-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:964ef166a286ce3b023d0d0bd0e21d440a1c8028981c8abdb136bc7872ba9b3d"}, + {file = "safetensors-0.4.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:44f84373e42183bd56a13a1f2d8acb1db7fedaeffbd83e79cec861477eee1af4"}, + {file = "safetensors-0.4.0-cp37-none-win32.whl", hash = "sha256:c68132727dd86fb641102e494d445f705efe402f4d5e24b278183a15499ab400"}, + {file = "safetensors-0.4.0-cp37-none-win_amd64.whl", hash = "sha256:1db87155454c168aef118d5657a403aee48a4cb08d8851a981157f07351ea317"}, + {file = "safetensors-0.4.0-cp38-cp38-macosx_10_7_x86_64.whl", hash = "sha256:9e583fa68e5a07cc859c4e13c1ebff12029904aa2e27185cf04a1f57fe9a81c4"}, + {file = "safetensors-0.4.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:73e7696dcf3f72f99545eb1abe6106ad65ff1f62381d6ce4b34be3272552897a"}, + {file = "safetensors-0.4.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4936096a57c62e84e200f92620a536be067fc5effe46ecc7f230ebb496ecd579"}, + {file = "safetensors-0.4.0-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:87b328ee1591adac332543e1f5fc2c2d7f149b745ebb0d58d7850818ff9cee27"}, + {file = "safetensors-0.4.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b69554c143336256260eceff1d3c0969172a641b54d4668489a711b05f92a2c0"}, + {file = "safetensors-0.4.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3ebf6bcece5d5d1bd6416472f94604d2c834ca752ac60ed42dba7157e595a990"}, + {file = "safetensors-0.4.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6686ce01b8602d55a7d9903c90d4a6e6f90aeb6ddced7cf4605892d0ba94bcb8"}, + {file = "safetensors-0.4.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:9b8fd6cc2f3bda444a048b541c843c7b7fefc89c4120d7898ea7d5b026e93891"}, + {file = "safetensors-0.4.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:8a6abfe67692f81b8bdb99c837f28351c17e624ebf136970c850ee989c720446"}, + {file = "safetensors-0.4.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:27a24ca8822c469ee452db4c13418ba983315a0d863c018a9af15f2305eac38c"}, + {file = "safetensors-0.4.0-cp38-none-win32.whl", hash = "sha256:c4a0a47c8640167792d8261ee21b26430bbc39130a7edaad7f4c0bc05669d00e"}, + {file = "safetensors-0.4.0-cp38-none-win_amd64.whl", hash = "sha256:a738970a367f39249e2abb900d9441a8a86d7ff50083e5eaa6e7760a9f216014"}, + {file = "safetensors-0.4.0-cp39-cp39-macosx_10_7_x86_64.whl", hash = "sha256:806379f37e1abd5d302288c4b2f4186dd7ea7143d4c7811f90a8077f0ae8967b"}, + {file = "safetensors-0.4.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:2b9b94133ed2ae9dda0e95dcace7b7556eba023ffa4c4ae6df8f99377f571d6a"}, + {file = "safetensors-0.4.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6b563a14c43614815a6b524d2e4edeaace50b717f7e7487bb227dd5b68350f5a"}, + {file = "safetensors-0.4.0-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:00a9b157be660fb7ba88fa2eedd05ec93793a5b61e43e783e10cb0b995372802"}, + {file = "safetensors-0.4.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c8f194f45ab6aa767993c24f0aeb950af169dbc5d611b94c9021a1d13b8a1a34"}, + {file = "safetensors-0.4.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:469360b9451db10bfed3881378d5a71b347ecb1ab4f42367d77b8164a13af70b"}, + {file = "safetensors-0.4.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f5f75fa97ccf32a3c7af476c6a0e851023197d3c078f6de3612008fff94735f9"}, + {file = "safetensors-0.4.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:acf0180283c2efae72f1d8c0a4a7974662091df01be3aa43b5237b1e52ed0a01"}, + {file = "safetensors-0.4.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:cd02b495ba0814619f40bda46771bb06dbbf1d42524b66fa03b2a736c77e4515"}, + {file = "safetensors-0.4.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:c42bdea183dbaa99e2f0e6120dc524df79cf4289a6f90f30a534444ef20f49fa"}, + {file = "safetensors-0.4.0-cp39-none-win32.whl", hash = "sha256:cef7bb5d9feae7146c3c3c7b3aef7d2c8b39ba7f5ff4252d368eb69462a47076"}, + {file = "safetensors-0.4.0-cp39-none-win_amd64.whl", hash = "sha256:79dd46fb1f19282fd12f544471efb97823ede927cedbf9cf35550d92b349fdd2"}, + {file = "safetensors-0.4.0-pp310-pypy310_pp73-macosx_10_7_x86_64.whl", hash = "sha256:002301c1afa32909f83745b0c124d002e7ae07e15671f3b43cbebd0ffc5e6037"}, + {file = "safetensors-0.4.0-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:67762d36ae088c73d4a3c96bfc4ea8d31233554f35b6cace3a18533238d462ea"}, + {file = "safetensors-0.4.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0f45230f20a206e5e4c7f7bbf9342178410c6f8b0af889843aa99045a76f7691"}, + {file = "safetensors-0.4.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8f2ca939bbd8fb2f4dfa28e39a146dad03bc9325e9fc831b68f7b98f69a5a2f1"}, + {file = "safetensors-0.4.0-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:61a00f281391fae5ce91df70918bb61c12d2d514a493fd8056e12114be729911"}, + {file = "safetensors-0.4.0-pp310-pypy310_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:435fd136a42492b280cb55126f9ce9535b35dd49df2c5d572a5945455a439448"}, + {file = "safetensors-0.4.0-pp310-pypy310_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:f0daa788273d683258fb1e4a5e16bef4486b2fca536451a2591bc0f4a6488895"}, + {file = "safetensors-0.4.0-pp37-pypy37_pp73-macosx_10_7_x86_64.whl", hash = "sha256:0620ab0d41e390ccb1c4ea8f63dc00cb5f0b96a5cdd3cd0d64c21765720c074a"}, + {file = "safetensors-0.4.0-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bc1fa8d067733cb67f22926689ee808f08afacf7700d2ffb44efae90a0693eb1"}, + {file = "safetensors-0.4.0-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dcaa40bc363edda145db75cd030f3b1822e5478d550c3500a42502ecef32c959"}, + {file = "safetensors-0.4.0-pp37-pypy37_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:b561fbc044db7beff2ece0ec219a291809d45a38d30c6b38e7cc46482582f4ba"}, + {file = "safetensors-0.4.0-pp37-pypy37_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:79a983b09782dacf9a1adb19bb98f4a8f6c3144108939f572c047b5797e43cf5"}, + {file = "safetensors-0.4.0-pp37-pypy37_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:10b65cd3ad79f5d0daf281523b4146bc271a34bb7430d4e03212e0de8622dab8"}, + {file = "safetensors-0.4.0-pp38-pypy38_pp73-macosx_10_7_x86_64.whl", hash = "sha256:114decacc475a6a9e2f9102a00c171d113ddb5d35cb0bda0db2c0c82b2eaa9ce"}, + {file = "safetensors-0.4.0-pp38-pypy38_pp73-macosx_11_0_arm64.whl", hash = "sha256:72ddb741dd5fe42521db76a70e012f76995516a12e7e0ef26be03ea9be77802a"}, + {file = "safetensors-0.4.0-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6c5556c2ec75f5a6134866eddd7341cb36062e6edaea343478a279591b63ddba"}, + {file = "safetensors-0.4.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ed50f239b0ce7ae85b078395593b4a351ede7e6f73af25f4873e3392336f64c9"}, + {file = "safetensors-0.4.0-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:495dcaea8fbab70b927d2274e2547824462737acbf98ccd851a71124f779a5c6"}, + {file = "safetensors-0.4.0-pp38-pypy38_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:3f4d90c79a65ba2fe2ff0876f6140748f0a3ce6a21e27a35190f4f96321803f8"}, + {file = "safetensors-0.4.0-pp38-pypy38_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:7a524382b5c55b5fbb168e0e9d3f502450c8cf3fb81b93e880018437c206a482"}, + {file = "safetensors-0.4.0-pp39-pypy39_pp73-macosx_10_7_x86_64.whl", hash = "sha256:9849ea60c7e840bfdd6030ad454d4a6ba837b3398c902f15a30460dd6961c28c"}, + {file = "safetensors-0.4.0-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:6c42623ae7045615d9eaa6877b9df1db4e9cc71ecc14bcc721ea1e475dddd595"}, + {file = "safetensors-0.4.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:80cb8342f00f3c41b3b93b1a599b84723280d3ac90829bc62262efc03ab28793"}, + {file = "safetensors-0.4.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d8c4f5ed4ede384dea8c99bae76b0718a828dbf7b2c8ced1f44e3b9b1a124475"}, + {file = "safetensors-0.4.0-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:40d7cf03493bfe75ef62e2c716314474b28d9ba5bf4909763e4b8dd14330c01a"}, + {file = "safetensors-0.4.0-pp39-pypy39_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:232029f0a9fa6fa1f737324eda98a700409811186888536a2333cbbf64e41741"}, + {file = "safetensors-0.4.0-pp39-pypy39_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:9ed55f4a20c78ff3e8477efb63c8303c2152cdfb3bfea4d025a80f54d38fd628"}, + {file = "safetensors-0.4.0.tar.gz", hash = "sha256:b985953c3cf11e942eac4317ef3db3da713e274109cf7cfb6076d877054f013e"}, +] + +[package.extras] +all = ["safetensors[jax]", "safetensors[numpy]", "safetensors[paddlepaddle]", "safetensors[pinned-tf]", "safetensors[quality]", "safetensors[testing]", "safetensors[torch]"] +dev = ["safetensors[all]"] +jax = ["flax (>=0.6.3)", "jax (>=0.3.25)", "jaxlib (>=0.3.25)", "safetensors[numpy]"] +numpy = ["numpy (>=1.21.6)"] +paddlepaddle = ["paddlepaddle (>=2.4.1)", "safetensors[numpy]"] +pinned-tf = ["safetensors[numpy]", "tensorflow (==2.11.0)"] +quality = ["black (==22.3)", "click (==8.0.4)", "flake8 (>=3.8.3)", "isort (>=5.5.4)"] +tensorflow = ["safetensors[numpy]", "tensorflow (>=2.11.0)"] +testing = ["h5py (>=3.7.0)", "huggingface_hub (>=0.12.1)", "hypothesis (>=6.70.2)", "pytest (>=7.2.0)", "pytest-benchmark (>=4.0.0)", "safetensors[numpy]", "setuptools_rust (>=1.5.2)"] +torch = ["safetensors[numpy]", "torch (>=1.10)"] + +[[package]] +name = "scikit-learn" +version = "1.3.1" +description = "A set of python modules for machine learning and data mining" +optional = false +python-versions = ">=3.8" +files = [ + {file = "scikit-learn-1.3.1.tar.gz", hash = "sha256:1a231cced3ee3fa04756b4a7ab532dc9417acd581a330adff5f2c01ac2831fcf"}, + {file = "scikit_learn-1.3.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:3153612ff8d36fa4e35ef8b897167119213698ea78f3fd130b4068e6f8d2da5a"}, + {file = "scikit_learn-1.3.1-cp310-cp310-macosx_12_0_arm64.whl", hash = "sha256:6bb9490fdb8e7e00f1354621689187bef3cab289c9b869688f805bf724434755"}, + {file = "scikit_learn-1.3.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a7135a03af71138669f19bc96e7d0cc8081aed4b3565cc3b131135d65fc642ba"}, + {file = "scikit_learn-1.3.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7d8dee8c1f40eeba49a85fe378bdf70a07bb64aba1a08fda1e0f48d27edfc3e6"}, + {file = "scikit_learn-1.3.1-cp310-cp310-win_amd64.whl", hash = "sha256:4d379f2b34096105a96bd857b88601dffe7389bd55750f6f29aaa37bc6272eb5"}, + {file = "scikit_learn-1.3.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:14e8775eba072ab10866a7e0596bc9906873e22c4c370a651223372eb62de180"}, + {file = "scikit_learn-1.3.1-cp311-cp311-macosx_12_0_arm64.whl", hash = "sha256:58b0c2490eff8355dc26e884487bf8edaccf2ba48d09b194fb2f3a026dd64f9d"}, + {file = "scikit_learn-1.3.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f66eddfda9d45dd6cadcd706b65669ce1df84b8549875691b1f403730bdef217"}, + {file = "scikit_learn-1.3.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c6448c37741145b241eeac617028ba6ec2119e1339b1385c9720dae31367f2be"}, + {file = "scikit_learn-1.3.1-cp311-cp311-win_amd64.whl", hash = "sha256:c413c2c850241998168bbb3bd1bb59ff03b1195a53864f0b80ab092071af6028"}, + {file = "scikit_learn-1.3.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:52b77cc08bd555969ec5150788ed50276f5ef83abb72e6f469c5b91a0009bbca"}, + {file = "scikit_learn-1.3.1-cp38-cp38-macosx_12_0_arm64.whl", hash = "sha256:a683394bc3f80b7c312c27f9b14ebea7766b1f0a34faf1a2e9158d80e860ec26"}, + {file = "scikit_learn-1.3.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a15d964d9eb181c79c190d3dbc2fff7338786bf017e9039571418a1d53dab236"}, + {file = "scikit_learn-1.3.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0ce9233cdf0cdcf0858a5849d306490bf6de71fa7603a3835124e386e62f2311"}, + {file = "scikit_learn-1.3.1-cp38-cp38-win_amd64.whl", hash = "sha256:1ec668ce003a5b3d12d020d2cde0abd64b262ac5f098b5c84cf9657deb9996a8"}, + {file = "scikit_learn-1.3.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:ccbbedae99325628c1d1cbe3916b7ef58a1ce949672d8d39c8b190e10219fd32"}, + {file = "scikit_learn-1.3.1-cp39-cp39-macosx_12_0_arm64.whl", hash = "sha256:845f81c7ceb4ea6bac64ab1c9f2ce8bef0a84d0f21f3bece2126adcc213dfecd"}, + {file = "scikit_learn-1.3.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8454d57a22d856f1fbf3091bd86f9ebd4bff89088819886dc0c72f47a6c30652"}, + {file = "scikit_learn-1.3.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8d993fb70a1d78c9798b8f2f28705bfbfcd546b661f9e2e67aa85f81052b9c53"}, + {file = "scikit_learn-1.3.1-cp39-cp39-win_amd64.whl", hash = "sha256:66f7bb1fec37d65f4ef85953e1df5d3c98a0f0141d394dcdaead5a6de9170347"}, +] + +[package.dependencies] +joblib = ">=1.1.1" +numpy = ">=1.17.3,<2.0" +scipy = ">=1.5.0" +threadpoolctl = ">=2.0.0" + +[package.extras] +benchmark = ["matplotlib (>=3.1.3)", "memory-profiler (>=0.57.0)", "pandas (>=1.0.5)"] +docs = ["Pillow (>=7.1.2)", "matplotlib (>=3.1.3)", "memory-profiler (>=0.57.0)", "numpydoc (>=1.2.0)", "pandas (>=1.0.5)", "plotly (>=5.14.0)", "pooch (>=1.6.0)", "scikit-image (>=0.16.2)", "seaborn (>=0.9.0)", "sphinx (>=6.0.0)", "sphinx-copybutton (>=0.5.2)", "sphinx-gallery (>=0.10.1)", "sphinx-prompt (>=1.3.0)", "sphinxext-opengraph (>=0.4.2)"] +examples = ["matplotlib (>=3.1.3)", "pandas (>=1.0.5)", "plotly (>=5.14.0)", "pooch (>=1.6.0)", "scikit-image (>=0.16.2)", "seaborn (>=0.9.0)"] +tests = ["black (>=23.3.0)", "matplotlib (>=3.1.3)", "mypy (>=1.3)", "numpydoc (>=1.2.0)", "pandas (>=1.0.5)", "pooch (>=1.6.0)", "pyamg (>=4.0.0)", "pytest (>=7.1.2)", "pytest-cov (>=2.9.0)", "ruff (>=0.0.272)", "scikit-image (>=0.16.2)"] + +[[package]] +name = "scipy" +version = "1.9.3" +description = "Fundamental algorithms for scientific computing in Python" +optional = false +python-versions = ">=3.8" +files = [ + {file = "scipy-1.9.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:1884b66a54887e21addf9c16fb588720a8309a57b2e258ae1c7986d4444d3bc0"}, + {file = "scipy-1.9.3-cp310-cp310-macosx_12_0_arm64.whl", hash = "sha256:83b89e9586c62e787f5012e8475fbb12185bafb996a03257e9675cd73d3736dd"}, + {file = "scipy-1.9.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1a72d885fa44247f92743fc20732ae55564ff2a519e8302fb7e18717c5355a8b"}, + {file = "scipy-1.9.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d01e1dd7b15bd2449c8bfc6b7cc67d630700ed655654f0dfcf121600bad205c9"}, + {file = "scipy-1.9.3-cp310-cp310-win_amd64.whl", hash = "sha256:68239b6aa6f9c593da8be1509a05cb7f9efe98b80f43a5861cd24c7557e98523"}, + {file = "scipy-1.9.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:b41bc822679ad1c9a5f023bc93f6d0543129ca0f37c1ce294dd9d386f0a21096"}, + {file = "scipy-1.9.3-cp311-cp311-macosx_12_0_arm64.whl", hash = "sha256:90453d2b93ea82a9f434e4e1cba043e779ff67b92f7a0e85d05d286a3625df3c"}, + {file = "scipy-1.9.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:83c06e62a390a9167da60bedd4575a14c1f58ca9dfde59830fc42e5197283dab"}, + {file = "scipy-1.9.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:abaf921531b5aeaafced90157db505e10345e45038c39e5d9b6c7922d68085cb"}, + {file = "scipy-1.9.3-cp311-cp311-win_amd64.whl", hash = "sha256:06d2e1b4c491dc7d8eacea139a1b0b295f74e1a1a0f704c375028f8320d16e31"}, + {file = "scipy-1.9.3-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:5a04cd7d0d3eff6ea4719371cbc44df31411862b9646db617c99718ff68d4840"}, + {file = "scipy-1.9.3-cp38-cp38-macosx_12_0_arm64.whl", hash = "sha256:545c83ffb518094d8c9d83cce216c0c32f8c04aaf28b92cc8283eda0685162d5"}, + {file = "scipy-1.9.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0d54222d7a3ba6022fdf5773931b5d7c56efe41ede7f7128c7b1637700409108"}, + {file = "scipy-1.9.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cff3a5295234037e39500d35316a4c5794739433528310e117b8a9a0c76d20fc"}, + {file = "scipy-1.9.3-cp38-cp38-win_amd64.whl", hash = "sha256:2318bef588acc7a574f5bfdff9c172d0b1bf2c8143d9582e05f878e580a3781e"}, + {file = "scipy-1.9.3-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:d644a64e174c16cb4b2e41dfea6af722053e83d066da7343f333a54dae9bc31c"}, + {file = "scipy-1.9.3-cp39-cp39-macosx_12_0_arm64.whl", hash = "sha256:da8245491d73ed0a994ed9c2e380fd058ce2fa8a18da204681f2fe1f57f98f95"}, + {file = "scipy-1.9.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4db5b30849606a95dcf519763dd3ab6fe9bd91df49eba517359e450a7d80ce2e"}, + {file = "scipy-1.9.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c68db6b290cbd4049012990d7fe71a2abd9ffbe82c0056ebe0f01df8be5436b0"}, + {file = "scipy-1.9.3-cp39-cp39-win_amd64.whl", hash = "sha256:5b88e6d91ad9d59478fafe92a7c757d00c59e3bdc3331be8ada76a4f8d683f58"}, + {file = "scipy-1.9.3.tar.gz", hash = "sha256:fbc5c05c85c1a02be77b1ff591087c83bc44579c6d2bd9fb798bb64ea5e1a027"}, +] + +[package.dependencies] +numpy = ">=1.18.5,<1.26.0" + +[package.extras] +dev = ["flake8", "mypy", "pycodestyle", "typing_extensions"] +doc = ["matplotlib (>2)", "numpydoc", "pydata-sphinx-theme (==0.9.0)", "sphinx (!=4.1.0)", "sphinx-panels (>=0.5.2)", "sphinx-tabs"] +test = ["asv", "gmpy2", "mpmath", "pytest", "pytest-cov", "pytest-xdist", "scikit-umfpack", "threadpoolctl"] + +[[package]] +name = "six" +version = "1.16.0" +description = "Python 2 and 3 compatibility utilities" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*" +files = [ + {file = "six-1.16.0-py2.py3-none-any.whl", hash = "sha256:8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254"}, + {file = "six-1.16.0.tar.gz", hash = "sha256:1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926"}, +] + +[[package]] +name = "soundfile" +version = "0.12.1" +description = "An audio library based on libsndfile, CFFI and NumPy" +optional = false +python-versions = "*" +files = [ + {file = "soundfile-0.12.1-py2.py3-none-any.whl", hash = "sha256:828a79c2e75abab5359f780c81dccd4953c45a2c4cd4f05ba3e233ddf984b882"}, + {file = "soundfile-0.12.1-py2.py3-none-macosx_10_9_x86_64.whl", hash = "sha256:d922be1563ce17a69582a352a86f28ed8c9f6a8bc951df63476ffc310c064bfa"}, + {file = "soundfile-0.12.1-py2.py3-none-macosx_11_0_arm64.whl", hash = "sha256:bceaab5c4febb11ea0554566784bcf4bc2e3977b53946dda2b12804b4fe524a8"}, + {file = "soundfile-0.12.1-py2.py3-none-manylinux_2_17_x86_64.whl", hash = "sha256:2dc3685bed7187c072a46ab4ffddd38cef7de9ae5eb05c03df2ad569cf4dacbc"}, + {file = "soundfile-0.12.1-py2.py3-none-manylinux_2_31_x86_64.whl", hash = "sha256:074247b771a181859d2bc1f98b5ebf6d5153d2c397b86ee9e29ba602a8dfe2a6"}, + {file = "soundfile-0.12.1-py2.py3-none-win32.whl", hash = "sha256:59dfd88c79b48f441bbf6994142a19ab1de3b9bb7c12863402c2bc621e49091a"}, + {file = "soundfile-0.12.1-py2.py3-none-win_amd64.whl", hash = "sha256:0d86924c00b62552b650ddd28af426e3ff2d4dc2e9047dae5b3d8452e0a49a77"}, + {file = "soundfile-0.12.1.tar.gz", hash = "sha256:e8e1017b2cf1dda767aef19d2fd9ee5ebe07e050d430f77a0a7c66ba08b8cdae"}, +] + +[package.dependencies] +cffi = ">=1.0" + +[package.extras] +numpy = ["numpy"] + +[[package]] +name = "soxr" +version = "0.3.7" +description = "High quality, one-dimensional sample-rate conversion library" +optional = false +python-versions = ">=3.6" +files = [ + {file = "soxr-0.3.7-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:ac81c4af6a993d5b7c0b466bbac4835bad2b14ec32f342b2c1f83e4cf825e301"}, + {file = "soxr-0.3.7-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:8d8a2b3e7f8d0255e2484fb82cb66c86da6fb25b342ef793cceca9ce9a61aa16"}, + {file = "soxr-0.3.7-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a0cd6eb6f6bbda2e8de36672cf2f0529ced6e638773150744ef075be0cc4f52c"}, + {file = "soxr-0.3.7-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e47d86af35b942c92606fc2d5dfccf3f01309329475571ae2312bbf9edc3a790"}, + {file = "soxr-0.3.7-cp310-cp310-win_amd64.whl", hash = "sha256:0e291adfaf9f2a7c4dd180a1b8c280f9beb1c84cb381853e4f4b3434d002ed7f"}, + {file = "soxr-0.3.7-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:9e811450f0e91972932bd37ac58e32e44002c2c99db2aa926a9e7ba164545034"}, + {file = "soxr-0.3.7-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:9cea63014ce91035074e1228c9340e2b8609faf964e268705fcac5135d05060c"}, + {file = "soxr-0.3.7-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bfab27830f6217a15b83445988225c3aeea3bbccfa9399ced291e53e1b05925d"}, + {file = "soxr-0.3.7-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:286858e3078d76c11b6d490b66fed3c9bb2a4229759f6be03ceef5c02189bf2c"}, + {file = "soxr-0.3.7-cp311-cp311-win_amd64.whl", hash = "sha256:54985ff33292192d2937be80df3e5f3a44d6d53e6835f727d6b99b7cdd3f1611"}, + {file = "soxr-0.3.7-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:83c74ef6d61d7dcd81be26f91bee0a420f792f5c1982266f2a80e655f0650a98"}, + {file = "soxr-0.3.7-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:cb1e14663a43fe88b8fbc287822a159028366a820abe1a0a9670fb53618cb47b"}, + {file = "soxr-0.3.7-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:48acdfbcf870ab54f645b1cfd641bce92c1e3a67346c3bf0f6c0ad2873c1dd35"}, + {file = "soxr-0.3.7-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ea663b76f2b0ec1576b8a43aef317aec080abc0a67a4015fcd9f3407039f260a"}, + {file = "soxr-0.3.7-cp312-cp312-win_amd64.whl", hash = "sha256:42da0d9eb79c70e5a41917f1b48a032e241a48eb4a1bcea7c80577302ff26974"}, + {file = "soxr-0.3.7-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:511c6b2279c8ddd83459d129d69f628f7aae4616ae0a1912963985bd89e35df7"}, + {file = "soxr-0.3.7-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a37c518c0b5d70162956d808d6c2e249bae0672e414e0dcfc101e200d8c31f3c"}, + {file = "soxr-0.3.7-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:27f2890528d2b2e358938ab660a6b8346802863f5b6b646204d7ff8ab0ca2c66"}, + {file = "soxr-0.3.7-cp37-cp37m-win_amd64.whl", hash = "sha256:52467c8c012495544a6dcfcce6b5bcbbc653d24fe9bb33c0b6191acecdb5e297"}, + {file = "soxr-0.3.7-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:ce12b93747958f2769d6b297e6e27c73d9ad635fe8104ef052bece9c8a322824"}, + {file = "soxr-0.3.7-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:1cd65dc7b96ea3cb6c8c48e6020e859680556cc42dd3d4de44779530cce21037"}, + {file = "soxr-0.3.7-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d994f1a7690b1b13ab639ea33e0c1d78415b64d88d6df4af705a9443f97b9687"}, + {file = "soxr-0.3.7-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e87b58bc9e8c2caa16f07726f666bd043f0a49ca937baa803ce7708003b27833"}, + {file = "soxr-0.3.7-cp38-cp38-win_amd64.whl", hash = "sha256:07f4c0c6125ea1482fa187ad5f007216712ee0a93586a9b2f80e79c0bf944cf7"}, + {file = "soxr-0.3.7-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:e5267c3ba34d4b873d9bbe3a9e58418b01ae4fd04349a4f944d9943b9ddac0f7"}, + {file = "soxr-0.3.7-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:6e39668c250e221db888cf3b290a16fbe10a702d9a4eb604a127f720040de583"}, + {file = "soxr-0.3.7-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f8ceeb74e5a55d903cc286d3bd12c2d8f8c85d02894071e9ec92ab405430907c"}, + {file = "soxr-0.3.7-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0eed6bf58192dd1bb93becd2444de4d712689713d727b32fd55623ae9aae7df7"}, + {file = "soxr-0.3.7-cp39-cp39-win_amd64.whl", hash = "sha256:7221302b4547d02a3f38dd3cd15317ab2b78873c75921db5f4a070848f0c71be"}, + {file = "soxr-0.3.7.tar.gz", hash = "sha256:436ddff00c6eb2c75b79c19cfdca7527b1e31b5fad738652f044045ba6258593"}, +] + +[package.dependencies] +numpy = "*" + +[package.extras] +docs = ["linkify-it-py", "myst-parser", "sphinx", "sphinx-book-theme"] +test = ["pytest"] + +[[package]] +name = "sympy" +version = "1.12" +description = "Computer algebra system (CAS) in Python" +optional = false +python-versions = ">=3.8" +files = [ + {file = "sympy-1.12-py3-none-any.whl", hash = "sha256:c3588cd4295d0c0f603d0f2ae780587e64e2efeedb3521e46b9bb1d08d184fa5"}, + {file = "sympy-1.12.tar.gz", hash = "sha256:ebf595c8dac3e0fdc4152c51878b498396ec7f30e7a914d6071e674d49420fb8"}, +] + +[package.dependencies] +mpmath = ">=0.19" + +[[package]] +name = "threadpoolctl" +version = "3.2.0" +description = "threadpoolctl" +optional = false +python-versions = ">=3.8" +files = [ + {file = "threadpoolctl-3.2.0-py3-none-any.whl", hash = "sha256:2b7818516e423bdaebb97c723f86a7c6b0a83d3f3b0970328d66f4d9104dc032"}, + {file = "threadpoolctl-3.2.0.tar.gz", hash = "sha256:c96a0ba3bdddeaca37dc4cc7344aafad41cdb8c313f74fdfe387a867bba93355"}, +] + +[[package]] +name = "tokenizers" +version = "0.14.1" +description = "" +optional = false +python-versions = ">=3.7" +files = [ + {file = "tokenizers-0.14.1-cp310-cp310-macosx_10_7_x86_64.whl", hash = "sha256:04ec1134a18ede355a05641cdc7700f17280e01f69f2f315769f02f7e295cf1e"}, + {file = "tokenizers-0.14.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:638abedb39375f0ddce2de536fc9c976639b2d1b7202d715c2e7a25f0ebfd091"}, + {file = "tokenizers-0.14.1-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:901635098565773a44f74068639d265f19deaaca47ea77b428fd9bee13a61d87"}, + {file = "tokenizers-0.14.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:72e95184bf5b9a4c08153ed07c16c130ff174835c9a1e6ee2b311be758c8b3ef"}, + {file = "tokenizers-0.14.1-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:ebefbc26ccff5e96ae7d40772172e7310174f9aa3683d2870a1882313ec3a4d5"}, + {file = "tokenizers-0.14.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d3a6330c9f1deda22873e8b4ac849cc06d3ff33d60b3217ac0bb397b541e1509"}, + {file = "tokenizers-0.14.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:6cba7483ba45600346a35c466bde32327b108575022f73c35a0f7170b5a71ae2"}, + {file = "tokenizers-0.14.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:60fec380778d75cbb492f14ca974f11f37b41d53c057b9c8ba213315b86e1f84"}, + {file = "tokenizers-0.14.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:930c19b699dd7e1077eac98967adc2fe5f0b104bd96cc1f26778ab82b31ceb24"}, + {file = "tokenizers-0.14.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:a1e30a13376db5329570e09b14c8eb36c017909ed7e88591ca3aa81f3c7d6f32"}, + {file = "tokenizers-0.14.1-cp310-none-win32.whl", hash = "sha256:370b5b86da9bddbe65fa08711f0e8ffdf8b0036558178d1a31dfcb44efcde72a"}, + {file = "tokenizers-0.14.1-cp310-none-win_amd64.whl", hash = "sha256:c2c659f2106b6d154f118ad1b700e68148c46c59b720f04867b1fc5f26a85060"}, + {file = "tokenizers-0.14.1-cp311-cp311-macosx_10_7_x86_64.whl", hash = "sha256:00df4c5bf25c153b432b98689609b426ae701a44f3d8074dcb619f410bc2a870"}, + {file = "tokenizers-0.14.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:fee553657dcdb7e73df8823c49e8611457ba46e9d7026b7e9c44820c08c327c3"}, + {file = "tokenizers-0.14.1-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:a480bd902e327dfcaa52b7dd14fdc71e7aa45d73a3d6e41e028a75891d2823cf"}, + {file = "tokenizers-0.14.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e448b2be0430ab839cf7954715c39d6f34ff6cf2b49393f336283b7a59f485af"}, + {file = "tokenizers-0.14.1-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:c11444984aecd342f0cf160c3320288edeb1763871fbb560ed466654b2a7016c"}, + {file = "tokenizers-0.14.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:bfe164a1c72c6be3c5c26753c6c412f81412f4dae0d7d06371e0b396a9cc0fc9"}, + {file = "tokenizers-0.14.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:72d9967fb1f927542cfb5347207fde01b29f25c9bb8cbc7ced280decfa015983"}, + {file = "tokenizers-0.14.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:37cc955c84ec67c2d11183d372044399342b20a1fa447b7a33040f4889bba318"}, + {file = "tokenizers-0.14.1-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:db96cf092d86d4cb543daa9148e299011e0a40770380bb78333b9fd700586fcb"}, + {file = "tokenizers-0.14.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:c84d3cb1349936c2b96ca6175b50f5a9518170bffd76464219ee0ea6022a64a7"}, + {file = "tokenizers-0.14.1-cp311-none-win32.whl", hash = "sha256:8db3a6f3d430ac3dc3793c53fa8e5e665c23ba359484d365a191027ad8b65a30"}, + {file = "tokenizers-0.14.1-cp311-none-win_amd64.whl", hash = "sha256:c65d76052561c60e17cb4fa289885ed00a9995d59e97019fac2138bd45142057"}, + {file = "tokenizers-0.14.1-cp312-cp312-macosx_10_7_x86_64.whl", hash = "sha256:c375161b588982be381c43eb7158c250f430793d0f708ce379a0f196164c6778"}, + {file = "tokenizers-0.14.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:50f03d2330a153a9114c2429061137bd323736059f384de8348d7cb1ca1baa15"}, + {file = "tokenizers-0.14.1-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:0c8ee283b249c3c3c201c41bc23adc3be2514ae4121eacdb5c5250a461eaa8c6"}, + {file = "tokenizers-0.14.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e9f27399b8d50c5d3f08f0aae961bcc66a1dead1cd0ae9401e4c2a43a623322a"}, + {file = "tokenizers-0.14.1-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:89cbeec7e9d5d8773ec4779c64e3cbcbff53d234ca6ad7b1a3736588003bba48"}, + {file = "tokenizers-0.14.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:08e55920b453c30b46d58accc68a38e8e7488d0c03babfdb29c55d3f39dd2052"}, + {file = "tokenizers-0.14.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:91d32bd1056c0e83a0f90e4ffa213c25096b2d8b9f0e2d172a45f138c7d8c081"}, + {file = "tokenizers-0.14.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:44f1748035c36c939848c935715bde41734d9249ab7b844ff9bfbe984be8952c"}, + {file = "tokenizers-0.14.1-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:1ff516d129f01bb7a4aa95bc6aae88e4d86dd63bfc2d57db9302c2624d1be7cb"}, + {file = "tokenizers-0.14.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:acfc8db61c6e919d932448cc7985b85e330c8d745528e12fce6e62d40d268bce"}, + {file = "tokenizers-0.14.1-cp37-cp37m-macosx_10_7_x86_64.whl", hash = "sha256:ba336bc9107acbc1da2ad30967df7b2db93448ca66538ad86aa1fbb91116f631"}, + {file = "tokenizers-0.14.1-cp37-cp37m-macosx_11_0_arm64.whl", hash = "sha256:f77371b5030e53f8bf92197640af437539e3bba1bc8342b97888c8e26567bfdc"}, + {file = "tokenizers-0.14.1-cp37-cp37m-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:d72d25c57a9c814240802d188ff0a808b701e2dd2bf1c64721c7088ceeeb1ed7"}, + {file = "tokenizers-0.14.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:caf0df8657277e32671aa8a4d3cc05f2050ab19d9b49447f2265304168e9032c"}, + {file = "tokenizers-0.14.1-cp37-cp37m-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:cb3c6bc6e599e46a26ad559ad5dec260ffdf705663cc9b894033d64a69314e86"}, + {file = "tokenizers-0.14.1-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f8cf2fcdc2368df4317e05571e33810eeed24cd594acc9dfc9788b21dac6b3a8"}, + {file = "tokenizers-0.14.1-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f475d5eda41d2ed51ca775a07c80529a923dd759fcff7abf03ccdd83d9f7564e"}, + {file = "tokenizers-0.14.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cce4d1a97a7eb2253b5d3f29f4a478d8c37ba0303ea34024eb9e65506d4209f8"}, + {file = "tokenizers-0.14.1-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:ff66577ae55114f7d0f6aa0d4d335f27cae96bf245962a745b718ec887bbe7eb"}, + {file = "tokenizers-0.14.1-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:a687099e085f5162e5b88b3402adb6c2b41046180c015c5075c9504440b6e971"}, + {file = "tokenizers-0.14.1-cp37-none-win32.whl", hash = "sha256:49f5336b82e315a33bef1025d247ca08d95719715b29e33f0e9e8cf15ff1dfb6"}, + {file = "tokenizers-0.14.1-cp37-none-win_amd64.whl", hash = "sha256:117c8da60d1bd95a6df2692926f36de7971baa1d89ff702fae47b6689a4465ad"}, + {file = "tokenizers-0.14.1-cp38-cp38-macosx_10_7_x86_64.whl", hash = "sha256:01d2bd5935642de22a6c6778bb2307f9949cd6eaeeb5c77f9b98f0060b69f0db"}, + {file = "tokenizers-0.14.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:b05ec04132394c20bd6bcb692d557a8eb8ab1bac1646d28e49c67c00907d17c8"}, + {file = "tokenizers-0.14.1-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:7d9025b185465d9d18679406f6f394850347d5ed2681efc203539d800f36f459"}, + {file = "tokenizers-0.14.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2539831838ab5393f78a893d7bbf27d5c36e43baf77e91dc9992922b2b97e09d"}, + {file = "tokenizers-0.14.1-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:ec8f46d533092d8e20bc742c47918cbe24b8641dbfbbcb83177c5de3c9d4decb"}, + {file = "tokenizers-0.14.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8b019c4810903fdea3b230f358b9d27377c0f38454778b607676c9e1b57d14b7"}, + {file = "tokenizers-0.14.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e8984114fd83ed3913d89526c992395920930c9620a2feee61faf035f41d7b9a"}, + {file = "tokenizers-0.14.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:11284b32f0036fe7ef4b8b00201dda79c00f3fcea173bc0e5c599e09c937ab0f"}, + {file = "tokenizers-0.14.1-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:53614f44f36917282a583180e402105bc63d61d1aca067d51cb7f051eb489901"}, + {file = "tokenizers-0.14.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:e3b6082e9532309727273443c8943bb9558d52e36788b246aa278bda7c642116"}, + {file = "tokenizers-0.14.1-cp38-none-win32.whl", hash = "sha256:7560fca3e17a6bc876d20cd825d7721c101fa2b1cd0bfa0abf9a2e781e49b37b"}, + {file = "tokenizers-0.14.1-cp38-none-win_amd64.whl", hash = "sha256:c318a5acb429ca38f632577754235140bbb8c5a27faca1c51b43fbf575596e34"}, + {file = "tokenizers-0.14.1-cp39-cp39-macosx_10_7_x86_64.whl", hash = "sha256:b886e0f5c72aa4249c609c24b9610a9ca83fd963cbb5066b19302723ea505279"}, + {file = "tokenizers-0.14.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:f522f28c88a0d5b2f9e895cf405dd594cd518e99d61905406aec74d30eb6383b"}, + {file = "tokenizers-0.14.1-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:5bef76c4d9329913cef2fe79ce1f4dab98f77fa4887e5f0420ffc9386941de32"}, + {file = "tokenizers-0.14.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:59c7df2103052b30b7c76d4fa8251326c9f82689578a912698a127dc1737f43e"}, + {file = "tokenizers-0.14.1-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:232445e7b85255ccfe68dfd42185db8a3f3349b34ad7068404856c4a5f67c355"}, + {file = "tokenizers-0.14.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8e63781da85aa8948864970e529af10abc4084a990d30850c41bbdb5f83eee45"}, + {file = "tokenizers-0.14.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5760a831c0f3c6d3229b50ef3fafa4c164ec99d7e8c2237fe144e67a9d33b120"}, + {file = "tokenizers-0.14.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c84b456ff8525ec3ff09762e32ccc27888d036dcd0ba2883e1db491e164dd725"}, + {file = "tokenizers-0.14.1-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:463ee5f3afbfec29cbf5652752c9d1032bdad63daf48bb8cb9970064cc81d5f9"}, + {file = "tokenizers-0.14.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:ee6b63aecf929a7bcf885bdc8a8aec96c43bc4442f63fe8c6d48f24fc992b05b"}, + {file = "tokenizers-0.14.1-cp39-none-win32.whl", hash = "sha256:aae42798ba1da3bc1572b2048fe42e61dd6bacced2b424cb0f5572c5432f79c2"}, + {file = "tokenizers-0.14.1-cp39-none-win_amd64.whl", hash = "sha256:68c4699147dded6926a3d2c2f948d435d54d027f69909e0ef3c6587933723ed2"}, + {file = "tokenizers-0.14.1-pp310-pypy310_pp73-macosx_10_7_x86_64.whl", hash = "sha256:5f9afdcf701a1aa3c41e0e748c152d2162434d61639a1e5d8523ecf60ae35aea"}, + {file = "tokenizers-0.14.1-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:6859d81243cd09854be9054aca3ecab14a2dee5b3c9f6d7ef12061d478ca0c57"}, + {file = "tokenizers-0.14.1-pp310-pypy310_pp73-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:7975178f9478ccedcf613332d5d6f37b67c74ef4e2e47e0c965597506b921f04"}, + {file = "tokenizers-0.14.1-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0ce2f0ff2e5f12ac5bebaa690606395725239265d7ffa35f35c243a379316297"}, + {file = "tokenizers-0.14.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4c7cfc3d42e81cda802f93aa9e92caf79feaa1711426e28ce620560b8aaf5e4d"}, + {file = "tokenizers-0.14.1-pp310-pypy310_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:67d3adff654dc7f7c7091dd259b3b847fe119c08d0bda61db91e2ea2b61c38c0"}, + {file = "tokenizers-0.14.1-pp310-pypy310_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:956729b7dd599020e57133fb95b777e4f81ee069ff0a70e80f6eeac82658972f"}, + {file = "tokenizers-0.14.1-pp37-pypy37_pp73-macosx_10_7_x86_64.whl", hash = "sha256:fe2ea1177146a7ab345ab61e90a490eeea25d5f063e1cb9d4eb1425b169b64d7"}, + {file = "tokenizers-0.14.1-pp37-pypy37_pp73-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:9930f31f603ecc6ea54d5c6dfa299f926ab3e921f72f94babcb02598c32b57c6"}, + {file = "tokenizers-0.14.1-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d49567a2754e9991c05c2b5a7e6650b56e24365b7cab504558e58033dcf0edc4"}, + {file = "tokenizers-0.14.1-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3678be5db330726f19c1949d8ae1b845a02eeb2a2e1d5a8bb8eaa82087ae25c1"}, + {file = "tokenizers-0.14.1-pp37-pypy37_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:42b180ed1bec58ab9bdc65d406577e0c0fb7241b74b8c032846073c7743c9f86"}, + {file = "tokenizers-0.14.1-pp37-pypy37_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:319e4367596fb0d52be645b3de1616faf0fadaf28507ce1c7595bebd9b4c402c"}, + {file = "tokenizers-0.14.1-pp38-pypy38_pp73-macosx_10_7_x86_64.whl", hash = "sha256:2cda65b689aec63b7c76a77f43a08044fa90bbc6ad9849267cedfee9795913f3"}, + {file = "tokenizers-0.14.1-pp38-pypy38_pp73-macosx_11_0_arm64.whl", hash = "sha256:ca0bfc79b27d84fcb7fa09339b2ee39077896738d9a30ff99c0332376e985072"}, + {file = "tokenizers-0.14.1-pp38-pypy38_pp73-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:a7093767e070269e22e2c5f845e46510304f124c32d2cd249633c0f27eb29d86"}, + {file = "tokenizers-0.14.1-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ad759ba39cd32c2c2247864d02c84ea5883b5f6cc6a4ee0c95602a3dde52268f"}, + {file = "tokenizers-0.14.1-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:26fee36a6d8f2bd9464f3566b95e3e3fb7fd7dad723f775c500aac8204ec98c6"}, + {file = "tokenizers-0.14.1-pp38-pypy38_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:d091c62cb7abbd32e527a85c41f7c8eb4526a926251891fc4ecbe5f974142ffb"}, + {file = "tokenizers-0.14.1-pp38-pypy38_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:ca304402ea66d58f99c05aa3d7a6052faea61e5a8313b94f6bc36fbf27960e2d"}, + {file = "tokenizers-0.14.1-pp39-pypy39_pp73-macosx_10_7_x86_64.whl", hash = "sha256:102f118fa9b720b93c3217c1e239ed7bc1ae1e8dbfe9b4983a4f2d7b4ce6f2ec"}, + {file = "tokenizers-0.14.1-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:df4f058e96e8b467b7742e5dba7564255cd482d3c1e6cf81f8cb683bb0433340"}, + {file = "tokenizers-0.14.1-pp39-pypy39_pp73-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:040ee44efc1806900de72b13c1c3036154077d9cde189c9a7e7a50bbbdcbf39f"}, + {file = "tokenizers-0.14.1-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7618b84118ae704f7fa23c4a190bd80fc605671841a4427d5ca14b9b8d9ec1a3"}, + {file = "tokenizers-0.14.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2ecdfe9736c4a73343f629586016a137a10faed1a29c6dc699d8ab20c2d3cf64"}, + {file = "tokenizers-0.14.1-pp39-pypy39_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:92c34de04fec7f4ff95f7667d4eb085c4e4db46c31ef44c3d35c38df128430da"}, + {file = "tokenizers-0.14.1-pp39-pypy39_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:628b654ba555b2ba9111c0936d558b14bfc9d5f57b8c323b02fc846036b38b2f"}, + {file = "tokenizers-0.14.1.tar.gz", hash = "sha256:ea3b3f8908a9a5b9d6fc632b5f012ece7240031c44c6d4764809f33736534166"}, +] + +[package.dependencies] +huggingface_hub = ">=0.16.4,<0.18" + +[package.extras] +dev = ["tokenizers[testing]"] +docs = ["setuptools_rust", "sphinx", "sphinx_rtd_theme"] +testing = ["black (==22.3)", "datasets", "numpy", "pytest", "requests"] + +[[package]] +name = "torch" +version = "2.1.0" +description = "Tensors and Dynamic neural networks in Python with strong GPU acceleration" +optional = false +python-versions = ">=3.8.0" +files = [ + {file = "torch-2.1.0-cp310-cp310-manylinux1_x86_64.whl", hash = "sha256:bf57f8184b2c317ef81fb33dc233ce4d850cd98ef3f4a38be59c7c1572d175db"}, + {file = "torch-2.1.0-cp310-cp310-manylinux2014_aarch64.whl", hash = "sha256:a04a0296d47f28960f51c18c5489a8c3472f624ec3b5bcc8e2096314df8c3342"}, + {file = "torch-2.1.0-cp310-cp310-win_amd64.whl", hash = "sha256:0bd691efea319b14ef239ede16d8a45c246916456fa3ed4f217d8af679433cc6"}, + {file = "torch-2.1.0-cp310-none-macosx_10_9_x86_64.whl", hash = "sha256:101c139152959cb20ab370fc192672c50093747906ee4ceace44d8dd703f29af"}, + {file = "torch-2.1.0-cp310-none-macosx_11_0_arm64.whl", hash = "sha256:a6b7438a90a870e4cdeb15301519ae6c043c883fcd224d303c5b118082814767"}, + {file = "torch-2.1.0-cp311-cp311-manylinux1_x86_64.whl", hash = "sha256:2224622407ca52611cbc5b628106fde22ed8e679031f5a99ce286629fc696128"}, + {file = "torch-2.1.0-cp311-cp311-manylinux2014_aarch64.whl", hash = "sha256:8132efb782cd181cc2dcca5e58effbe4217cdb2581206ac71466d535bf778867"}, + {file = "torch-2.1.0-cp311-cp311-win_amd64.whl", hash = "sha256:5c3bfa91ce25ba10116c224c59d5b64cdcce07161321d978bd5a1f15e1ebce72"}, + {file = "torch-2.1.0-cp311-none-macosx_10_9_x86_64.whl", hash = "sha256:601b0a2a9d9233fb4b81f7d47dca9680d4f3a78ca3f781078b6ad1ced8a90523"}, + {file = "torch-2.1.0-cp311-none-macosx_11_0_arm64.whl", hash = "sha256:3cd1dedff13884d890f18eea620184fb4cd8fd3c68ce3300498f427ae93aa962"}, + {file = "torch-2.1.0-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:fb7bf0cc1a3db484eb5d713942a93172f3bac026fcb377a0cd107093d2eba777"}, + {file = "torch-2.1.0-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:761822761fffaa1c18a62c5deb13abaa780862577d3eadc428f1daa632536905"}, + {file = "torch-2.1.0-cp38-cp38-win_amd64.whl", hash = "sha256:458a6d6d8f7d2ccc348ac4d62ea661b39a3592ad15be385bebd0a31ced7e00f4"}, + {file = "torch-2.1.0-cp38-none-macosx_10_9_x86_64.whl", hash = "sha256:c8bf7eaf9514465e5d9101e05195183470a6215bb50295c61b52302a04edb690"}, + {file = "torch-2.1.0-cp38-none-macosx_11_0_arm64.whl", hash = "sha256:05661c32ec14bc3a157193d0f19a7b19d8e61eb787b33353cad30202c295e83b"}, + {file = "torch-2.1.0-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:556d8dd3e0c290ed9d4d7de598a213fb9f7c59135b4fee144364a8a887016a55"}, + {file = "torch-2.1.0-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:de7d63c6ecece118684415a3dbd4805af4a4c1ee1490cccf7405d8c240a481b4"}, + {file = "torch-2.1.0-cp39-cp39-win_amd64.whl", hash = "sha256:2419cf49aaf3b2336c7aa7a54a1b949fa295b1ae36f77e2aecb3a74e3a947255"}, + {file = "torch-2.1.0-cp39-none-macosx_10_9_x86_64.whl", hash = "sha256:6ad491e70dbe4288d17fdbfc7fbfa766d66cbe219bc4871c7a8096f4a37c98df"}, + {file = "torch-2.1.0-cp39-none-macosx_11_0_arm64.whl", hash = "sha256:421739685eba5e0beba42cb649740b15d44b0d565c04e6ed667b41148734a75b"}, +] + +[package.dependencies] +filelock = "*" +fsspec = "*" +jinja2 = "*" +networkx = "*" +sympy = "*" +typing-extensions = "*" + +[package.extras] +opt-einsum = ["opt-einsum (>=3.3)"] + +[[package]] +name = "torchaudio" +version = "2.1.0" +description = "An audio package for PyTorch" +optional = false +python-versions = "*" +files = [ + {file = "torchaudio-2.1.0-cp310-cp310-macosx_10_13_x86_64.whl", hash = "sha256:445eba044d70e292acab2a67763ee682af8c776d2d0ca671cdbe43ba396422a3"}, + {file = "torchaudio-2.1.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:cd6f29c78358b632ff7123929e5358dbdf0505849811b57e7108cbd2af42bb44"}, + {file = "torchaudio-2.1.0-cp310-cp310-manylinux1_x86_64.whl", hash = "sha256:1602cafb47dd04a61a9b0d77f79721979dacbc844de73174b84467992237c9b2"}, + {file = "torchaudio-2.1.0-cp310-cp310-manylinux2014_aarch64.whl", hash = "sha256:010f63fe766787e058989ffadd793daadd946ce1de903be171087938cdbdc1d7"}, + {file = "torchaudio-2.1.0-cp310-cp310-win_amd64.whl", hash = "sha256:3629b358af5df25f9b018e3aba09a84c59c809712d7dfe9e31a4145d0092a1df"}, + {file = "torchaudio-2.1.0-cp311-cp311-macosx_10_13_x86_64.whl", hash = "sha256:8bd1eef53c353cea7eb6cbe1013cbd9e51c48987e19d06bdbb29a22846b8c6b1"}, + {file = "torchaudio-2.1.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:fc97182abab2065d8bbf56f3732883e40acfcfec38f2581c97710b1fca93c4a7"}, + {file = "torchaudio-2.1.0-cp311-cp311-manylinux1_x86_64.whl", hash = "sha256:b2cd0873d24645b67c7e269c8a24bd160b8214874207ba90fbc133a482e85b6e"}, + {file = "torchaudio-2.1.0-cp311-cp311-manylinux2014_aarch64.whl", hash = "sha256:328e5f36830e886c2b6f2a35868858aa464b9c1aae3c87d70b2b4fac3721b822"}, + {file = "torchaudio-2.1.0-cp311-cp311-win_amd64.whl", hash = "sha256:eddd74545d73a74c424936fdc98d817b139be994185eebf60c7663f578118a47"}, + {file = "torchaudio-2.1.0-cp38-cp38-macosx_10_13_x86_64.whl", hash = "sha256:6dd5933188154cb8bd9e634c7812186c1df382a6b5d7be471e894fb488a6757e"}, + {file = "torchaudio-2.1.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:96a635120c6dd35926aafe1f20bbaf5325c775813082832dde6df390cc8be90e"}, + {file = "torchaudio-2.1.0-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:1cce2133f7b9f813ff146dffccfdb616b73932cec2fc69aa3a4189b8a8b17f8d"}, + {file = "torchaudio-2.1.0-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:0a337db1d5f134d2168870ea0bc026107af0fe1e80ad7d93dee002daae5fe363"}, + {file = "torchaudio-2.1.0-cp38-cp38-win_amd64.whl", hash = "sha256:e91f31e17e2c341a39143197aa552abc55066c178065fa2524b27630e39505cc"}, + {file = "torchaudio-2.1.0-cp39-cp39-macosx_10_13_x86_64.whl", hash = "sha256:349f7b1c28724445fc460f2ec9f60631a5a335dfaebad36994bd11ce22056b1e"}, + {file = "torchaudio-2.1.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:ed92f59d8863578298b3f238cfc6c4c74251598c9e4642246731ba0b8043a033"}, + {file = "torchaudio-2.1.0-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:08818dc390fb398974b7d68ec9fafb16345b3366fa884139a04a062e9cb60684"}, + {file = "torchaudio-2.1.0-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:653016d59401e1f84412e8b76960866f4aeb8a403e3a4d04d5c9a55b67de825b"}, + {file = "torchaudio-2.1.0-cp39-cp39-win_amd64.whl", hash = "sha256:34f66c7171330e3213bf7d76a9efda51067857411aac60d70570239c9ed8c56d"}, +] + +[package.dependencies] +torch = "2.1.0" + +[[package]] +name = "torchlibrosa" +version = "0.1.0" +description = "PyTorch implemention of part of librosa functions." +optional = false +python-versions = ">=3.6" +files = [ + {file = "torchlibrosa-0.1.0-py3-none-any.whl", hash = "sha256:89b65fd28b833ceb6bc74a3d0d87e2924ddc5a845d0a246b194952a4e12a38cb"}, + {file = "torchlibrosa-0.1.0.tar.gz", hash = "sha256:62a8beedf9c9b4141a06234df3f10229f7ba86e67678ccee02489ec4ef044028"}, +] + +[package.dependencies] +librosa = ">=0.8.0" +numpy = "*" + +[[package]] +name = "torchvision" +version = "0.16.0" +description = "image and video datasets and models for torch deep learning" +optional = false +python-versions = ">=3.8" +files = [ + {file = "torchvision-0.16.0-cp310-cp310-macosx_10_13_x86_64.whl", hash = "sha256:16c300fdbbe91469f5e9feef8d24c6acabd8849db502a06160dd76ba68e897a0"}, + {file = "torchvision-0.16.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:ef5dec6c48b715353781b83749efcdea03835720a71b377684453ee117aab3c7"}, + {file = "torchvision-0.16.0-cp310-cp310-manylinux1_x86_64.whl", hash = "sha256:9e3a2012e463f498de21f6598cc7a266b9a8c6fe15788472fdc419233ea6f3f2"}, + {file = "torchvision-0.16.0-cp310-cp310-manylinux2014_aarch64.whl", hash = "sha256:e4327e082b703921ae52caeee4f7839f7e6c73cfc5eedea468ecb5c1487ecdbf"}, + {file = "torchvision-0.16.0-cp310-cp310-win_amd64.whl", hash = "sha256:62f01513687cce3480df8928fcc6c09b4aa0433d05ac75e82877acc773f6a568"}, + {file = "torchvision-0.16.0-cp311-cp311-macosx_10_13_x86_64.whl", hash = "sha256:31fdf289bdfb2976f65a14f79f6ddd1ee60113db34622674918e61521c2dc41f"}, + {file = "torchvision-0.16.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:2294a6514a31a6fda562288b28cf6db57877237f4b56ff693262f237a7ed4035"}, + {file = "torchvision-0.16.0-cp311-cp311-manylinux1_x86_64.whl", hash = "sha256:6a24a1e83e4bc7a31b39ef05d2ca4cd2182e95ff10f525edffe1473f7ce16ca1"}, + {file = "torchvision-0.16.0-cp311-cp311-manylinux2014_aarch64.whl", hash = "sha256:9ed5f21e5a56e466667c6f9f6f93dba2a75e29921108bd70043eaf8e9ba0a7cc"}, + {file = "torchvision-0.16.0-cp311-cp311-win_amd64.whl", hash = "sha256:9ee3d4df7d4a84f883f8ad11fb6510549f40f68dd5469eae601d7e02fb4809b2"}, + {file = "torchvision-0.16.0-cp38-cp38-macosx_10_13_x86_64.whl", hash = "sha256:0c6f36d00b9ce412e367ad6f42e9054cbc890cd9ddd0d200ed9b3b52dd9c225b"}, + {file = "torchvision-0.16.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:597f60cb03e6f758a00b36b38506f6f38b6c3f1fdfd3921bb9abd60b72d522fd"}, + {file = "torchvision-0.16.0-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:eddd91da4603f1dbb340d9aca82344df64605a0897b17014ac8e0b54dd6e5716"}, + {file = "torchvision-0.16.0-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:79875f5247337723ec363762c2716bcfc13b78b3045e4e58847c696f03d9ed4d"}, + {file = "torchvision-0.16.0-cp38-cp38-win_amd64.whl", hash = "sha256:550c9793637c5369fbcb4e4b6b0e6d53a4f6cc22389f0563ad60ab90e4f1c8ba"}, + {file = "torchvision-0.16.0-cp39-cp39-macosx_10_13_x86_64.whl", hash = "sha256:de7c7302fa2f67a2a151e595a8e7dc3865a445d952e99d5c682ba78f312fedc3"}, + {file = "torchvision-0.16.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:f044cffd252fd293b6df46f38d7eeb2fd4fe931e0114c5263735e3b8c9c60a4f"}, + {file = "torchvision-0.16.0-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:8cb501061f6654da494dd975acc1fa301c4b8aacf96bdbcf1553f51a53ebfd1f"}, + {file = "torchvision-0.16.0-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:5a47108ae6a8effdf09fe35fd0c4d5414e69ca8d2334e87339de497b7b64b0c9"}, + {file = "torchvision-0.16.0-cp39-cp39-win_amd64.whl", hash = "sha256:9b8f06e6a2f80576007b88846f74b680a1ad3b59d2e22b075587b430180e9cfa"}, +] + +[package.dependencies] +numpy = "*" +pillow = ">=5.3.0,<8.3.dev0 || >=8.4.dev0" +requests = "*" +torch = "2.1.0" + +[package.extras] +scipy = ["scipy"] + +[[package]] +name = "tqdm" +version = "4.66.1" +description = "Fast, Extensible Progress Meter" +optional = false +python-versions = ">=3.7" +files = [ + {file = "tqdm-4.66.1-py3-none-any.whl", hash = "sha256:d302b3c5b53d47bce91fea46679d9c3c6508cf6332229aa1e7d8653723793386"}, + {file = "tqdm-4.66.1.tar.gz", hash = "sha256:d88e651f9db8d8551a62556d3cff9e3034274ca5d66e93197cf2490e2dcb69c7"}, +] + +[package.dependencies] +colorama = {version = "*", markers = "platform_system == \"Windows\""} + +[package.extras] +dev = ["pytest (>=6)", "pytest-cov", "pytest-timeout", "pytest-xdist"] +notebook = ["ipywidgets (>=6)"] +slack = ["slack-sdk"] +telegram = ["requests"] + +[[package]] +name = "transformers" +version = "4.34.0" +description = "State-of-the-art Machine Learning for JAX, PyTorch and TensorFlow" +optional = false +python-versions = ">=3.8.0" +files = [ + {file = "transformers-4.34.0-py3-none-any.whl", hash = "sha256:3f0187183a7f22c51ecbbc9eac5145df666c5b86bec6feed10e11f0363f3a1f9"}, + {file = "transformers-4.34.0.tar.gz", hash = "sha256:cc2ae61bfbfaa45337fd9017326669fc60e4f55125f589d50da47819e3d6f504"}, +] + +[package.dependencies] +filelock = "*" +huggingface-hub = ">=0.16.4,<1.0" +numpy = ">=1.17" +packaging = ">=20.0" +pyyaml = ">=5.1" +regex = "!=2019.12.17" +requests = "*" +safetensors = ">=0.3.1" +tokenizers = ">=0.14,<0.15" +tqdm = ">=4.27" + +[package.extras] +accelerate = ["accelerate (>=0.20.3)"] +agents = ["Pillow (<10.0.0)", "accelerate (>=0.20.3)", "datasets (!=2.5.0)", "diffusers", "opencv-python", "sentencepiece (>=0.1.91,!=0.1.92)", "torch (>=1.10,!=1.12.0)"] +all = ["Pillow (<10.0.0)", "accelerate (>=0.20.3)", "av (==9.2.0)", "codecarbon (==1.2.0)", "decord (==0.6.0)", "flax (>=0.4.1,<=0.7.0)", "jax (>=0.4.1,<=0.4.13)", "jaxlib (>=0.4.1,<=0.4.13)", "kenlm", "keras-nlp (>=0.3.1)", "librosa", "onnxconverter-common", "optax (>=0.0.8,<=0.1.4)", "optuna", "phonemizer", "protobuf", "pyctcdecode (>=0.4.0)", "ray[tune]", "sentencepiece (>=0.1.91,!=0.1.92)", "sigopt", "tensorflow (>=2.6,<2.15)", "tensorflow-text (<2.15)", "tf2onnx", "timm", "tokenizers (>=0.14,<0.15)", "torch (>=1.10,!=1.12.0)", "torchaudio", "torchvision"] +audio = ["kenlm", "librosa", "phonemizer", "pyctcdecode (>=0.4.0)"] +codecarbon = ["codecarbon (==1.2.0)"] +deepspeed = ["accelerate (>=0.20.3)", "deepspeed (>=0.9.3)"] +deepspeed-testing = ["GitPython (<3.1.19)", "accelerate (>=0.20.3)", "beautifulsoup4", "black (>=23.1,<24.0)", "cookiecutter (==1.7.3)", "datasets (!=2.5.0)", "deepspeed (>=0.9.3)", "dill (<0.3.5)", "evaluate (>=0.2.0)", "faiss-cpu", "hf-doc-builder (>=0.3.0)", "nltk", "optuna", "parameterized", "protobuf", "psutil", "pytest (>=7.2.0)", "pytest-timeout", "pytest-xdist", "rjieba", "rouge-score (!=0.0.7,!=0.0.8,!=0.1,!=0.1.1)", "sacrebleu (>=1.4.12,<2.0.0)", "sacremoses", "sentencepiece (>=0.1.91,!=0.1.92)", "timeout-decorator"] +dev = ["GitPython (<3.1.19)", "Pillow (<10.0.0)", "accelerate (>=0.20.3)", "av (==9.2.0)", "beautifulsoup4", "black (>=23.1,<24.0)", "codecarbon (==1.2.0)", "cookiecutter (==1.7.3)", "datasets (!=2.5.0)", "decord (==0.6.0)", "dill (<0.3.5)", "evaluate (>=0.2.0)", "faiss-cpu", "flax (>=0.4.1,<=0.7.0)", "fugashi (>=1.0)", "hf-doc-builder", "hf-doc-builder (>=0.3.0)", "ipadic (>=1.0.0,<2.0)", "isort (>=5.5.4)", "jax (>=0.4.1,<=0.4.13)", "jaxlib (>=0.4.1,<=0.4.13)", "kenlm", "keras-nlp (>=0.3.1)", "librosa", "nltk", "onnxconverter-common", "optax (>=0.0.8,<=0.1.4)", "optuna", "parameterized", "phonemizer", "protobuf", "psutil", "pyctcdecode (>=0.4.0)", "pytest (>=7.2.0)", "pytest-timeout", "pytest-xdist", "ray[tune]", "rhoknp (>=1.1.0,<1.3.1)", "rjieba", "rouge-score (!=0.0.7,!=0.0.8,!=0.1,!=0.1.1)", "ruff (>=0.0.241,<=0.0.259)", "sacrebleu (>=1.4.12,<2.0.0)", "sacremoses", "scikit-learn", "sentencepiece (>=0.1.91,!=0.1.92)", "sigopt", "sudachidict-core (>=20220729)", "sudachipy (>=0.6.6)", "tensorflow (>=2.6,<2.15)", "tensorflow-text (<2.15)", "tf2onnx", "timeout-decorator", "timm", "tokenizers (>=0.14,<0.15)", "torch (>=1.10,!=1.12.0)", "torchaudio", "torchvision", "unidic (>=1.0.2)", "unidic-lite (>=1.0.7)", "urllib3 (<2.0.0)"] +dev-tensorflow = ["GitPython (<3.1.19)", "Pillow (<10.0.0)", "beautifulsoup4", "black (>=23.1,<24.0)", "cookiecutter (==1.7.3)", "datasets (!=2.5.0)", "dill (<0.3.5)", "evaluate (>=0.2.0)", "faiss-cpu", "hf-doc-builder", "hf-doc-builder (>=0.3.0)", "isort (>=5.5.4)", "kenlm", "keras-nlp (>=0.3.1)", "librosa", "nltk", "onnxconverter-common", "onnxruntime (>=1.4.0)", "onnxruntime-tools (>=1.4.2)", "parameterized", "phonemizer", "protobuf", "psutil", "pyctcdecode (>=0.4.0)", "pytest (>=7.2.0)", "pytest-timeout", "pytest-xdist", "rjieba", "rouge-score (!=0.0.7,!=0.0.8,!=0.1,!=0.1.1)", "ruff (>=0.0.241,<=0.0.259)", "sacrebleu (>=1.4.12,<2.0.0)", "sacremoses", "scikit-learn", "sentencepiece (>=0.1.91,!=0.1.92)", "tensorflow (>=2.6,<2.15)", "tensorflow-text (<2.15)", "tf2onnx", "timeout-decorator", "tokenizers (>=0.14,<0.15)", "urllib3 (<2.0.0)"] +dev-torch = ["GitPython (<3.1.19)", "Pillow (<10.0.0)", "accelerate (>=0.20.3)", "beautifulsoup4", "black (>=23.1,<24.0)", "codecarbon (==1.2.0)", "cookiecutter (==1.7.3)", "datasets (!=2.5.0)", "dill (<0.3.5)", "evaluate (>=0.2.0)", "faiss-cpu", "fugashi (>=1.0)", "hf-doc-builder", "hf-doc-builder (>=0.3.0)", "ipadic (>=1.0.0,<2.0)", "isort (>=5.5.4)", "kenlm", "librosa", "nltk", "onnxruntime (>=1.4.0)", "onnxruntime-tools (>=1.4.2)", "optuna", "parameterized", "phonemizer", "protobuf", "psutil", "pyctcdecode (>=0.4.0)", "pytest (>=7.2.0)", "pytest-timeout", "pytest-xdist", "ray[tune]", "rhoknp (>=1.1.0,<1.3.1)", "rjieba", "rouge-score (!=0.0.7,!=0.0.8,!=0.1,!=0.1.1)", "ruff (>=0.0.241,<=0.0.259)", "sacrebleu (>=1.4.12,<2.0.0)", "sacremoses", "scikit-learn", "sentencepiece (>=0.1.91,!=0.1.92)", "sigopt", "sudachidict-core (>=20220729)", "sudachipy (>=0.6.6)", "timeout-decorator", "timm", "tokenizers (>=0.14,<0.15)", "torch (>=1.10,!=1.12.0)", "torchaudio", "torchvision", "unidic (>=1.0.2)", "unidic-lite (>=1.0.7)", "urllib3 (<2.0.0)"] +docs = ["Pillow (<10.0.0)", "accelerate (>=0.20.3)", "av (==9.2.0)", "codecarbon (==1.2.0)", "decord (==0.6.0)", "flax (>=0.4.1,<=0.7.0)", "hf-doc-builder", "jax (>=0.4.1,<=0.4.13)", "jaxlib (>=0.4.1,<=0.4.13)", "kenlm", "keras-nlp (>=0.3.1)", "librosa", "onnxconverter-common", "optax (>=0.0.8,<=0.1.4)", "optuna", "phonemizer", "protobuf", "pyctcdecode (>=0.4.0)", "ray[tune]", "sentencepiece (>=0.1.91,!=0.1.92)", "sigopt", "tensorflow (>=2.6,<2.15)", "tensorflow-text (<2.15)", "tf2onnx", "timm", "tokenizers (>=0.14,<0.15)", "torch (>=1.10,!=1.12.0)", "torchaudio", "torchvision"] +docs-specific = ["hf-doc-builder"] +fairscale = ["fairscale (>0.3)"] +flax = ["flax (>=0.4.1,<=0.7.0)", "jax (>=0.4.1,<=0.4.13)", "jaxlib (>=0.4.1,<=0.4.13)", "optax (>=0.0.8,<=0.1.4)"] +flax-speech = ["kenlm", "librosa", "phonemizer", "pyctcdecode (>=0.4.0)"] +ftfy = ["ftfy"] +integrations = ["optuna", "ray[tune]", "sigopt"] +ja = ["fugashi (>=1.0)", "ipadic (>=1.0.0,<2.0)", "rhoknp (>=1.1.0,<1.3.1)", "sudachidict-core (>=20220729)", "sudachipy (>=0.6.6)", "unidic (>=1.0.2)", "unidic-lite (>=1.0.7)"] +modelcreation = ["cookiecutter (==1.7.3)"] +natten = ["natten (>=0.14.6)"] +onnx = ["onnxconverter-common", "onnxruntime (>=1.4.0)", "onnxruntime-tools (>=1.4.2)", "tf2onnx"] +onnxruntime = ["onnxruntime (>=1.4.0)", "onnxruntime-tools (>=1.4.2)"] +optuna = ["optuna"] +quality = ["GitPython (<3.1.19)", "black (>=23.1,<24.0)", "datasets (!=2.5.0)", "hf-doc-builder (>=0.3.0)", "isort (>=5.5.4)", "ruff (>=0.0.241,<=0.0.259)", "urllib3 (<2.0.0)"] +ray = ["ray[tune]"] +retrieval = ["datasets (!=2.5.0)", "faiss-cpu"] +sagemaker = ["sagemaker (>=2.31.0)"] +sentencepiece = ["protobuf", "sentencepiece (>=0.1.91,!=0.1.92)"] +serving = ["fastapi", "pydantic (<2)", "starlette", "uvicorn"] +sigopt = ["sigopt"] +sklearn = ["scikit-learn"] +speech = ["kenlm", "librosa", "phonemizer", "pyctcdecode (>=0.4.0)", "torchaudio"] +testing = ["GitPython (<3.1.19)", "beautifulsoup4", "black (>=23.1,<24.0)", "cookiecutter (==1.7.3)", "datasets (!=2.5.0)", "dill (<0.3.5)", "evaluate (>=0.2.0)", "faiss-cpu", "hf-doc-builder (>=0.3.0)", "nltk", "parameterized", "protobuf", "psutil", "pytest (>=7.2.0)", "pytest-timeout", "pytest-xdist", "rjieba", "rouge-score (!=0.0.7,!=0.0.8,!=0.1,!=0.1.1)", "sacrebleu (>=1.4.12,<2.0.0)", "sacremoses", "timeout-decorator"] +tf = ["keras-nlp (>=0.3.1)", "onnxconverter-common", "tensorflow (>=2.6,<2.15)", "tensorflow-text (<2.15)", "tf2onnx"] +tf-cpu = ["keras-nlp (>=0.3.1)", "onnxconverter-common", "tensorflow-cpu (>=2.6,<2.15)", "tensorflow-text (<2.15)", "tf2onnx"] +tf-speech = ["kenlm", "librosa", "phonemizer", "pyctcdecode (>=0.4.0)"] +timm = ["timm"] +tokenizers = ["tokenizers (>=0.14,<0.15)"] +torch = ["accelerate (>=0.20.3)", "torch (>=1.10,!=1.12.0)"] +torch-speech = ["kenlm", "librosa", "phonemizer", "pyctcdecode (>=0.4.0)", "torchaudio"] +torch-vision = ["Pillow (<10.0.0)", "torchvision"] +torchhub = ["filelock", "huggingface-hub (>=0.16.4,<1.0)", "importlib-metadata", "numpy (>=1.17)", "packaging (>=20.0)", "protobuf", "regex (!=2019.12.17)", "requests", "sentencepiece (>=0.1.91,!=0.1.92)", "tokenizers (>=0.14,<0.15)", "torch (>=1.10,!=1.12.0)", "tqdm (>=4.27)"] +video = ["av (==9.2.0)", "decord (==0.6.0)"] +vision = ["Pillow (<10.0.0)"] + +[[package]] +name = "typing-extensions" +version = "4.8.0" +description = "Backported and Experimental Type Hints for Python 3.8+" +optional = false +python-versions = ">=3.8" +files = [ + {file = "typing_extensions-4.8.0-py3-none-any.whl", hash = "sha256:8f92fc8806f9a6b641eaa5318da32b44d401efaac0f6678c9bc448ba3605faa0"}, + {file = "typing_extensions-4.8.0.tar.gz", hash = "sha256:df8e4339e9cb77357558cbdbceca33c303714cf861d1eef15e1070055ae8b7ef"}, +] + +[[package]] +name = "tzdata" +version = "2023.3" +description = "Provider of IANA time zone data" +optional = false +python-versions = ">=2" +files = [ + {file = "tzdata-2023.3-py2.py3-none-any.whl", hash = "sha256:7e65763eef3120314099b6939b5546db7adce1e7d6f2e179e3df563c70511eda"}, + {file = "tzdata-2023.3.tar.gz", hash = "sha256:11ef1e08e54acb0d4f95bdb1be05da659673de4acbd21bf9c69e94cc5e907a3a"}, +] + +[[package]] +name = "urllib3" +version = "2.0.6" +description = "HTTP library with thread-safe connection pooling, file post, and more." +optional = false +python-versions = ">=3.7" +files = [ + {file = "urllib3-2.0.6-py3-none-any.whl", hash = "sha256:7a7c7003b000adf9e7ca2a377c9688bbc54ed41b985789ed576570342a375cd2"}, + {file = "urllib3-2.0.6.tar.gz", hash = "sha256:b19e1a85d206b56d7df1d5e683df4a7725252a964e3993648dd0fb5a1c157564"}, +] + +[package.extras] +brotli = ["brotli (>=1.0.9)", "brotlicffi (>=0.8.0)"] +secure = ["certifi", "cryptography (>=1.9)", "idna (>=2.0.0)", "pyopenssl (>=17.1.0)", "urllib3-secure-extra"] +socks = ["pysocks (>=1.5.6,!=1.5.7,<2.0)"] +zstd = ["zstandard (>=0.18.0)"] + +[[package]] +name = "zipp" +version = "3.17.0" +description = "Backport of pathlib-compatible object wrapper for zip files" +optional = false +python-versions = ">=3.8" +files = [ + {file = "zipp-3.17.0-py3-none-any.whl", hash = "sha256:0e923e726174922dce09c53c59ad483ff7bbb8e572e00c7f7c46b88556409f31"}, + {file = "zipp-3.17.0.tar.gz", hash = "sha256:84e64a1c28cf7e91ed2078bb8cc8c259cb19b76942096c8d7b84947690cabaf0"}, +] + +[package.extras] +docs = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (<7.2.5)", "sphinx (>=3.5)", "sphinx-lint"] +testing = ["big-O", "jaraco.functools", "jaraco.itertools", "more-itertools", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-ignore-flaky", "pytest-mypy (>=0.9.1)", "pytest-ruff"] + +[metadata] +lock-version = "2.0" +python-versions = "^3.9" +content-hash = "30854b98d3c8b0a442be0f20f9fe42bc9f48078af2b26c2a18df04e806aebfaa" diff --git a/pyproject.toml b/pyproject.toml new file mode 100644 index 0000000..8176f37 --- /dev/null +++ b/pyproject.toml @@ -0,0 +1,28 @@ +[tool.poetry] +name = "msclap" +version = "1.3.0" +description = "CLAP (Contrastive Language-Audio Pretraining) is a model that learns acoustic concepts from natural language supervision and enables “Zero-Shot” inference. The model has been extensively evaluated in 26 audio downstream tasks achieving SoTA in several of them including classification, retrieval, and captioning." +authors = ["Benjamin Elizalde and Soham Deshmukh and Huaming Wang"] +license = "MIT" +readme = "README.md" + +[tool.poetry.dependencies] +python = "^3.9" +librosa = "^0.10.1" +numpy = ">=1.25.0,<1.26.0" +numba = ">=0.58.0,<0.59.0" +pandas = ">=2.0.0,<2.1.0" +torch = "^2.1.0" +torchaudio = "^2.1.0" +torchlibrosa = "^0.1.0" +torchvision = "^0.16.0" +tqdm = "^4.66.1" +transformers = "^4.34.0" +pyyaml = "^6.0.1" +scikit-learn = "^1.3.1" +importlib-resources = ">=5.12.0,<5.13.0" + + +[build-system] +requires = ["poetry-core"] +build-backend = "poetry.core.masonry.api" diff --git a/requirements.txt b/requirements.txt deleted file mode 100644 index 4c44e80..0000000 --- a/requirements.txt +++ /dev/null @@ -1,16 +0,0 @@ -huggingface-hub~=0.12.1 -importlib-resources~=5.12.0 -# joblib~=1.2.0 -librosa~=0.10.1 -numba~=0.58.0 -numpy~=1.25.0 -pandas~=2.1.1 -PyYAML~=6.0 -scikit-learn~=1.2.1 -setuptools~=65.6.3 -torch~=2.1.0 -torchaudio~=2.1.0 -torchlibrosa~=0.1.0 -torchvision~=0.16.0 -tqdm~=4.64.1 -transformers~=4.26.1 From 21c7b38cd4f5c7696c34472a6324c6a11c6da8f1 Mon Sep 17 00:00:00 2001 From: Azalea <22280294+hykilpikonna@users.noreply.github.com> Date: Wed, 11 Oct 2023 18:41:25 -0400 Subject: [PATCH 04/16] [+] Importing magic --- msclap | 1 + src/__init__.py | 1 + 2 files changed, 2 insertions(+) create mode 120000 msclap diff --git a/msclap b/msclap new file mode 120000 index 0000000..e831038 --- /dev/null +++ b/msclap @@ -0,0 +1 @@ +src \ No newline at end of file diff --git a/src/__init__.py b/src/__init__.py index e69de29..bd3b45b 100644 --- a/src/__init__.py +++ b/src/__init__.py @@ -0,0 +1 @@ +from .CLAPWrapper import CLAPWrapper as CLAP \ No newline at end of file From d47289931d919277f16e1843552344beff0f5f39 Mon Sep 17 00:00:00 2001 From: Azalea <22280294+hykilpikonna@users.noreply.github.com> Date: Wed, 11 Oct 2023 18:54:27 -0400 Subject: [PATCH 05/16] [-] importlib-resources is not needed --- pyproject.toml | 3 +-- src/CLAPWrapper.py | 4 ++-- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 8176f37..9a25482 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -7,7 +7,7 @@ license = "MIT" readme = "README.md" [tool.poetry.dependencies] -python = "^3.9" +python = "^3.8" librosa = "^0.10.1" numpy = ">=1.25.0,<1.26.0" numba = ">=0.58.0,<0.59.0" @@ -20,7 +20,6 @@ tqdm = "^4.66.1" transformers = "^4.34.0" pyyaml = "^6.0.1" scikit-learn = "^1.3.1" -importlib-resources = ">=5.12.0,<5.13.0" [build-system] diff --git a/src/CLAPWrapper.py b/src/CLAPWrapper.py index 0755bf1..654e775 100644 --- a/src/CLAPWrapper.py +++ b/src/CLAPWrapper.py @@ -1,3 +1,4 @@ +from pathlib import Path import warnings warnings.filterwarnings("ignore") import random @@ -12,7 +13,6 @@ import math import torchaudio.transforms as T import os import torch -from importlib_resources import files import argparse import yaml import sys @@ -41,7 +41,7 @@ class CLAPWrapper(): def get_config_path(self, version): if version in self.supported_versions: - return files('configs').joinpath(f"config_{version}.yml").read_text() + return (Path(__file__).parent / f"configs/config_{version}.yml").read_text() else: raise ValueError(f"The specific version is not supported. The supported versions are {str(self.supported_versions)}") From ea5629de26ee6a9f288f28b1819612ea47e05e86 Mon Sep 17 00:00:00 2001 From: Azalea <22280294+hykilpikonna@users.noreply.github.com> Date: Wed, 11 Oct 2023 18:54:51 -0400 Subject: [PATCH 06/16] [O] Allow backward-compatibility for torch state dict --- src/CLAPWrapper.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/CLAPWrapper.py b/src/CLAPWrapper.py index 654e775..06b3f67 100644 --- a/src/CLAPWrapper.py +++ b/src/CLAPWrapper.py @@ -98,7 +98,7 @@ class CLAPWrapper(): # We unwrap the DDP model and save. If the model is not unwrapped and saved, then the model needs to unwrapped before `load_state_dict`: # Reference link: https://discuss.pytorch.org/t/how-to-load-dataparallel-model-which-trained-using-multiple-gpus/146005 - clap.load_state_dict(model_state_dict) + clap.load_state_dict(model_state_dict, strict=False) clap.eval() # set clap in eval mode tokenizer = AutoTokenizer.from_pretrained(args.text_model) From eeaa2a3a34f405cae9eb3ebfc22c2192932d701e Mon Sep 17 00:00:00 2001 From: Azalea <22280294+hykilpikonna@users.noreply.github.com> Date: Wed, 11 Oct 2023 18:56:18 -0400 Subject: [PATCH 07/16] [O] Use relative imports, remove unused imports --- src/CLAPWrapper.py | 4 ++-- src/models/audio.py | 2 +- src/models/htsat.py | 14 +++----------- src/models/mapper.py | 3 +-- src/models/pytorch_utils.py | 2 -- 5 files changed, 7 insertions(+), 18 deletions(-) diff --git a/src/CLAPWrapper.py b/src/CLAPWrapper.py index 06b3f67..542ab6f 100644 --- a/src/CLAPWrapper.py +++ b/src/CLAPWrapper.py @@ -7,8 +7,8 @@ import collections import re import numpy as np from transformers import AutoTokenizer, logging -from models.clap import CLAP -from models.mapper import get_clapcap +from .models.clap import CLAP +from .models.mapper import get_clapcap import math import torchaudio.transforms as T import os diff --git a/src/models/audio.py b/src/models/audio.py index 6735b55..9d3749a 100644 --- a/src/models/audio.py +++ b/src/models/audio.py @@ -2,7 +2,7 @@ import torch import torch.nn as nn import torch.nn.functional as F from torchlibrosa.stft import Spectrogram, LogmelFilterBank -from models.htsat import HTSATWrapper +from .htsat import HTSATWrapper def get_audio_encoder(name: str): if name == "Cnn14": diff --git a/src/models/htsat.py b/src/models/htsat.py index 7a4f528..1504c00 100644 --- a/src/models/htsat.py +++ b/src/models/htsat.py @@ -6,11 +6,8 @@ # Swin Transformer for Computer Vision: https://arxiv.org/pdf/2103.14030.pdf -import logging -import pdb import math import random -from numpy.core.fromnumeric import clip, reshape import torch import torch.nn as nn import torch.utils.checkpoint as checkpoint @@ -19,15 +16,10 @@ from torchlibrosa.stft import Spectrogram, LogmelFilterBank from torchlibrosa.augmentation import SpecAugmentation from itertools import repeat -from typing import List -try: - from models.pytorch_utils import do_mixup, interpolate - import models.config as config -except: - from CLAP_API.models.pytorch_utils import do_mixup, interpolate - from CLAP_API.models import config -import torch.nn.functional as F +from .pytorch_utils import do_mixup, interpolate +from . import config + import collections.abc import warnings diff --git a/src/models/mapper.py b/src/models/mapper.py index 6ad3733..fd62b93 100644 --- a/src/models/mapper.py +++ b/src/models/mapper.py @@ -2,10 +2,9 @@ import torch import torch.nn as nn from torch.nn import functional as nnf -from torch.utils.data import Dataset, DataLoader from enum import Enum from transformers import GPT2LMHeadModel -from typing import Tuple, Optional, Union +from typing import Tuple, Optional def get_clapcap(name: str): if name == "ClapCaption": diff --git a/src/models/pytorch_utils.py b/src/models/pytorch_utils.py index 453d3ce..eadf619 100644 --- a/src/models/pytorch_utils.py +++ b/src/models/pytorch_utils.py @@ -1,5 +1,3 @@ -import numpy as np -import time import torch import torch.nn as nn From 23519ea1e63a10f195803de05dc1cd7005e103cc Mon Sep 17 00:00:00 2001 From: Azalea <22280294+hykilpikonna@users.noreply.github.com> Date: Wed, 11 Oct 2023 18:56:30 -0400 Subject: [PATCH 08/16] [U] Update usage instructions --- README.md | 18 ++++++------------ 1 file changed, 6 insertions(+), 12 deletions(-) diff --git a/README.md b/README.md index b660cbf..5ecd491 100644 --- a/README.md +++ b/README.md @@ -8,16 +8,10 @@ CLAP (Contrastive Language-Audio Pretraining) is a model that learns acoustic co ## Setup -Install the dependencies: `pip install -r requirements.txt` using Python 3 to get started. - -If you have [conda](https://www.anaconda.com) installed, you can run the following: +First, install python 3.8 or higher (3.11 recommended). Then, install CLAP: ```shell -git clone https://github.com/microsoft/CLAP.git && \ -cd CLAP && \ -conda create -n clap python=3.10 && \ -conda activate clap && \ -pip install -r requirements.txt +pip install git+https://github.com/microsoft/CLAP.git ``` ## NEW CLAP weights @@ -31,9 +25,9 @@ In `CLAP\src\`: - Zero-Shot Classification and Retrieval ```python -# Load model (Choose between versions '2022' or '2023') -from CLAPWrapper import CLAPWrapper as CLAP +from msclap import CLAP +# Load model (Choose between versions '2022' or '2023') clap_model = CLAP("", version = '2023', use_cuda=False) # Extract text embeddings @@ -48,9 +42,9 @@ similarities = clap_model.compute_similarity(audio_embeddings, text_embeddings) - Audio Captioning ```python -# Load model (Choose version 'clapcap') -from CLAPWrapper import CLAPWrapper as CLAP +from msclap import CLAP +# Load model (Choose version 'clapcap') clap_model = CLAP("", version = 'clapcap', use_cuda=False) # Generate audio captions From f177c8203ebb6a7e052cdfc0654d97964c6c7482 Mon Sep 17 00:00:00 2001 From: Azalea <22280294+hykilpikonna@users.noreply.github.com> Date: Wed, 11 Oct 2023 19:23:08 -0400 Subject: [PATCH 09/16] [O] Ignore build files and macOS files --- .gitignore | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.gitignore b/.gitignore index dfcfd56..88f9b6f 100644 --- a/.gitignore +++ b/.gitignore @@ -348,3 +348,6 @@ MigrationBackup/ # Ionide (cross platform F# VS Code tools) working folder .ionide/ +dist/ +.DS_Store +._* \ No newline at end of file From 3788d4e225b7a76ddbb600f1df22dd67cea05009 Mon Sep 17 00:00:00 2001 From: Azalea <22280294+hykilpikonna@users.noreply.github.com> Date: Wed, 11 Oct 2023 19:24:31 -0400 Subject: [PATCH 10/16] [M] Symlink isn't handled, rename directory instead --- msclap | 1 - {src => msclap}/CLAPWrapper.py | 0 {src => msclap}/__init__.py | 0 {src => msclap}/audio_captioning.py | 0 {src => msclap}/configs/config_2022.yml | 0 {src => msclap}/configs/config_2023.yml | 0 {src => msclap}/configs/config_clapcap.yml | 0 {src => msclap}/esc50_dataset.py | 0 {src => msclap}/models/__init__.py | 0 {src => msclap}/models/audio.py | 0 {src => msclap}/models/clap.py | 0 {src => msclap}/models/config.py | 0 {src => msclap}/models/htsat.py | 0 {src => msclap}/models/mapper.py | 0 {src => msclap}/models/pytorch_utils.py | 0 {src => msclap}/models/utils.py | 0 {src => msclap}/zero_shot_classification.py | 0 {src => msclap}/zero_shot_predictions.py | 0 pyproject.toml | 3 +++ 19 files changed, 3 insertions(+), 1 deletion(-) delete mode 120000 msclap rename {src => msclap}/CLAPWrapper.py (100%) rename {src => msclap}/__init__.py (100%) rename {src => msclap}/audio_captioning.py (100%) rename {src => msclap}/configs/config_2022.yml (100%) rename {src => msclap}/configs/config_2023.yml (100%) rename {src => msclap}/configs/config_clapcap.yml (100%) rename {src => msclap}/esc50_dataset.py (100%) rename {src => msclap}/models/__init__.py (100%) rename {src => msclap}/models/audio.py (100%) rename {src => msclap}/models/clap.py (100%) rename {src => msclap}/models/config.py (100%) rename {src => msclap}/models/htsat.py (100%) rename {src => msclap}/models/mapper.py (100%) rename {src => msclap}/models/pytorch_utils.py (100%) rename {src => msclap}/models/utils.py (100%) rename {src => msclap}/zero_shot_classification.py (100%) rename {src => msclap}/zero_shot_predictions.py (100%) diff --git a/msclap b/msclap deleted file mode 120000 index e831038..0000000 --- a/msclap +++ /dev/null @@ -1 +0,0 @@ -src \ No newline at end of file diff --git a/src/CLAPWrapper.py b/msclap/CLAPWrapper.py similarity index 100% rename from src/CLAPWrapper.py rename to msclap/CLAPWrapper.py diff --git a/src/__init__.py b/msclap/__init__.py similarity index 100% rename from src/__init__.py rename to msclap/__init__.py diff --git a/src/audio_captioning.py b/msclap/audio_captioning.py similarity index 100% rename from src/audio_captioning.py rename to msclap/audio_captioning.py diff --git a/src/configs/config_2022.yml b/msclap/configs/config_2022.yml similarity index 100% rename from src/configs/config_2022.yml rename to msclap/configs/config_2022.yml diff --git a/src/configs/config_2023.yml b/msclap/configs/config_2023.yml similarity index 100% rename from src/configs/config_2023.yml rename to msclap/configs/config_2023.yml diff --git a/src/configs/config_clapcap.yml b/msclap/configs/config_clapcap.yml similarity index 100% rename from src/configs/config_clapcap.yml rename to msclap/configs/config_clapcap.yml diff --git a/src/esc50_dataset.py b/msclap/esc50_dataset.py similarity index 100% rename from src/esc50_dataset.py rename to msclap/esc50_dataset.py diff --git a/src/models/__init__.py b/msclap/models/__init__.py similarity index 100% rename from src/models/__init__.py rename to msclap/models/__init__.py diff --git a/src/models/audio.py b/msclap/models/audio.py similarity index 100% rename from src/models/audio.py rename to msclap/models/audio.py diff --git a/src/models/clap.py b/msclap/models/clap.py similarity index 100% rename from src/models/clap.py rename to msclap/models/clap.py diff --git a/src/models/config.py b/msclap/models/config.py similarity index 100% rename from src/models/config.py rename to msclap/models/config.py diff --git a/src/models/htsat.py b/msclap/models/htsat.py similarity index 100% rename from src/models/htsat.py rename to msclap/models/htsat.py diff --git a/src/models/mapper.py b/msclap/models/mapper.py similarity index 100% rename from src/models/mapper.py rename to msclap/models/mapper.py diff --git a/src/models/pytorch_utils.py b/msclap/models/pytorch_utils.py similarity index 100% rename from src/models/pytorch_utils.py rename to msclap/models/pytorch_utils.py diff --git a/src/models/utils.py b/msclap/models/utils.py similarity index 100% rename from src/models/utils.py rename to msclap/models/utils.py diff --git a/src/zero_shot_classification.py b/msclap/zero_shot_classification.py similarity index 100% rename from src/zero_shot_classification.py rename to msclap/zero_shot_classification.py diff --git a/src/zero_shot_predictions.py b/msclap/zero_shot_predictions.py similarity index 100% rename from src/zero_shot_predictions.py rename to msclap/zero_shot_predictions.py diff --git a/pyproject.toml b/pyproject.toml index 9a25482..2ec934e 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -5,6 +5,9 @@ description = "CLAP (Contrastive Language-Audio Pretraining) is a model that lea authors = ["Benjamin Elizalde and Soham Deshmukh and Huaming Wang"] license = "MIT" readme = "README.md" +packages = [ + { include = "msclap" }, +] [tool.poetry.dependencies] python = "^3.8" From b41935ff3ce5f11ebc27ff6bb6bdd2a671546718 Mon Sep 17 00:00:00 2001 From: Azalea <22280294+hykilpikonna@users.noreply.github.com> Date: Wed, 11 Oct 2023 19:26:05 -0400 Subject: [PATCH 11/16] [M] Move examples to /examples --- {msclap => examples}/audio_captioning.py | 0 {msclap => examples}/esc50_dataset.py | 0 {msclap => examples}/zero_shot_classification.py | 0 {msclap => examples}/zero_shot_predictions.py | 0 4 files changed, 0 insertions(+), 0 deletions(-) rename {msclap => examples}/audio_captioning.py (100%) rename {msclap => examples}/esc50_dataset.py (100%) rename {msclap => examples}/zero_shot_classification.py (100%) rename {msclap => examples}/zero_shot_predictions.py (100%) diff --git a/msclap/audio_captioning.py b/examples/audio_captioning.py similarity index 100% rename from msclap/audio_captioning.py rename to examples/audio_captioning.py diff --git a/msclap/esc50_dataset.py b/examples/esc50_dataset.py similarity index 100% rename from msclap/esc50_dataset.py rename to examples/esc50_dataset.py diff --git a/msclap/zero_shot_classification.py b/examples/zero_shot_classification.py similarity index 100% rename from msclap/zero_shot_classification.py rename to examples/zero_shot_classification.py diff --git a/msclap/zero_shot_predictions.py b/examples/zero_shot_predictions.py similarity index 100% rename from msclap/zero_shot_predictions.py rename to examples/zero_shot_predictions.py From bb3bfb4e5bf9bc556beb6cef2300f5cfe68949a4 Mon Sep 17 00:00:00 2001 From: Azalea <22280294+hykilpikonna@users.noreply.github.com> Date: Wed, 11 Oct 2023 19:55:08 -0400 Subject: [PATCH 12/16] [F] Fix examples --- examples/audio_captioning.py | 4 ++-- examples/zero_shot_classification.py | 4 ++-- examples/zero_shot_predictions.py | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/examples/audio_captioning.py b/examples/audio_captioning.py index fded5c2..e1c78f1 100644 --- a/examples/audio_captioning.py +++ b/examples/audio_captioning.py @@ -1,11 +1,11 @@ """ This is an example using CLAPCAP for audio captioning. """ -from CLAPWrapper import CLAPWrapper +from msclap import CLAP # Load and initialize CLAP weights_path = "weights_path" -clap_model = CLAPWrapper(weights_path, version = 'clapcap', use_cuda=False) +clap_model = CLAP(weights_path, version = 'clapcap', use_cuda=False) #Load audio files audio_files = ['audio_file'] diff --git a/examples/zero_shot_classification.py b/examples/zero_shot_classification.py index 64c4ed2..e845ce8 100644 --- a/examples/zero_shot_classification.py +++ b/examples/zero_shot_classification.py @@ -3,7 +3,7 @@ This is an example using CLAP to perform zeroshot classification on ESC50 (https://github.com/karolpiczak/ESC-50). """ -from CLAPWrapper import CLAPWrapper +from msclap import CLAP from esc50_dataset import ESC50 import torch.nn.functional as F import numpy as np @@ -18,7 +18,7 @@ y = [prompt + x for x in dataset.classes] # Load and initialize CLAP weights_path = "weights_path" -clap_model = CLAPWrapper(weights_path, version = '2023', use_cuda=False) +clap_model = CLAP(weights_path, version = '2023', use_cuda=False) # Computing text embeddings text_embeddings = clap_model.get_text_embeddings(y) diff --git a/examples/zero_shot_predictions.py b/examples/zero_shot_predictions.py index da8197d..45b53e9 100644 --- a/examples/zero_shot_predictions.py +++ b/examples/zero_shot_predictions.py @@ -1,7 +1,7 @@ """ This is an example using CLAP for zero-shot inference. """ -from CLAPWrapper import CLAPWrapper +from msclap import CLAP import torch.nn.functional as F # Define classes for zero-shot @@ -17,7 +17,7 @@ audio_files = ['audio_file'] # Load and initialize CLAP weights_path = "weights_path" # Setting use_cuda = True will load the model on a GPU using CUDA -clap_model = CLAPWrapper(weights_path, version = '2023', use_cuda=False) +clap_model = CLAP(weights_path, version = '2023', use_cuda=False) # compute text embeddings from natural text text_embeddings = clap_model.get_text_embeddings(class_prompts) From 9f902c9029f0dc994abe1fd63770bb5a060bc828 Mon Sep 17 00:00:00 2001 From: Azalea <22280294+hykilpikonna@users.noreply.github.com> Date: Wed, 11 Oct 2023 19:59:32 -0400 Subject: [PATCH 13/16] [O] Recover image --- README.md | 2 +- docs/diagram.png | Bin 0 -> 82618 bytes 2 files changed, 1 insertion(+), 1 deletion(-) create mode 100644 docs/diagram.png diff --git a/README.md b/README.md index 5ecd491..c3ddcee 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@ CLAP (Contrastive Language-Audio Pretraining) is a model that learns acoustic concepts from natural language supervision and enables “Zero-Shot” inference. The model has been extensively evaluated in 26 audio downstream tasks achieving SoTA in several of them including classification, retrieval, and captioning. -clap_diagrams +clap_diagrams ## Setup diff --git a/docs/diagram.png b/docs/diagram.png new file mode 100644 index 0000000000000000000000000000000000000000..040e719ddbcd33f565c1c4648b7ece867cd035d9 GIT binary patch literal 82618 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 literal 0 HcmV?d00001 From 765f9f886477f92aa86f5741a1d6d5a9da7d022f Mon Sep 17 00:00:00 2001 From: Azalea <22280294+hykilpikonna@users.noreply.github.com> Date: Wed, 11 Oct 2023 20:06:24 -0400 Subject: [PATCH 14/16] [U] Publish pypi --- README.md | 10 +++++++--- pyproject.toml | 2 +- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index c3ddcee..3351021 100644 --- a/README.md +++ b/README.md @@ -4,13 +4,17 @@ CLAP (Contrastive Language-Audio Pretraining) is a model that learns acoustic concepts from natural language supervision and enables “Zero-Shot” inference. The model has been extensively evaluated in 26 audio downstream tasks achieving SoTA in several of them including classification, retrieval, and captioning. -clap_diagrams +clap_diagrams ## Setup -First, install python 3.8 or higher (3.11 recommended). Then, install CLAP: +First, install python 3.8 or higher (3.11 recommended). Then, install CLAP using either of the following: ```shell +# Install pypi pacakge +pip install msclap + +# Or Install latest (unstable) git source pip install git+https://github.com/microsoft/CLAP.git ``` @@ -52,7 +56,7 @@ captions = clap_model.generate_caption(file_paths: List[str]) ``` ## Examples -Take a look at `CLAP\src\` for usage examples. +Take a look at [examples](./examples/) for usage examples. To run Zero-Shot Classification on the ESC50 dataset try the following: diff --git a/pyproject.toml b/pyproject.toml index 2ec934e..3aee668 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "msclap" -version = "1.3.0" +version = "1.3.1" description = "CLAP (Contrastive Language-Audio Pretraining) is a model that learns acoustic concepts from natural language supervision and enables “Zero-Shot” inference. The model has been extensively evaluated in 26 audio downstream tasks achieving SoTA in several of them including classification, retrieval, and captioning." authors = ["Benjamin Elizalde and Soham Deshmukh and Huaming Wang"] license = "MIT" From 549ef404797bd1f2afc95bb79c6192a19b9ba7a7 Mon Sep 17 00:00:00 2001 From: Azalea <22280294+hykilpikonna@users.noreply.github.com> Date: Wed, 11 Oct 2023 20:54:54 -0400 Subject: [PATCH 15/16] [-] Remove unrelated file in pypi package --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index 3aee668..fd65517 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "msclap" -version = "1.3.1" +version = "1.3.2" description = "CLAP (Contrastive Language-Audio Pretraining) is a model that learns acoustic concepts from natural language supervision and enables “Zero-Shot” inference. The model has been extensively evaluated in 26 audio downstream tasks achieving SoTA in several of them including classification, retrieval, and captioning." authors = ["Benjamin Elizalde and Soham Deshmukh and Huaming Wang"] license = "MIT" From 3f6ef7382f1977a677f54f011c899c2028c03744 Mon Sep 17 00:00:00 2001 From: Azalea <22280294+hykilpikonna@users.noreply.github.com> Date: Thu, 12 Oct 2023 00:14:59 -0400 Subject: [PATCH 16/16] [O] Loosen dependency requirements --- pyproject.toml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index fd65517..4efa066 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -12,9 +12,9 @@ packages = [ [tool.poetry.dependencies] python = "^3.8" librosa = "^0.10.1" -numpy = ">=1.25.0,<1.26.0" -numba = ">=0.58.0,<0.59.0" -pandas = ">=2.0.0,<2.1.0" +numpy = "^1.23.0" +numba = "^0.58.0" +pandas = "^2.0.0" torch = "^2.1.0" torchaudio = "^2.1.0" torchlibrosa = "^0.1.0"