[project]
name = "planet"
version = "0.21.0"
description = "智能星球计划 - 态势感知系统"
requires-python = ">=3.14"
dependencies = [
    "fastapi>=0.109.0",
    "uvicorn[standard]>=0.27.0",
    "sqlalchemy[asyncio]>=2.0.25",
    "asyncpg>=0.29.0",
    "redis>=5.0.1",
    "pydantic>=2.5.0",
    "pydantic-settings>=2.1.0",
    "python-jose[cryptography]>=3.3.0",
    "bcrypt>=4.0.0",
    "passlib[bcrypt]>=1.7.4",
    "python-multipart>=0.0.6",
    "httpx>=0.26.0",
    "beautifulsoup4>=4.12.0",
    "aiofiles>=23.2.1",
    "python-dotenv>=1.0.0",
    "email-validator>=2.1.0",
    "apscheduler>=3.10.4",
    "networkx>=3.0",
]

[tool.uv]
package = false

[dependency-groups]
dev = [
    "black>=24.0.0",
    "pytest>=7.4.0",
    "pytest-asyncio>=0.23.0",
    "ruff>=0.6.0",
]

[tool.black]
line-length = 100
target-version = ["py314"]

[tool.ruff]
line-length = 100
target-version = "py314"
