[project] name = "tgex-backend" version = "0.1.0" description = "Add your description here" readme = "README.md" requires-python = ">=3.13" dependencies = [ "aerich>=0.9.2", "aiogram>=3.16.0", "aiolimiter>=1.2.1", "asyncpg>=0.30.0", "beautifulsoup4>=4.14.2", "fastapi>=0.121.0", "fastapi-pagination>=0.15.3", "httpx>=0.28.1", "lxml>=6.0.2", "pydantic-settings>=2.11.0", "pyjwt>=2.10.1", "python-multipart>=0.0.20", "sqlalchemy[asyncio]>=2.0.38", "tortoise-orm>=0.25.1", "tortoise-orm-stubs>=1.0.2", "uvicorn>=0.38.0", ] [dependency-groups] dev = [ "alembic>=1.17.1", "mypy>=1.18.2", "pytest>=8.4.2", "pytest-asyncio>=1.2.0", "ruff>=0.14.4", "ty>=0.0.1a25", "vulture>=2.14", ] [tool.ruff] exclude = [".venv"] target-version = "py313" line-length = 120 [tool.ruff.lint] select = [ "E", # pycodestyle errors "F", # pyflakes "I", # isort "B", # flake8-bugbear "C4", # flake8-comprehensions "UP", # pyupgrade ] ignore = ["B008"] fixable = ["ALL"] unfixable = [] [tool.ruff.format] quote-style = "single" [tool.mypy] strict = true plugins = [ "pydantic.mypy", "sqlalchemy.ext.mypy.plugin" ] exclude = [ "tests/conftest.py" ] [tool.pytest.ini_options] testpaths = ["tests"] pythonpath = ["src", "."] [tool.aerich] tortoise_orm = "shared.datebase_base.TORTOISE_ORM" location = "./migrations" src_folder = "./."