Ctrl K
ComunidadGuías…

pyproject.toml

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

Archivo original ↗Preguntar a KiBot
# One uv-managed environment (.venv in the repo root, Python 3.14) runs the whole stack: cron,
# the systemd watcher, the shell entry points and the tests.  The repo runs in place and is NOT an
# installable package (package = false), so this table only declares dependencies for `uv sync`.
# Also gives ruff / mypy / pytest a shared, conservative baseline so regressions are catchable
# before runtime.

[project]
name = "wangflix"
version = "0"
description = "Self-hosted Linux DVR + media normalization pipeline"
requires-python = ">=3.14"
dependencies = [
    "requests>=2.31",
    "pysubs2>=1.7",
    "srt>=3.5",
    "faster-whisper>=1.2",
    "subliminal>=2.8",
    "ffsubsync>=0.5",
]

[dependency-groups]
dev = [
    "ruff>=0.15",
    "mypy>=1.11",
    "pytest>=7.4",
]

[tool.uv]
package = false

[tool.ruff]
line-length = 100
target-version = "py314"

[tool.ruff.lint]
# Conservative baseline: pyflakes (F — real bugs: unused/undefined names)
# plus pycodestyle errors/warnings (E, W). Style-only rules that the
# existing code intentionally trips are ignored rather than mass-reformatted
# — the point is a green baseline to ratchet from, not a reformat pass.
select = ["E", "F", "W"]
ignore = [
    "E501",  # line length — long descriptive lines / comments are intentional
    "E402",  # import not at top — entry scripts set sys.path / load env first
    "E401",  # multiple imports on one line — a few `import os, sys`
    "E701",  # multiple statements per line — terse guard clauses
    "E741",  # ambiguous single-char name — a couple of legacy loop vars
]

[tool.pytest.ini_options]
testpaths = ["tests"]
addopts = "-q"

[tool.mypy]
# Permissive baseline scoped to the package first (codex: "ratchet
# media_stack/ first"). No disallow_untyped_defs / strict yet.
python_version = "3.14"
files = ["media_stack"]
ignore_missing_imports = true
warn_unused_ignores = true