[build-system] requires = ["setuptools>=77"] build-backend = "setuptools.build_meta" [project] name = "soundtower-controller" version = "0.1.0" description = "Unofficial Samsung Sound Tower BLE desktop controller" readme = "README.md" requires-python = ">=3.11" dependencies = ["bleak>=3,<4", "pyserial>=3.5,<4"] keywords = ["bluetooth", "ble", "speaker", "mx-t40"] classifiers = [ "Development Status :: 3 - Alpha", "Programming Language :: Python :: 3", "Operating System :: Microsoft :: Windows", ] [project.optional-dependencies] diagnostics = [ "winrt-Windows.Devices.Bluetooth; sys_platform == 'win32'", "winrt-Windows.Devices.Bluetooth.Rfcomm; sys_platform == 'win32'", "winrt-Windows.Devices.Enumeration; sys_platform == 'win32'", ] [dependency-groups] dev = ["ruff>=0.15,<0.16", "build>=1.2,<2"] bundle = ["pyinstaller>=6.16,<7; sys_platform == 'win32'"] [project.scripts] soundtower = "controller.cli:main" [tool.setuptools] packages = ["controller"] [tool.ruff] target-version = "py311" line-length = 100 [tool.ruff.lint] select = ["E4", "E7", "E9", "F", "I", "UP"]