[project]
name = "expert-kit"
version = "0.1.0"
description = "Add your description here"
readme = "README.md"
requires-python = ">=3.12"
dependencies = [
    "accelerate>=1.6.0",
    "ansible>=11.5.0",
    "ansible-lint>=25.4.0",
    "duckdb>=1.2.1",
    "grpcio>=1.71.0",
    "grpcio-tools>=1.71.0",
    "ipykernel>=6.29.5",
    "matplotlib>=3.10.1",
    "onnx>=1.17.0",
    "onnxscript>=0.2.2",
    "opendal>=0.45.16",
    "polar>=0.0.127",
    "psycopg[pool]>=3.2.7",
    "pydantic>=2.11.4",
    "pyyaml>=6.0.2",
    "ruff>=0.9.10",
    "safetensors>=0.5.3",
    "sympy>=1.14.0",
    "torch==2.7.0",
    "transformers[cu128]>=4.51.3",
    "uvloop>=0.21.0",
]

[project.optional-dependencies]
cpu = ["torch==2.7.0"]
cu128 = ["torch==2.7.0"]


[dependency-groups]
dev = ["ruff>=0.9.10"]

[tool.uv.sources]
torch = [
    { index = "pytorch-cpu", marker = "sys_platform == 'darwin'", extra = "cpu" },
    { index = "pytorch-cu128", marker = "sys_platform != 'darwin'", extra = "cu128" },
]
[[tool.uv.index]]
name = "tuna"
url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple"

[[tool.uv.index]]
name = "pytorch-cpu"
url = "https://download.pytorch.org/whl/cpu"
explicit = true

[[tool.uv.index]]
name = "pytorch-cu128"
url = "https://download.pytorch.org/whl/cu128"
explicit = true

[tool.uv]
conflicts = [[{ extra = "cpu" }, { extra = "cu128" }]]