[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"

[project]
name = "azaion-gps-denied-desktop"
version = "0.1.0"
requires-python = ">=3.10"
description = "GPS-denied UAV localization system using visual odometry and satellite imagery matching"
dependencies = [
    "fastapi>=0.109.0",
    "uvicorn[standard]>=0.27.0",
    "pydantic>=2.5.0",
    "sqlalchemy[asyncio]>=2.0.0",
    "asyncpg>=0.29.0",
    "alembic>=1.13.0",
    "numpy>=1.26.0",
    "opencv-python>=4.9.0",
    "sse-starlette>=2.0.0",
    "python-multipart>=0.0.6",
    "httpx>=0.26.0",
    "pyyaml>=6.0",
    "gtsam>=4.2",
]

[project.optional-dependencies]
ml = [
    "tensorrt>=10.0.0",
    "onnxruntime-gpu>=1.17.0",
    "faiss-gpu>=1.7.4",
]
dev = [
    "pytest>=7.4.0",
    "pytest-asyncio>=0.21.0",
    "pytest-cov>=4.1.0",
]

[tool.hatch.build.targets.wheel]
packages = ["models", "components", "helpers", "db", "api"]

