[tool.poetry]
name = "fastapi-sqlalchemy-asyncpg"
version = "0.0.6"
description = ""
authors = ["Jakub Miazek <the@grillazz.com>"]
packages = []
license = "MIT"

[tool.poetry.dependencies]
python = "^3.11"
alembic = "*"
asyncpg = "*"
httpx = "*"
pydantic = {version = "*", extras = ["email"]}
sqlalchemy = "*"
fastapi = "*"
uvicorn = { extras = ["standard"], version = "*" }
uvloop = "*"
httptools = "*"
rich = "*"
devtools = { extras = ["pygments"], version = "*" }
black = "*"
safety = "*"
pyupgrade = "*"
ipython = "*"
pytest-cov = "*"
pytest-asyncio = "*"
ruff = "*"
pydantic-settings = "*"
cryptography = "*"
pyjwt = {version = "*", extras = ["cryptography"]}
redis = "*"

[tool.poetry.group.dev.dependencies]
tryceratops = "^1.1.0"

[build-system]
requires = ["poetry-core>=1.0.0"]
build-backend = "poetry.core.masonry.api"

[tool.ruff]
line-length = 120

select = ["E", "F", "UP", "N", "C", "B"]

# Exclude a variety of commonly ignored directories.
exclude = ["alembic",]
# Assume Python 3.10.
target-version = "py311"

[tool.ruff.flake8-quotes]
docstring-quotes = "double"

[tool.ruff.flake8-bugbear]
extend-immutable-calls = ["fastapi.Depends",]

[tool.pytest.ini_options]
addopts = "-v --doctest-modules --doctest-glob=*.md --ignore=alembic"
asyncio_mode = "strict"
env_files = [".env"]

[tool.tryceratops]
exclude = ["alembic",]
