[project]
name = "ar-search-ingest"
version = "0.1.0"
description = "updates Opensearch content-search with CDC changes from AR DB for selected tables."
readme = "README.md"
requires-python = "~=3.13.0"
dependencies = [
  "datadog-lambda>=8.125.0",
  "lambdacommon==7.1.0",
  "aws-kinesis-agg==1.2.3",
  "opensearch-py==3.2.0",
  "secrets_manager==1.4.6",
  "aws-lambda-powertools==3.23.0",
]

[dependency-groups]
dev = [
  "ruff==0.12.0",
  "pytest>=9.0.3",
  "pytest-mock==3.15.1",
  "pytest-cov>=7.1.0",
  "mypy==1.16.1",
  "yamllint==1.35.1",
  "types-requests==2.32.4.20250913",
  "types-python-dateutil==2.9.0.20251115",
]

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

[tool.uv]
override-dependencies = [
    "protobuf~=6.33.5",
    "pyjwt>=2.13.0",
    "requests~=2.34.2",
    "pygments~=2.20.0",
    "idna~=3.15"
]

[tool.ruff]
line-length = 100
src = ["src", "tests"]

[tool.ruff.lint]
select = ["E", "F", "I", "D"]
ignore = ["D203", "D213"]

[tool.mypy]
python_version = "3.13"
check_untyped_defs = true
disallow_untyped_defs = true
ignore_missing_imports = true
exclude = ["(^|/)\\.venv/",
]
mypy_path = ["src"]
explicit_package_bases = false
namespace_packages = false

[tool.pytest.ini_options]
pythonpath = [
    "."
]
