[project] name = "media-server" version = "0.1.8" description = "REST API server for controlling system-wide media playback" readme = "README.md" license = { text = "MIT" } requires-python = ">=3.10" authors = [ { name = "Alexei Dolgolyov" } ] keywords = ["media", "player", "api", "home-assistant", "fastapi"] classifiers = [ "Development Status :: 4 - Beta", "Environment :: Console", "Framework :: FastAPI", "Intended Audience :: End Users/Desktop", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Topic :: Multimedia :: Sound/Audio", "Topic :: Home Automation", ] dependencies = [ "fastapi>=0.109.0", "uvicorn[standard]>=0.27.0", "pydantic>=2.0", "pydantic-settings>=2.0", "pyyaml>=6.0", "mutagen>=1.47.0", "pillow>=10.0.0", "soundcard>=0.4.0", "numpy>=1.24.0,<2.0", ] [project.optional-dependencies] windows = [ "winsdk>=1.0.0b10", "pywin32>=306", "comtypes>=1.2.0", "pycaw>=20230407", "screen-brightness-control>=0.20.0", "wmi>=1.5.1", "monitorcontrol>=3.0.0", "pystray>=0.19.0", ] dev = [ "pytest>=7.0", "pytest-asyncio>=0.21", "httpx>=0.24", "ruff>=0.4.0", ] [project.urls] Homepage = "https://git.dolgolyov-family.by/alexei.dolgolyov/media-player-server" Repository = "https://git.dolgolyov-family.by/alexei.dolgolyov/media-player-server" Issues = "https://git.dolgolyov-family.by/alexei.dolgolyov/media-player-server/issues" [project.scripts] media-server = "media_server.main:main" [build-system] requires = ["setuptools>=61.0", "wheel"] build-backend = "setuptools.build_meta" [tool.setuptools.packages.find] include = ["media_server*"] [tool.ruff] target-version = "py310" line-length = 120 [tool.ruff.lint] select = ["E", "F", "I", "W"] [tool.ruff.lint.per-file-ignores] # AppleScript string literals contain long lines that cannot be broken "media_server/services/macos_media.py" = ["E501"] [tool.pytest.ini_options] testpaths = ["tests"] asyncio_mode = "auto"