82 lines
2.2 KiB
TOML
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",
|
|
]
|