pyproject.toml•1.73 kB
[build-system]
requires = [
"hatchling",
"wheel"
]
build-backend = "hatchling.build"
[project]
name = "stac-mcp"
version = "1.0.0"
description = "An MCP Server for STAC requests"
readme = "README.md"
license = {text = "Apache-2.0"}
authors = [
{name = "BnJam"}
]
classifiers = [
"Development Status :: 3 - Alpha",
"Intended Audience :: Developers",
"License :: OSI Approved :: Apache Software License",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
]
requires-python = ">=3.11"
dependencies = [
"mcp>=1.0.0",
"pydantic>=2.11.0",
"pystac-client>=0.7.0",
"pystac>=1.8.0",
"anyio>=3.7.0",
"xarray>=2023.1.0",
"odc-stac>=0.3.0",
"shapely>=2.0.0",
# Use rasterio for raster IO; avoid direct GDAL binding to prevent libgdal mismatches
"rasterio>=1.3.9",
"coverage>=7.10.7",
"certifi>=2025.10.5",
]
[project.optional-dependencies]
dev = [
"pytest>=7.0.0",
"pytest-asyncio>=0.21.0",
"black>=23.0.0",
"ruff>=0.1.0",
]
[project.scripts]
stac-mcp = "stac_mcp.server:cli_main"
[tool.hatch.build]
where = ["."]
include = ["stac_mcp*"]
[tool.black]
line-length = 88
target-version = ['py312']
[tool.ruff]
line-length = 88
target-version = "py312"
lint.select = ["E", "F", "W", "I", "N", "UP", "YTT", "S", "BLE", "B", "A", "COM", "C4", "DTZ", "T10", "EM", "EXE", "ISC", "ICN", "G", "INP", "PIE", "T20", "PYI", "PT", "Q", "RSE", "RET", "SLF", "SIM", "TID", "TCH", "ARG", "PTH", "ERA", "PD", "PGH", "PL", "TRY", "NPY", "RUF"]
lint.ignore = ["S101", "T201", "PLR0913", "PLR0912", "PLR0915"]
[tool.pytest.ini_options]
asyncio_mode = "auto"
testpaths = ["tests"]