syng/pyproject.toml
Christoph Stahl c2f2682cce Dependency alt-profanity-check is now optional due.
If it is present, it is used otherwise no profanity check is performed.
This is due to the complexity of installing alt-profanity-check and only
affects the server.
2025-02-15 11:34:31 +01:00

96 lines
2.4 KiB
TOML

[tool.poetry]
name = "syng"
version = "2.1.0"
description = "Easily host karaoke events"
authors = ["Christoph Stahl <christoph.stahl@tu-dortmund.de>"]
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"
yarl = "<1.14.0"
platformdirs = "^4.0.0"
yt-dlp = { version = ">=2024.11.18", 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}
mpv = {version = "^1.0.7", optional = true}
qasync = {version = "^0.27.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", "mpv", "qasync"]
[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