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

[project]
name = "arcade-mcp-server"
version = "1.17.0"
description = "Model Context Protocol (MCP) server framework for Arcade.dev"
readme = "README.md"
authors = [{ name = "Arcade.dev" }]
license = { text = "MIT" }
classifiers = [
    "Development Status :: 5 - Production/Stable",
    "Intended Audience :: Developers",
    "License :: OSI Approved :: MIT License",
    "Programming Language :: Python :: 3",
    "Programming Language :: Python :: 3.10",
    "Programming Language :: Python :: 3.11",
    "Programming Language :: Python :: 3.12",
    "Programming Language :: Python :: 3.13",
]
requires-python = ">=3.10"
dependencies = [
    "arcade-core>=4.4.0,<5.0.0",
    "arcade-serve>=3.2.0,<4.0.0",
    "arcade-tdk>=3.6.0,<4.0.0",
    "arcadepy>=1.5.0",
    "pydantic>=2.0.0",
    "fastapi>=0.100.0",
    "uvicorn>=0.30.0",
    "watchfiles>=0.18.0",                      # included with uvicorn, but listed to be explicit
    "sse-starlette>=2.0.0",
    "starlette>=0.37.0",
    "anyio>=4.0.0",
    "python-dotenv>=1.0.0",
    "pydantic-settings>=2.10.1",
    "joserfc>=1.5.0",
    "httpx>=0.27.0,<1.0.0",
]

[project.optional-dependencies]
dev = ["pytest>=8.0.0", "pytest-asyncio>=0.23.0", "mypy>=1.0.0", "ruff>=0.1.0"]

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