Files
world-intel-mcp/pyproject.toml
T
Marc Shade 2d33ea136a feat: IODA fallback, UCDP timeout fix, PDF export, 18 tests
- infrastructure.py: Add IODA (Georgia Tech) as fallback when Cloudflare
  Radar returns 403 (no API token). Internet outage data now available
  without CLOUDFLARE_API_TOKEN.
- conflict.py: Increase UCDP GED API timeout from 15s to 30s to handle
  slow responses from ucdpapi.pcr.uu.se.
- dashboard/app.py: Add /api/report/pdf endpoint for PDF daily brief
  export via weasyprint (optional dependency).
- pyproject.toml: Add dashboard + pdf optional deps, intel-dashboard
  script entry point, update description for 55 tools.
- tests: Add 11 new tests covering health, sanctions, elections, shipping,
  social, nuclear, infrastructure (IODA fallback + cable health), and
  UCDP conflict. Fix cross-loop asyncio lock issue in conftest.
- Total: 50 tests passing, 55 tools verified.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-24 07:05:58 -05:00

49 lines
1.2 KiB
TOML

[project]
name = "world-intel-mcp"
version = "0.1.0"
description = "World Intelligence MCP Server - real-time global intelligence across 23 domains with 55 MCP tools"
readme = "README.md"
requires-python = ">=3.11"
license = {text = "MIT"}
authors = [
{name = "Phoenix AGI", email = "phoenix@2acrestudios.com"}
]
keywords = ["mcp", "intelligence", "osint", "markets", "geopolitical", "phoenix"]
dependencies = [
"mcp>=1.0.0",
"httpx>=0.27.0",
"pydantic>=2.0.0",
"feedparser>=6.0.0",
"click>=8.1.0",
"jinja2>=3.1.0",
"rich>=13.0.0",
]
[project.optional-dependencies]
dashboard = ["starlette>=0.37.0", "uvicorn>=0.29.0"]
pdf = ["weasyprint>=62.0"]
dev = [
"pytest>=8.0.0",
"pytest-asyncio>=0.23.0",
"pytest-cov>=4.0.0",
"respx>=0.21.0",
]
[project.scripts]
world-intel-mcp = "world_intel_mcp.server:run"
intel = "world_intel_mcp.cli:main"
intel-dashboard = "world_intel_mcp.dashboard.app:run"
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
[tool.hatch.build.targets.wheel]
packages = ["src/world_intel_mcp"]
[tool.pytest.ini_options]
asyncio_mode = "auto"
testpaths = ["src/world_intel_mcp/tests"]
addopts = "-v --tb=short"