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

[project]
name = "voyageintel"
version = "1.0.0"
description = "Self-hosted MCP server and tactical web app for real-time air, sea, and space tracking with AI-powered queries and an immersive 3D globe."
readme = "README.md"
license = "Apache-2.0"
requires-python = ">=3.10"
authors = [{ name = "0xchamin", email = "chmk90@gmail.com" }]
keywords = ["mcp", "aviation", "satellite", "tracking", "adsb", "cesium", "osint", "hexdb.io", "iss", "military", "flight-tracker",  "maritime", "ais", "vessel", "ships"]
classifiers = [
    "Development Status :: 4 - Beta",
    "Environment :: Web Environment",
    "Intended Audience :: Developers",
    "Intended Audience :: Science/Research",
    "License :: OSI Approved :: Apache Software License",
    "Programming Language :: Python :: 3",
    "Programming Language :: Python :: 3.10",
    "Programming Language :: Python :: 3.11",
    "Programming Language :: Python :: 3.12",
    "Programming Language :: Python :: 3.13",
    "Topic :: Scientific/Engineering :: GIS",
]
dependencies = [
    "fastmcp>=3.1.0",
    "httpx",
    "aiosqlite",
    "aiofiles",
    "skyfield",
    "sgp4",
    "pydantic>=2.0",
    "pydantic-settings",
    "typer[all]",
    "rich",
    "uvicorn",
    "starlette",
    "geopy",
    "litellm>=1.80.0",
    "langfuse",
    "websockets",
]

[project.optional-dependencies]
dev = ["pytest", "pytest-asyncio", "ruff", "coverage"]

[project.scripts]
voyageintel = "voyageintel.cli:app"

[project.urls]
Homepage = "https://github.com/0xchamin/skyintel"
Repository = "https://github.com/0xchamin/skyintel"
Issues = "https://github.com/0xchamin/skyintel/issues"

[tool.hatch.build.targets.wheel]
packages = ["src/voyageintel"]

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

[tool.ruff.lint]
select = ["E", "F", "I", "UP"]

[tool.pytest.ini_options]
testpaths = ["tests"]
asyncio_mode = "auto"
