[tool.poetry]
name = "data-processor"
version = "0.1.0"
description = ""
authors = ["Your Name <you@example.com>"]

[tool.poetry.dependencies]
python = "^3.8"
numpy = "^1.21.0"
pandas = "^1.3.5"
jinjasql = "0.1.8"
gunicorn = "^20.1.0"
boto3 = "^1.18.0"
python-dotenv = "^0.19.2"
validate_email = "^1.3"
charset-normalizer = "^2.0.7"
SQLAlchemy = {extras = ["mypy"], version = "^1.4.27"}
psycopg2-binary = "^2.9.2"
requests = "^2.25.1"
requests-aws4auth = "^1.0.1"
facebook-business = "^12.0.1"
pandarallel = "^1.5.2"
colorlog = "^6.6.0"
prometheus-client = "^0.12.0"
fastapi = "^0.71.0"
uvicorn = "^0.16.0"
httpx = "^0.21.3"
python-multipart = "^0.0.5"

[tool.poetry.dev-dependencies]
pytest = "^6.2.5"
pytest-cov = "^3.0.0"
pytest-mock = "^3.6.1"
pytest-env = "^0.6.2"
mypy = "^0.931"
black = "^21.10b0"
flake8 = "^4.0.1"
flake8-bugbear = "^21.9.2"
flake8-tidy-imports = "^4.6.0"
isort = "^5.10.1"
types-requests = "^2.27.5"
types-setuptools = "^57.4.7"
types-toml = "^0.10.3"
moto = {version = ">=2.0.2", extras = ["s3"]}

[tool.black]
line-length = 88
target-version = ["py38"]
include = '\.pyi?$'

[tool.isort]
profile = "black"
combine_as_imports = true

[tool.vulture]
ignore_decorators = ["@app.route", "@app.errorhandler", "@async_task"]
min_confidence = 100
paths = ["service"]
sort_by_size = true

[tool.mypy]
python_version = "3.8"
ignore_missing_imports = true
plugins = ["pydantic.mypy"]

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