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

[project]
name = "dante-ds"
version = "0.3.2"
description = "MCP server + skills that turn Claude Code into a data science workbench"
requires-python = ">=3.11"
dependencies = [
    "sqlalchemy>=2.0",
    "pandas>=2.0",
    "plotly>=5.0",
    "pyyaml>=6.0",
    "click>=8.0",
    "mcp>=1.0",
    "openai>=1.0",
    "tenacity>=8.0",
    "kaleido>=0.2",
]

[project.optional-dependencies]
snowflake = ["snowflake-sqlalchemy>=1.5"]
databricks = ["databricks-sql-connector>=3.0"]
bigquery = ["sqlalchemy-bigquery>=1.8"]
postgres = ["psycopg2-binary>=2.9"]
mysql = ["pymysql>=1.1"]
looker = ["looker-sdk>=24.0"]
all = [
    "dante-ds[snowflake,databricks,bigquery,postgres,mysql,looker]",
]
dev = [
    "pytest>=8.0",
    "pytest-asyncio>=0.23",
]

[project.scripts]
dante = "dante.cli:main"

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

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