[project]
name = "aiops"
version = "0.1.0"
description = "Integrate AI for TiDBCloud Ops Portal."
authors = [
    { name = "Shiori", email = "sihao.yu@pingcapc.com" }
]
dependencies = [
    "fastapi>=0.115.6",
    "pydantic-settings>=2.7.0",
    "pydantic-settings-aws>=0.1.0",
    "boto3>=1.35.84",
    "pyyaml>=6.0.2",
    "dependency-injector>=4.44.0",
    "sqlalchemy[asyncio]>=2.0.41",
    "pymysql>=1.1.1",
    "alembic>=1.16.4",
    "boto3-stubs>=1.35.87",
    "types-pyyaml>=6.0.12.20241221",
    "langchain-core>=1.2.7",
    "langchain-openai>=0.2.14",
    "langchain-aws>=0.2.33",
    "langchain-chroma>=0.2.2",
    "uvicorn>=0.34.0",
    "apscheduler>=3.11.0",
    "types-requests>=2.32.0.20241016",
    "cryptography>=44.0.0",
    "lark-oapi>=1.4.6",
    "jira>=3.8.0",
    "tiktoken>=0.8.0",
    "langchain-deepseek>=0.1.2",
    "ruff>=0.12.7",
    "mypy>=1.17.1",
    "matplotlib>=3.8.0",
    "markdown>=3.0.0",
    "jinja2>=3.1.3",
    "aiomysql>=0.2.0",
    "httpx>=0.28.1",
    "aioboto3>=15.0.0",
    "aiomonitor>=0.7.1",
    "langgraph>=1.0.5",
    "types-aiofiles>=24.1.0.20250708",
    "duckdb>=1.3.2",
    "pandas>=2.3.2",
    "pandas-stubs>=2.3.2.250827",
    "pyarrow>=21.0.0",
    "pytimeparse2>=1.7.1",
    "thefuzz>=0.22.0",
    "python-Levenshtein>=0.25.0",
    "fnvhash>=0.1.0",
    "langchain>=1.2.3",
    "langchain-text-splitters>=1.1.0",
    "pathvalidate>=3.3.1",
    "claude-agent-sdk>=0.1.19",
]
readme = "README.md"
requires-python = ">= 3.12"

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

[tool.uv]
managed = true

[dependency-groups]
dev = [
    "mypy>=1.14.0",
    "ruff>=0.8.4",
    "pytest>=8.4.1",
    "pytest-asyncio>=1.1.0",
]

[tool.hatch.metadata]
allow-direct-references = true

[tool.hatch.build.targets.wheel]
packages = ["aiops"]
