Files
sdb2-backend/pyproject.toml
JSC b66b8e36bb
Some checks failed
Backend CI / lint (push) Failing after 17s
Backend CI / test (push) Failing after 2m32s
feat: Enhance user metrics retrieval by integrating Extraction model and updating related queries
2025-10-04 13:45:36 +02:00

82 lines
2.2 KiB
TOML

[project]
name = "sdb"
version = "2.0.0"
description = "Backend for the SDB v2"
readme = "README.md"
requires-python = ">=3.12"
dependencies = [
"aiosqlite==0.21.0",
"alembic==1.16.5",
"apscheduler==3.11.0",
"bcrypt==5.0.0",
"email-validator==2.3.0",
"fastapi[standard]==0.118.0",
"ffmpeg-python==0.2.0",
"gtts==2.5.4",
"httpx==0.28.1",
"pydantic-settings==2.11.0",
"pyjwt==2.10.1",
"python-socketio==5.14.1",
"pytz==2025.2",
"python-vlc==3.0.21203",
"sqlmodel==0.0.25",
"uvicorn[standard]==0.37.0",
"yt-dlp==2025.9.26",
"asyncpg==0.30.0",
"psycopg[binary]==3.2.10",
"pycaw>=20240210",
"pulsectl>=24.12.0",
]
[tool.uv]
dev-dependencies = [
"coverage==7.10.7",
"faker==37.8.0",
"httpx==0.28.1",
"mypy==1.18.2",
"pytest==8.4.2",
"pytest-asyncio==1.2.0",
"ruff==0.13.3",
]
[tool.mypy]
strict = true
exclude = ["venv", ".venv", "alembic"]
[tool.ruff]
target-version = "py312"
exclude = ["alembic"]
[tool.ruff.lint]
select = ["ALL"]
ignore = ["D100", "D103", "TRY301"]
[tool.ruff.lint.per-file-ignores]
"tests/**/*.py" = [
"S101", # Use of assert detected
"S105", # Possible hardcoded password
"S106", # Possible hardcoded password
"ANN001", # Missing type annotation for function argument
"ANN003", # Missing type annotation for **kwargs
"ANN201", # Missing return type annotation for public function
"ANN202", # Missing return type annotation for private function
"ANN401", # Dynamically typed expressions (typing.Any) are disallowed
"ARG001", # Unused function argument
"ARG002", # Unused method argument
"ARG005", # Unused lambda argument
"BLE001", # Do not catch blind exception
"E501", # Line too long
"PLR2004", # Magic value used in comparison
"PLC0415", # `import` should be at top-level
"SLF001", # Private member accessed
"SIM117", # Use a single `if` statement
"PT011", # `pytest.raises()` is too broad
"PT012", # `pytest.raises()` block should contain a single simple statement
]
[tool.pytest.ini_options]
asyncio_mode = "auto"
filterwarnings = [
"ignore:transaction already deassociated from connection:sqlalchemy.exc.SAWarning",
]