[tool.poetry] name = "itcloud-backend" version = "0.1.0" description = "Cloud photo and video storage backend" authors = ["ITCloud Team"] [tool.poetry.dependencies] python = "^3.11" fastapi = "^0.109.0" uvicorn = {extras = ["standard"], version = "^0.27.0"} sqlalchemy = {extras = ["asyncio"], version = "^2.0.25"} alembic = "^1.13.1" pydantic = "^2.5.3" pydantic-settings = "^2.1.0" email-validator = "^2.1.0" python-jose = {extras = ["cryptography"], version = "^3.3.0"} passlib = {extras = ["argon2"], version = "^1.7.4"} argon2-cffi = "^23.1.0" python-multipart = "^0.0.6" aiosqlite = "^0.19.0" asyncpg = "^0.29.0" boto3 = "^1.34.34" aioboto3 = "^12.3.0" redis = "^5.0.1" rq = "^1.16.1" pillow = "^10.2.0" python-magic = "^0.4.27" ffmpeg-python = "^0.2.0" loguru = "^0.7.2" httpx = "^0.26.0" cryptography = "^46.0.3" slowapi = "^0.1.9" [tool.poetry.group.dev.dependencies] pytest = "^7.4.4" pytest-asyncio = "^0.23.3" pytest-cov = "^4.1.0" ruff = "^0.1.14" black = "^24.1.1" mypy = "^1.8.0" [build-system] requires = ["poetry-core"] build-backend = "poetry.core.masonry.api" [tool.ruff] line-length = 100 target-version = "py311" [tool.black] line-length = 100 target-version = ["py311"] [tool.pytest.ini_options] asyncio_mode = "auto" testpaths = ["tests"]