[project]
name = "auto-reimbursement-system"
version = "0.1.0"
description = "财务报销自动化系统"
requires-python = ">=3.12"
dependencies = [
    "flask>=3.0",
    "playwright>=1.40",
    "pdfplumber>=0.10",
    "pywin32>=306",
    "llama-index>=0.12.0",
    "llama-index-llms-openai-like==0.7.2",
]

[dependency-groups]
dev = [
    "pytest>=8.0",
    "pytest-cov>=5.0",
    "ruff>=0.9",
    "mypy>=1.14",
    "deptry>=0.22",
    "pre-commit>=4.0",
]

[tool.ruff]
target-version = "py312"
line-length = 120

[tool.ruff.lint]
select = ["E", "F", "W", "I", "N", "UP", "B"]
ignore = ["E501"]

[tool.mypy]
python_version = "3.12"
strict = true
warn_return_any = true
warn_unused_configs = true
ignore_missing_imports = true

[[tool.mypy.overrides]]
module = "tests.*"
ignore_errors = true

[tool.deptry]
ignore_notebooks = true

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