data360-mcp-explorer / pyproject.toml
Hugging Face Deployer
Deploy explorer to Hugging Face Spaces
0d3fd72
Raw
History Blame Contribute Delete
2.21 kB
[project]
name = "data360-mcp"
version = "0.1.2"
description = "Model Context Protocol (MCP) server that gives LLM agents and chatbots direct access to the World Bank's Data360 Platform. Search, validate, and retrieve development indicators—from GDP and poverty to gender equality and climate—with structured metadata and time-series data, without hallucinating values."
readme = "README.md"
requires-python = ">=3.11"
dependencies = [
"fastmcp>=3.4.3",
"prefab-ui>=0.20.2",
"mcp>=1.18.0",
"fastapi>=0.115.0",
"uvicorn[standard]>=0.30.0",
"typer>=0.20.1",
"gunicorn>=23.0.0",
"pydantic-settings>=2.0.0",
"python-dotenv>=1.0.0",
"draco @ git+https://github.com/avsolatorio/draco2.git@data360-mcp",
"pandas>=3.0.0",
"cachetools>=6.2.4",
"scikit-learn>=1.8.0",
"vl-convert-python>=1.9.0.post1",
"huggingface-hub",
"openai",
"Pillow>=10.0.0",
"deepeval>=4.1.0",
]
[build-system]
requires = ["setuptools>=42", 'setuptools-scm']
build-backend = "setuptools.build_meta"
[tool.setuptools.packages.find]
where = ["src"]
[tool.setuptools.package-data]
data360 = ["tool_contract_version.json", "databases.json", "ref_area_groups.json"]
[tool.ruff.lint]
select = ['I', 'UP', 'PL', 'F401']
[[tool.uv.index]]
name = "pypi"
url = "https://pypi.org/simple"
default = true
[tool.pyright]
typeCheckingMode = "standard"
extraPaths = ["packages/data360-mcp-agent/src"]
[tool.poe.tasks.serve]
help = "Run the Data360 MCP server"
cmd = "uv run fastmcp run src/data360/server.py --transport ${transport} --port ${port}"
args = [
{name = "transport", options = ["--transport", "-t"], default = "streamable-http"},
{name = "port", options = ["--port", "-p"], default = "8021"},
]
[tool.poe.tasks.test]
help = "Run tests"
cmd = "pytest"
[tool.poe.tasks.test-cov]
help = "Run tests with coverage"
cmd = "pytest --cov=src/data360 --cov-report=term-missing"
[tool.poe.tasks.licenses]
help = "Regenerate THIRD_PARTY_LICENSES.md"
cmd = "python scripts/generate_licenses.py"
[tool.pytest.ini_options]
testpaths = ["tests"]
python_files = ["test_*.py"]
python_classes = ["Test*"]
python_functions = ["test_*"]
asyncio_mode = "auto"
asyncio_default_fixture_loop_scope = "function"