[project]
name = "pingcap-datapipelines"
version = "0.1.0"
description = "GCP-native extract/load pipelines for PingCAP data sources."
readme = "README.md"
requires-python = ">=3.12"
dependencies = [
    "boto3>=1.35.0",
    "databend-driver>=0.20.0",
    "google-cloud-bigquery>=3.25.0",
    "google-cloud-storage>=2.18.0",
    "httpx>=0.27.0",
    "openpyxl>=3.1.5",
    "pyarrow>=16.0.0",
    "pymysql>=1.1.1",
    "pyyaml>=6.0.2",
]

[project.scripts]
pingcap-alert-relay = "pingcap_datapipelines.feishu_alerts:main"
pingcap-pipeline = "pingcap_datapipelines.cli:main"

[project.optional-dependencies]
dev = [
    "pytest>=8.3.0",
    "ruff>=0.6.0",
]

[tool.uv]
package = true

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

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