pyproject.toml
Rama main · réplica de lectura del repositorio original.
[project]
name = "syng"
version = "2.4.4.dev1"
description = "Easily host karaoke events"
license = "AGPL-3.0-or-later"
readme = "README.md"
requires-python = ">=3.12"
authors = [
{ name = "Christoph Stahl", email = "christoph.stahl@tu-dortmund.de" }
]
keywords = ["karaoke", "youtube", "web", "audio", "video", "player", "qt"]
classifiers = [
"Development Status :: 5 - Production/Stable",
"Environment :: Web Environment",
"Environment :: X11 Applications :: Qt",
"Framework :: AsyncIO",
"Intended Audience :: End Users/Desktop",
"Operating System :: POSIX :: Linux",
"Programming Language :: Python :: 3.12",
"Topic :: Multimedia :: Sound/Audio :: Players",
"Topic :: Multimedia :: Video :: Display",
"Typing :: Typed"
]
dependencies = [
"python-socketio>=5.14.3",
"aiohttp>=3.9.1",
"platformdirs>=4.0.0",
"packaging>=25.0",
"pyyaml>=6.0.1",
]
[project.optional-dependencies]
client = [
"minio>=7.2.0",
"pillow>=11.0.0",
"qrcode>=8.2",
"pymediainfo>=6.1.0",
"mpv>=1.0.7",
"pyside6>=6.7.0",
"yt-dlp[default]>=2026.08.19",
]
server = [
"glin-profanity>=3.4.0",
]
[project.urls]
homepage = "https://syng.rocks"
repository = "https://git.k-fortytwo.de/christofsteel/syng"
"Bug Tracker" = "https://github.com/christofsteel/syng/issues"
[project.scripts]
syng = "syng.main:main"
[tool.uv.build-backend]
module-root = ""
source-include = ["syng/static/**"]
[dependency-groups]
dev = [
"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",
"ruff>=0.14.3",
]
[build-system]
requires = ["uv_build>=0.9.10,<0.12.0"]
build-backend = "uv_build"
[tool.pylint."MESSAGES CONTROL"]
disable = '''too-many-lines,
too-many-ancestors
'''
[tool.mypy]
mypy_path = "typings"
exclude = "syng/resources.py"
[[tool.mypy.overrides]]
module = [
"yt_dlp",
"yt_dlp.utils.*",
"engineio",
"glin_profanity.*"
]
follow_untyped_imports = true
[tool.ruff]
line-length = 100
exclude = ["syng/resources.py"]
[tool.ruff.lint]
preview = true
select = ["E",
"D",
"DOC",
"F",
"UP",
"B",
"SIM",
"TID",
"I",
"ANN"]
ignore = ["ANN401", "D203", "D213"]
[tool.ruff.lint.flake8-tidy-imports]
ban-relative-imports = "all"
[tool.ruff.lint.pydocstyle]
convention = "google"
[tool.black]
line-length = 100