[tool.poetry] name = "syng" version = "2.0.0" description = "A all-in-one webbased karaoke system with youtube support" authors = ["Christoph Stahl "] license = "GPL3" readme = "README.md" include = ["syng/static"] [tool.poetry.scripts] syng = "syng.main:main" [tool.poetry.dependencies] python = "^3.9" python-socketio = "^5.10.0" aiohttp = "^3.9.1" yt-dlp = { version = "*"} minio = { version = "^7.2.0", optional = true } mutagen = { version = "^1.47.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 } platformdirs = "^4.0.0" packaging = {version = "^23.2", 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" [tool.poetry.extras] client = ["minio", "mutagen", "pillow", "qrcode", "pymediainfo", "pyyaml", "packaging", "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