Ctrl K
ComunidadGuías…

pyproject.toml

Rama main · réplica de lectura del repositorio original.

Archivo original ↗Preguntar a KiBot
[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