[project]
name = "commit-ledger-account-contract"
version = "1.0.0"
description = "Lambda function for committing ledger account contracts"
readme = "README.md"
requires-python = "~=3.13.0"
dependencies = [
    "abacus-common-logic~=5.14.1",
    "audience-common[jwtauth,owsclient]==3.3.0",
    "datadog-lambda~=6.106.0",
    "lambdacommon~=6.0.3",
    "owsclient~=0.7.0",
    "psutil~=7.2",
    "python-dotenv~=1.2.2",
    "secrets-manager~=1.4.6",
    "sentry-sdk~=2.14.0",
    "simplejson==3.20.1",
]

[project.urls]
Repository = "https://github.com/theorchard/lambda-abacus"

[dependency-groups]
dev = [
    "pytest~=9.0",
    "pytest-cov~=6.3",
    "pytest-html~=4.1",
    "pytest-jira~=0.3",
    "pytest-mock~=3.14.1",
    "ruff~=0.14",
    "yamllint~=1.37",
]
integration = [
    {include-group = "dev"},
    "mysql-connector-python~=9.1",
    "py==1.11.0",
]

# --- Coverage ---

[tool.coverage.run]
omit = ["tests/*"]

# --- Pytest ---

[tool.pytest.ini_options]
pythonpath = ["."]
testpaths = ["tests"]
norecursedirs = ["env/*"]

# --- Ruff ---

[tool.ruff]
line-length = 88
indent-width = 4

[tool.ruff.lint]
select = ["A", "D", "E", "F", "I", "Q", "W"]
ignore = ["D413", "D203", "D213", "E501"]

[tool.ruff.lint.isort]
combine-as-imports = true
forced-separate = ["tests"]

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

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

# --- uv ---

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