[tool.poetry]
name = "collaborator-report-lambda-process"
version = "0.1.0"
description = ""
authors = ["Collaborators team <collaborators@theorchard.com>"]
readme = "README.md"

[[tool.poetry.source]]
name = "theorchard"
url = "https://pypi.theorchard.io/simple/"
priority = "supplemental"

[tool.poetry.dependencies]
python = "^3.12"
datadog-lambda = "^6.104.0"
pymysql = "^1.1.1"
boto3 = "^1.34.118"
sentry-sdk = "^2.4.0"
pythonfeatures = { version = "7.0.0", source = "theorchard" }
xlsxwriter = "^3.2.0"
lambdacommon = { version = "^4.1.0", source = "theorchard" }
pydantic = "^2.11.7"
bloom-filter2 = "2.0.0"

[tool.poetry.group.dev.dependencies]
pytest = "^9.0.3"
ruff = "^0.12.4"
pytest-cov = "^5.0.0"
mypy = "^1.17.0"
types-pymysql = "^1.1.0.20240524"
boto3-stubs = { extras = ["s3"], version = "^1.34.118" }
python-dotenv = "^1.0.1"
pytest-mock = "^3.15.0"
openpyxl = "^3.1.5"
types-openpyxl = "^3.1.5.20250822"

[tool.ruff]
line-length = 100

[tool.ruff.lint]
# Basic starter config from https://docs.astral.sh/ruff/linter/#rule-selection
select = [
    # pycodestyle
    "E",
    # Pyflakes
    "F",
    # pyupgrade
    "UP",
    # flake8-bugbear
    "B",
    # flake8-simplify
    "SIM",
    # isort
    "I",
]

[[tool.mypy.overrides]]
module = ["pythonfeatures", "xlsxwriter"]
ignore_missing_imports = true

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