Files
2026-05-30 01:32:35 +02:00

57 lines
1.3 KiB
TOML

[project]
name = "backend"
version = "0.1.0"
description = "Backend for beavergram"
authors = [
{ name = "h", email = "h@kotikot.com" }
]
requires-python = ">=3.13"
dependencies = [
"kurigram>=2.2.23",
"tgcrypto>=1.2.5",
"asyncpg>=0.30.0",
"sqlmodel>=0.0.22",
"alembic>=1.14.0",
"pydantic-settings>=2.7.0",
"fastapi>=0.115.0",
"uvicorn[standard]>=0.34.0",
"uvloop>=0.21.0",
"rich>=13.9.0",
"dishka>=1.4.0",
"greenlet>=3.1.0",
"fastmcp>=3.3",
]
[build-system]
requires = ["uv_build>=0.11.14,<0.12.0"]
build-backend = "uv_build"
[tool.uv.build-backend]
module-name = ["userbot", "api", "utils", "dependencies"]
[tool.ruff]
target-version = "py313"
[tool.ruff.lint]
select = ["ALL"]
ignore = ["CPY", "D1", "D203", "D212", "COM812", "BLE", "S101", "PT", "RUF001", "RUF002", "RUF003", "TRY301"]
unfixable = ["F401"]
[tool.ruff.lint.per-file-ignores]
"scripts/*" = ["INP"]
"t/*" = ["ALL"]
"*.lock" = ["ALL"]
"migrations/*" = ["INP", "D", "E501"]
"src/api/routers/*" = ["PLR0913", "FBT001", "FBT002"]
"src/api/mcp/*" = ["PLR0913", "FBT001", "FBT002"]
[tool.ruff.lint.pydocstyle]
convention = "google"
[tool.ruff.format]
docstring-code-format = true
skip-magic-trailing-comma = true
[tool.ruff.lint.isort]
split-on-trailing-comma = false