[project]
name = "spatial-asset-ingester"
version = "0.1.0"
description = "Tool to ingest spatial audio and metadata into our system."
requires-python = ">=3.13,<3.15"
dependencies = [
    "boto3~=1.42",
    "httpx~=0.28",
    "owsclient~=0.13.1",
    "ows-assets-uploader==4.0.0",
    "pymysql~=1.1",
    "secrets-manager~=1.4.6"
]

[dependency-groups]
dev = [
    "ruff~=0.15",
    "mypy~=1.20",
    "yamllint~=1.38",
]

[tool.uv]
package = false

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

[tool.uv.sources]
ows-assets-uploader = { index = "pde"}

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

[tool.ruff.lint]
select = ["C4", "E", "F", "W", "B", "I", "T20", "TID252", "G", "UP", "SIM", "RUF", "PT", "DTZ", "PERF", "LOG", "RET"]
ignore = ["E501", "T201"]

[tool.mypy]
python_version = "3.13"
strict = true
explicit_package_bases = true
exclude = ["(^|/)\\.venv/", "^build/"]

[[tool.mypy.overrides]]
module = ["boto3.*"]
ignore_missing_imports = true

[[tool.mypy.overrides]]
module = ["pymysql.*"]
ignore_missing_imports = true

[[tool.mypy.overrides]]
module = ["secrets_manager.*"]
ignore_missing_imports = true
