diff --git a/pyproject.toml b/pyproject.toml index 5e08e84..bc5117f 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -8,7 +8,7 @@ authors = [ ] requires-python = ">=3.13" dependencies = [ - "spotdl>=4.4.2", + "spotdl>=4.4.4", "streamlit>=1.49.1", ] diff --git a/uv.lock b/uv.lock index 30df8ab..36762fd 100644 --- a/uv.lock +++ b/uv.lock @@ -1,7 +1,10 @@ version = 1 -revision = 4 +revision = 3 requires-python = ">=3.13" +[manifest] +overrides = [{ name = "yt-dlp", specifier = ">=2026.3.17" }] + [[package]] name = "altair" version = "5.5.0" @@ -150,6 +153,15 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/94/35/386550fd60316d1e37eccdda609b074113298f23cef5bddb2049823fe666/dacite-1.9.2-py3-none-any.whl", hash = "sha256:053f7c3f5128ca2e9aceb66892b1a3c8936d02c686e707bee96e19deef4bc4a0", size = 16600, upload-time = "2025-02-05T09:27:24.345Z" }, ] +[[package]] +name = "datastar-py" +version = "1.0.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/43/72/da4a226b6654535483303e50748a8389560ea1bf415a6b6f2c4511eb43d0/datastar_py-1.0.0.tar.gz", hash = "sha256:ca8b4d464c1177f8f0b2c3e3b25b3ee6c9b391793907dd1ad2fce73859ce1fb8", size = 127075, upload-time = "2026-04-17T00:09:03.516Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/18/0a/8f36ea369918e71f6a30fa7108e6cceb9cd23add905e89c576a46cc3ec47/datastar_py-1.0.0-py3-none-any.whl", hash = "sha256:0c99b1871f6152d30518142fba4546ee4cf52f650e243eb97bdbef96776c9e74", size = 19161, upload-time = "2026-04-17T00:09:04.907Z" }, +] + [[package]] name = "deprecated" version = "1.2.18" @@ -609,6 +621,15 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/ec/57/56b9bcc3c9c6a792fcbaf139543cee77261f3651ca9da0c93f5c1221264b/python_dateutil-2.9.0.post0-py2.py3-none-any.whl", hash = "sha256:a8b2bc7bffae282281c8140a97d3aa9c14da0b136dfe83f850eea9a5f7470427", size = 229892, upload-time = "2024-03-01T18:36:18.57Z" }, ] +[[package]] +name = "python-multipart" +version = "0.0.27" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/69/9b/f23807317a113dc36e74e75eb265a02dd1a4d9082abc3c1064acd22997c4/python_multipart-0.0.27.tar.gz", hash = "sha256:9870a6a8c5a20a5bf4f07c017bd1489006ff8836cff097b6933355ee2b49b602", size = 44043, upload-time = "2026-04-27T10:51:26.649Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/99/78/4126abcbdbd3c559d43e0db7f7b9173fc6befe45d39a2856cc0b8ec2a5a6/python_multipart-0.0.27-py3-none-any.whl", hash = "sha256:6fccfad17a27334bd0193681b369f476eda3409f17381a2d65aa7df3f7275645", size = 29254, upload-time = "2026-04-27T10:51:24.997Z" }, +] + [[package]] name = "python-slugify" version = "8.0.4" @@ -860,15 +881,18 @@ wheels = [ [[package]] name = "spotdl" -version = "4.4.3" +version = "4.4.4" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "beautifulsoup4" }, + { name = "datastar-py" }, { name = "fastapi" }, + { name = "jinja2" }, { name = "mutagen" }, { name = "platformdirs" }, { name = "pydantic" }, { name = "pykakasi" }, + { name = "python-multipart" }, { name = "python-slugify", extra = ["unidecode"] }, { name = "pytube" }, { name = "rapidfuzz" }, @@ -882,9 +906,9 @@ dependencies = [ { name = "yt-dlp" }, { name = "ytmusicapi" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/9b/22/9b6ebf3caabc4e16c5fda4754b91b8afc6a3c40d34a0717686752cca38bc/spotdl-4.4.3.tar.gz", hash = "sha256:5fa79fb3a1ac91ce434bb1713734ed2ca9c419d2de859e4031676884f0fe9dc7", size = 3888424, upload-time = "2025-10-08T11:00:50.279Z" } +sdist = { url = "https://files.pythonhosted.org/packages/6e/61/c2a6a6b30244ceff2b386815eb938e77da5c4b7690e164349ee38f8f8ff1/spotdl-4.4.4.tar.gz", hash = "sha256:456b35db13dffdfb93e7a144c4730ed984dc19561eab696eca9c0766eff15a96", size = 4136150, upload-time = "2026-04-29T07:33:46.361Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/03/02/c868f88b57d2152e3675204ef83db445f4d1ee3b987514784c60f55ab1c2/spotdl-4.4.3-py3-none-any.whl", hash = "sha256:9afb8cbc4c8312d5370f97eb610bb569533eb93597d78ea60180219a4b16d0a2", size = 117458, upload-time = "2025-10-08T11:00:48.958Z" }, + { url = "https://files.pythonhosted.org/packages/fd/9b/2c80c27d894c46c626c21b21c265bd53a57bea2a6b1557fd36b6a7ea7c3b/spotdl-4.4.4-py3-none-any.whl", hash = "sha256:e8584e0b346853ef61a27b6aeb1b21a0e3ab0c1fb546102593a8ebf273b7af6a", size = 374805, upload-time = "2026-04-29T07:33:44.432Z" }, ] [[package]] @@ -924,7 +948,7 @@ dependencies = [ [package.metadata] requires-dist = [ - { name = "spotdl", specifier = ">=4.4.2" }, + { name = "spotdl", specifier = ">=4.4.4" }, { name = "streamlit", specifier = ">=1.49.1" }, ] @@ -1159,19 +1183,19 @@ wheels = [ name = "yt-dlp" version = "2026.3.17" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/8b/34/7c6b4e3f89cb6416d2cd7ab6dab141a1df97ab0fb22d15816db2c92148c9/yt_dlp-2026.3.17.tar.gz", hash = "sha256:ba7aa31d533f1ffccfe70e421596d7ca8ff0bf1398dc6bb658b7d9dec057d2c9", size = 3119221, upload-time = "2026-03-17T23:43:00.244282Z" } +sdist = { url = "https://files.pythonhosted.org/packages/8b/34/7c6b4e3f89cb6416d2cd7ab6dab141a1df97ab0fb22d15816db2c92148c9/yt_dlp-2026.3.17.tar.gz", hash = "sha256:ba7aa31d533f1ffccfe70e421596d7ca8ff0bf1398dc6bb658b7d9dec057d2c9", size = 3119221, upload-time = "2026-03-17T23:43:00.244Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/cd/13/5093bcb954878e50f7217fd2ab94282b53934022e4e4a03265582da83bf5/yt_dlp-2026.3.17-py3-none-any.whl", hash = "sha256:32992db94303a8a5d211a183f2174834fe7f8c29d83ed2e7a324eae97a8f26d8", size = 3315134, upload-time = "2026-03-17T23:42:57.863878Z" }, + { url = "https://files.pythonhosted.org/packages/cd/13/5093bcb954878e50f7217fd2ab94282b53934022e4e4a03265582da83bf5/yt_dlp-2026.3.17-py3-none-any.whl", hash = "sha256:32992db94303a8a5d211a183f2174834fe7f8c29d83ed2e7a324eae97a8f26d8", size = 3315134, upload-time = "2026-03-17T23:42:57.863Z" }, ] [[package]] name = "ytmusicapi" -version = "1.11.1" +version = "1.12.0" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "requests" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/e6/6a/48bd2ad11a0b2b1baa2874d6cbf6d58ed1abb442d8a0ed69985d1bd1324c/ytmusicapi-1.11.1.tar.gz", hash = "sha256:364a1b457fa28f85f7fdd9cd8fe16b2d34a98e93cbd1358e31a01fdd5a93a3b9", size = 317409, upload-time = "2025-08-30T19:33:31.264Z" } +sdist = { url = "https://files.pythonhosted.org/packages/4f/16/728305b1e6d100f2f2c696f6de08b3717f3db323bd666a8246397d70bcad/ytmusicapi-1.12.0.tar.gz", hash = "sha256:9a466e633c43e90025b4c3dfa862f0f5677af4eacc8d2052ef9fc8f48cd65140", size = 434631, upload-time = "2026-04-29T18:42:40.503Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/88/ac/a91784a8f9be3eff10959ccd2a680181941194d7ee7da2c7be10e9c32ab5/ytmusicapi-1.11.1-py3-none-any.whl", hash = "sha256:bcaf208fd18c9b5b8971bc4436b17af132a4296de98708049d7638fdba90f6c9", size = 100463, upload-time = "2025-08-30T19:33:29.543Z" }, + { url = "https://files.pythonhosted.org/packages/3d/20/9f1b0ff4c9ed441b2181259ff9c0250a9999ec811b08fe45627842453092/ytmusicapi-1.12.0-py3-none-any.whl", hash = "sha256:4130a3a7a0ab56eeeff33b343c8cf4a2f4ea14c206d96c221a7646ab0e61ebc8", size = 107799, upload-time = "2026-04-29T18:42:38.489Z" }, ]