[project] authors = [{email = "admin@example.com", name = "admin"}] description = "FastAPI project generated using minimal-fastapi-postgres-template." name = "app" version = "0.1.23" requires-python = ">=3.13" dependencies = [ "alembic>=1.18.3,<2", "asyncpg>=0.31.0,<1", "bcrypt>=5.0.0,<6", "fastapi>=0.136.1,<1", "pydantic[email]>=2.13.4,<3", "pydantic-settings>=2.14.1,<3", "pyjwt>=2.11.0,<3", "python-multipart>=0.0.28,<1", "sqlalchemy[asyncio]>=2.0.46,<3", ] [project.optional-dependencies] dev = [ "coverage>=7.14.0,<8", "freezegun>=1.5.5,<2", "greenlet>=3.5.0,<4", "httpx>=0.28.1,<1", "mypy>=2.0.0,<3", "pre-commit>=4.6.0,<5", "pytest>=9.0.3,<10", "pytest-asyncio>=1.0.0,<2", "pytest-cov>=7.1.0,<8", "pytest-xdist>=3.8.0,<4", "ruff>=0.15.12,<1", "isort>=8.0.1,<9", "uvicorn[standard]>=0.46.0,<1", ] [build-system] build-backend = "hatchling.build" requires = ["hatchling"] [tool.pytest.ini_options] addopts = "-vv -n auto --cov --cov-report xml --cov-report term-missing --cov-fail-under=92" asyncio_default_fixture_loop_scope = "session" asyncio_mode = "auto" testpaths = ["app/tests"] [tool.coverage.run] concurrency = ["greenlet"] omit = ["app/tests/*"] source = ["app"] [tool.mypy] python_version = "3.13" strict = true [tool.ruff] target-version = "py313" [tool.ruff.lint] # pycodestyle, pyflakes, isort, pylint, pyupgrade ignore = ["E501"] select = ["E", "F", "I", "PL", "UP", "W"]