124 lines
2.3 KiB
TOML
124 lines
2.3 KiB
TOML
[project]
|
|
name = "VKResenderAPI"
|
|
version = "0.1.0"
|
|
description = "API for the VK Resender"
|
|
readme = "README.md"
|
|
requires-python = ">=3.13"
|
|
dependencies = [
|
|
# Server
|
|
"celery==5.5.3",
|
|
"fastapi==0.115.12",
|
|
"gunicorn==23.0.0",
|
|
"uvicorn-worker==0.3.0",
|
|
"uvicorn[standard]==0.34.3",
|
|
"orjson==3.10.18",
|
|
"redis[hiredis]==6.2.0",
|
|
# Logging & Metrics
|
|
"python-logging-loki==0.3.1",
|
|
# Requests
|
|
"httpx==0.28.1",
|
|
"aiohttp[speedups]==3.12.11",
|
|
# Database
|
|
"alembic==1.16.1",
|
|
"asyncpg==0.30.0",
|
|
"psycopg==3.2.9",
|
|
"psycopg-c==3.2.9; sys_platform != 'win32'",
|
|
"sqlmodel==0.0.24",
|
|
# Types
|
|
"pydantic[email]==2.11.5",
|
|
"pydantic-extra-types==2.10.5",
|
|
"pydantic-settings==2.9.1",
|
|
"semver==3.0.4",
|
|
# CLI
|
|
"typer-slim==0.16.0",
|
|
]
|
|
|
|
[dependency-groups]
|
|
dev = [
|
|
"celery-types==0.23.0",
|
|
"poethepoet==0.34.0",
|
|
"pre-commit==4.2.0",
|
|
"psycopg[binary]==3.2.9",
|
|
"pyright==1.1.401",
|
|
"ruff==0.11.13",
|
|
"types-pyjwt==1.7.1",
|
|
"types-redis==4.6.0.20241004",
|
|
]
|
|
|
|
[tool.poe.tasks]
|
|
_git = "git add ."
|
|
_lint = "pre-commit run --all-files"
|
|
|
|
lint = ["_git", "_lint"]
|
|
check = "uv pip ls --outdated"
|
|
run = "uv run --directory ./src/ server.py"
|
|
manage = "uv run --directory ./src/ manage.py"
|
|
migrate = "uv run --directory ./src/ alembic revision --autogenerate"
|
|
|
|
[tool.uv]
|
|
required-version = ">=0.7.0"
|
|
dependency-metadata = [
|
|
{ name = "psycopg-c", version = "3.2.9", python = ">=3.8", requires = [
|
|
"psycopg==3.2.9",
|
|
] },
|
|
]
|
|
|
|
[tool.typos.files]
|
|
extend-exclude = ["**/migrations/versions"]
|
|
|
|
[tool.pyright]
|
|
venvPath = "."
|
|
venv = ".venv"
|
|
exclude = ["**/migrations/versions"]
|
|
strictListInference = true
|
|
strictDictionaryInference = true
|
|
strictSetInference = true
|
|
deprecateTypingAliases = true
|
|
typeCheckingMode = "strict"
|
|
pythonPlatform = "All"
|
|
|
|
[tool.ruff]
|
|
target-version = "py313"
|
|
line-length = 79
|
|
fix = true
|
|
|
|
[tool.ruff.lint]
|
|
preview = true
|
|
select = [
|
|
"E",
|
|
"W",
|
|
"F",
|
|
"UP",
|
|
"A",
|
|
"B",
|
|
"C4",
|
|
"SIM",
|
|
"I",
|
|
"S",
|
|
"G",
|
|
"FAST",
|
|
"ASYNC",
|
|
"BLE",
|
|
"INT",
|
|
"ISC",
|
|
"ICN",
|
|
"PYI",
|
|
"INP",
|
|
"RSE",
|
|
"PIE",
|
|
"SLOT",
|
|
"TID",
|
|
"LOG",
|
|
"FBT",
|
|
"DTZ",
|
|
"EM",
|
|
"PERF",
|
|
"RUF",
|
|
]
|
|
ignore = ["RUF029", "S104"]
|
|
|
|
[tool.ruff.format]
|
|
quote-style = "single"
|
|
indent-style = "space"
|
|
docstring-code-format = true
|