[project]
name = "ml-course-design"
version = "0.1.0"
description = "机器学习 × LLM × Agent 课程设计模板"
readme = "README.md"
requires-python = ">=3.12"
dependencies = [
    "pydantic>=2.10",
    "pandera>=0.21",
    "pydantic-ai>=0.7",
    "polars>=1.0",
    "pandas>=2.2",
    "scikit-learn>=1.5",
    "lightgbm>=4.5",
    "seaborn>=0.13",
    "joblib>=1.4",
    "python-dotenv>=1.0",
    "streamlit>=1.40",
    "plotly>=5.0",
]

[[tool.uv.index]]
name = "tencent"
url = "https://mirrors.cloud.tencent.com/pypi/simple/"
default = true

[[tool.uv.index]]
url = "https://mirrors.aliyun.com/pypi/simple/"

[dependency-groups]
dev = [
    "pytest>=8.0",
    "pytest-asyncio>=1.3",
    "ruff>=0.8",
]

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

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

[tool.ruff]
line-length = 100

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

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