[tool.poetry] name = "syng" version = "2.0.4" description = "Easily host karaoke events" authors = ["Christoph Stahl "] license = "AGPL-3.0-or-later" readme = "README.md" include = ["syng/static"] classifiers = [ "Development Status :: 5 - Production/Stable", "Environment :: Web Environment", "Environment :: X11 Applications :: Qt", "Framework :: AsyncIO", "Intended Audience :: End Users/Desktop", "License :: OSI Approved :: GNU Affero General Public License v3 or later (AGPLv3+)", "Operating System :: POSIX :: Linux", "Programming Language :: Python :: 3.9", "Topic :: Multimedia :: Sound/Audio :: Players", "Topic :: Multimedia :: Video :: Display", "Typing :: Typed" ] homepage = "https://syng.rocks" repository = "https://github.com/christofsteel/syng" keywords = ["karaoke", "youtube", "web", "audio", "video", "player", "qt"] [tool.poetry.scripts] syng = "syng.main:main" [tool.poetry.dependencies] python = "^3.9" python-socketio = "^5.10.0" aiohttp = "^3.9.1" platformdirs = "^4.0.0" yt-dlp = { version = "*", extras=["default"]} minio = { version = "^7.2.0", optional = true } pillow = { version = "^10.1.0", optional = true} qrcode = { version = "^7.4.2", optional = true } pymediainfo = { version = "^6.1.0", optional = true } pyyaml = { version = "^6.0.1", optional = true } alt-profanity-check = {version = "^1.4.1", optional = true} pyqt6 = {version="^6.7.1", optional = true} [tool.poetry.group.dev.dependencies] types-pyyaml = "^6.0.12.12" types-pillow = "^10.1.0.2" mypy = "^1.10.0" pylint = "^3.2.7" requirements-parser = "^0.11.0" [tool.poetry.extras] client = ["minio", "pillow", "qrcode", "pymediainfo", "pyyaml", "pyqt6"] server = ["alt-profanity-check"] [build-system] requires = ["poetry-core"] build-backend = "poetry.core.masonry.api" [tool.pyright] exclude = [ ".venv" ] venvPath = "." venv = ".venv" [tool.pylint."MESSAGES CONTROL"] disable = '''too-many-lines, too-many-ancestors ''' [tool.mypy] mypy_path = "typings" [[tool.mypy.overrides]] module = [ "yt_dlp", "yt_dlp.utils", "pymediainfo", "minio", "qrcode", "engineio", "tkcalendar", "customtkinter", "aiohttp", "tktimepicker", "platformdirs" ] ignore_missing_imports = true [tool.ruff] line-length = 100 [tool.black] line-length = 100