From 32df0503d0f964575a606f32a81ec94abfd189b7 Mon Sep 17 00:00:00 2001 From: benexl Date: Wed, 31 Dec 2025 13:05:56 +0300 Subject: [PATCH] fix(dependencies): update optional dependencies for platform-specific functionality --- pyproject.toml | 55 +++++++++++++++++++++++--------------------------- uv.lock | 8 ++++++-- 2 files changed, 31 insertions(+), 32 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index d6d0424..e5d3212 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -6,11 +6,11 @@ license = "UNLICENSE" readme = "README.md" requires-python = ">=3.11" dependencies = [ - "click>=8.1.7", - "httpx>=0.28.1", - "inquirerpy>=0.3.4", - "pydantic>=2.11.7", - "rich>=13.9.2", + "click>=8.1.7", + "httpx>=0.28.1", + "inquirerpy>=0.3.4", + "pydantic>=2.11.7", + "rich>=13.9.2", ] [project.scripts] @@ -18,32 +18,27 @@ viu = 'viu_media:Cli' [project.optional-dependencies] standard = [ - "thefuzz>=0.22.1", - "yt-dlp>=2025.7.21", - "pycryptodomex>=3.23.0", - "pypiwin32; sys_platform == 'win32'", # For Windows-specific functionality - "pyobjc; sys_platform == 'darwin'", # For macOS-specific functionality - "dbus-python; sys_platform == 'linux'", # For Linux-specific functionality (e.g., notifications), - "plyer>=2.1.0", - "lxml>=6.0.0" + "thefuzz>=0.22.1", + "yt-dlp>=2025.7.21", + "pycryptodomex>=3.23.0", + "pypiwin32; sys_platform == 'win32'", # For Windows-specific functionality + "pyobjc; sys_platform == 'darwin'", # For macOS-specific functionality + "dbus-python; sys_platform == 'linux'", # For Linux-specific functionality (e.g., notifications), + "plyer>=2.1.0", + "lxml>=6.0.0", ] notifications = [ - "dbus-python>=1.4.0", + "pypiwin32; sys_platform == 'win32'", # For Windows-specific functionality + "pyobjc; sys_platform == 'darwin'", # For macOS-specific functionality + "dbus-python>=1.4.0; sys_platform == 'linux'", "plyer>=2.1.0", ] -mpv = [ - "mpv>=1.0.7", -] +mpv = ["mpv>=1.0.7"] torrent = ["libtorrent>=2.0.11"] lxml = ["lxml>=6.0.0"] discord = ["pypresence>=4.3.0"] -download = [ - "pycryptodomex>=3.23.0", - "yt-dlp>=2025.7.21", -] -torrents = [ - "libtorrent>=2.0.11", -] +download = ["pycryptodomex>=3.23.0", "yt-dlp>=2025.7.21"] +torrents = ["libtorrent>=2.0.11"] [build-system] requires = ["hatchling"] @@ -51,12 +46,12 @@ build-backend = "hatchling.build" [dependency-groups] dev = [ - "pre-commit>=4.0.1", - "pyinstaller>=6.11.1", - "pyright>=1.1.384", - "pytest>=8.3.3", - "pytest-httpx>=0.35.0", - "ruff>=0.6.9", + "pre-commit>=4.0.1", + "pyinstaller>=6.11.1", + "pyright>=1.1.384", + "pytest>=8.3.3", + "pytest-httpx>=0.35.0", + "ruff>=0.6.9", ] [tool.pytest.ini_options] diff --git a/uv.lock b/uv.lock index b6ef044..5806008 100644 --- a/uv.lock +++ b/uv.lock @@ -3768,8 +3768,10 @@ mpv = [ { name = "mpv" }, ] notifications = [ - { name = "dbus-python" }, + { name = "dbus-python", marker = "sys_platform == 'linux'" }, { name = "plyer" }, + { name = "pyobjc", marker = "sys_platform == 'darwin'" }, + { name = "pypiwin32", marker = "sys_platform == 'win32'" }, ] standard = [ { name = "dbus-python", marker = "sys_platform == 'linux'" }, @@ -3801,8 +3803,8 @@ dev = [ [package.metadata] requires-dist = [ { name = "click", specifier = ">=8.1.7" }, + { name = "dbus-python", marker = "sys_platform == 'linux' and extra == 'notifications'", specifier = ">=1.4.0" }, { name = "dbus-python", marker = "sys_platform == 'linux' and extra == 'standard'" }, - { name = "dbus-python", marker = "extra == 'notifications'", specifier = ">=1.4.0" }, { name = "httpx", specifier = ">=0.28.1" }, { name = "inquirerpy", specifier = ">=0.3.4" }, { name = "libtorrent", marker = "extra == 'torrent'", specifier = ">=2.0.11" }, @@ -3815,7 +3817,9 @@ requires-dist = [ { name = "pycryptodomex", marker = "extra == 'download'", specifier = ">=3.23.0" }, { name = "pycryptodomex", marker = "extra == 'standard'", specifier = ">=3.23.0" }, { name = "pydantic", specifier = ">=2.11.7" }, + { name = "pyobjc", marker = "sys_platform == 'darwin' and extra == 'notifications'" }, { name = "pyobjc", marker = "sys_platform == 'darwin' and extra == 'standard'" }, + { name = "pypiwin32", marker = "sys_platform == 'win32' and extra == 'notifications'" }, { name = "pypiwin32", marker = "sys_platform == 'win32' and extra == 'standard'" }, { name = "pypresence", marker = "extra == 'discord'", specifier = ">=4.3.0" }, { name = "rich", specifier = ">=13.9.2" },