Files
finance/backend/pyproject.toml
T
k1nq e43428c1a2
Gitea Actions CI / detect (push) Successful in 3s
Gitea Actions CI / Compose & nginx validation (push) Failing after 20s
Gitea Actions CI / Frontend (lint / type / test / build) (push) Failing after 24s
Gitea Actions CI / Backend (lint / type / test / build) (push) Failing after 1m34s
Implement Gitea CI and real statement imports
2026-09-18 17:59:02 +05:00

63 lines
1.4 KiB
TOML

[project]
name = "finance-backend"
version = "0.1.0"
description = "FastAPI backend for the personal zero-based budget tracker MVP"
requires-python = ">=3.14,<3.15"
dependencies = [
"fastapi>=0.115",
"uvicorn[standard]>=0.30",
"pydantic>=2.7",
"pydantic-settings>=2.3",
"email-validator>=2.1",
"sqlalchemy>=2.0.30",
"psycopg[binary]>=3.2",
"alembic>=1.13",
"celery[redis]>=5.4",
"redis>=5.0",
"argon2-cffi>=23.1",
"cryptography>=42.0",
"openpyxl>=3.1",
"defusedxml>=0.7",
"pdfplumber>=0.11",
"python-multipart>=0.0.9",
"boto3>=1.35",
]
[dependency-groups]
dev = [
"pytest>=8.2",
"httpx>=0.27",
"ruff>=0.5",
"mypy>=1.10",
"hypothesis>=6.112",
]
[tool.uv]
package = false
[tool.pytest.ini_options]
pythonpath = ["."]
testpaths = ["tests"]
filterwarnings = ["ignore::DeprecationWarning"]
addopts = "-m 'not private_fixtures'"
markers = [
"private_fixtures: real-statement private suite; run explicitly with -m private_fixtures (never in CI)",
]
[tool.ruff]
line-length = 100
target-version = "py314"
[tool.ruff.lint]
select = ["E", "F", "I", "UP", "B"]
ignore = ["B008"]
[tool.mypy]
python_version = "3.14"
ignore_missing_imports = true
check_untyped_defs = true
no_implicit_optional = true
warn_redundant_casts = true
disable_error_code = ["import-untyped"]
exclude = ["alembic/", "tests/"]