[project] name = "alabuga-backend" version = "0.1.0" description = "Геймифицированный модуль платформы 'Алабуга'" requires-python = ">=3.13" dependencies = [ "fastapi==0.111.0", "uvicorn[standard]==0.30.1", "SQLAlchemy>=2.0.36,<3", "alembic>=1.14.0,<2", "pydantic==2.9.2", "pydantic-settings==2.10.1", "passlib[bcrypt]==1.7.4", "python-jose[cryptography]==3.3.0", "python-multipart==0.0.9", "bcrypt==4.1.3", "email-validator==2.1.1", "fastapi-pagination==0.12.24", "Jinja2==3.1.4" ] [project.optional-dependencies] dev = [ "pytest==8.2.2", "pytest-asyncio==0.23.7", "httpx==0.27.0", "coverage==7.5.3", "black==24.4.2", "isort==5.13.2", "ruff==0.4.7", "mypy==1.10.0" ] [tool.black] line-length = 100 target-version = ["py313"] [tool.isort] profile = "black" line_length = 100 [tool.ruff] line-length = 100 select = ["E", "F", "I", "N", "UP", "B", "A", "C4", "T20", "PT", "SIM", "ASYNC"] ignore = ["B008", "SIM105", "SIM108"] [tool.ruff.per-file-ignores] "backend/app/alembic/*" = ["E501"] [tool.mypy] python_version = "3.13" warn_unused_configs = true ignore_missing_imports = true pretty = true show_error_codes = true