Ctrl K
ComunidadGuías…

pyproject.toml

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

Archivo original ↗Preguntar a KiBot
[project]
name = "downtify"
version = "3.10.0"
description = "Download your Spotify playlists and songs along with album art and metadata in a self-hosted way via Docker"
readme = "README.md"
requires-python = ">=3.11,<3.15"
dependencies = [
    "fastapi>=0.162.0",
    "feedparser>=6.0.14",
    "httpx[socks]>=0.28.1",
    "joserfc>=1.8.0",
    "load-dotenv>=0.1.0",
    "loguru>=0.7.3",
    "mutagen>=1.48.1",
    "requests[socks]>=2.34.2",
    "uvicorn>=0.54.0",
    "websockets>=17.4",
    "yt-dlp>=2026.10.26",
    "ytmusicapi>=1.12.3",
    "zeroconf>=0.153.0",
]

[dependency-groups]
dev = [
    "codeflash>=0.20.6",
    "httpx2>=2.16.0",
    "pytest>=9.2.0",
    "ruff>=0.17.4",
]

[tool.pytest.ini_options]
testpaths = ["tests"]

[tool.uv]
upgrade = true

[tool.ruff]
line-length = 79
# Design-canvas generator scripts (design/), not shipped code.
extend-exclude = ['design']

[tool.ruff.lint]
preview = true
select = ['I', 'F', 'E', 'W', 'PL', 'PT']
extend-ignore = [
    'PLW0717',
]

[tool.ruff.format]
preview = true
quote-style = 'single'

[tool.ruff.lint.per-file-ignores]
"main.py" = ["E501", "PLR0915", "PLR2004", "PLR1702", "PLR0912", "PLR0911"]
"downloader.py" = ["PLC1901"]
"downtify/*.py" = ["E501", "PLR0913", "PLR0917", "PLR2004", "PLW0603", "PLR0911", "PLR0915", "PLR0912", "PLR0916"]
"tests/*.py" = ["PLR2004", "PLC2701", "E501"]

[tool.codeflash]
# All paths are relative to this pyproject.toml's directory.
module-root = "downtify"
tests-root = "tests"
ignore-paths = []
formatter-cmds = ["ruff check --exit-zero --fix $file", "ruff format $file"]