[project]
name = "payoneer-webhooks-payee"
version = "1.0.0"
readme = "README.md"
requires-python = ">=3.13"

dependencies = [
    "abacus-common-logic==5.13.2",
    "aws-lambda-powertools~=3.4.1",
    "boto3~=1.36.2",
    "datadog-lambda==6.111.0",
    "lambdacommon==6.0.3",
    "owsclient~=0.5.0",
    "pydantic==2.11.9",
    "python-dotenv==1.2.2",
    "secrets-manager==1.4.6",
    "sentry-sdk==2.14.0"
]

[dependency-groups]
test = [
    "mypy==1.15.0",
    "pytest==9.0.3",
    "pytest-cov==6.0.0",
    "yamllint==1.35.1",
    "polyfactory==2.18.1",
    "ruff~=0.9.2"
]

[tool.uv]
override-dependencies = [
    "flask>=3.1.3",
    "urllib3>=2.7.0",
    "ujson>=5.12.1",
    "idna>=3.15",
]

[[tool.uv.index]]
name = "theorchard"
url = "https://pypi.theorchard.io/pypi/"


[tool.ruff]
line-length = 88

[tool.ruff.format]
quote-style = "single"

[tool.ruff.lint]
select = ["A", "I", "Q"]
ignore = ["D413"]

[tool.ruff.lint.flake8-quotes]
inline-quotes = "single"

[tool.ruff.lint.isort]
combine-as-imports = true
force-sort-within-sections = true
order-by-type = false

[tool.mypy]
python_version = "3.11"
strict = true
show_error_codes = true
plugins = "pydantic.mypy"
disallow_untyped_calls = false
ignore_missing_imports = true

[[tool.mypy.overrides]]
module = [
    "abacus_common_logic.*",
    "boto3.*",
    "lambdacommon.*",
    "secrets_manager.*",
    "snowflake_connector.*",
]
ignore_missing_imports = true
