{
 "recipe": "news-bot",
 "version": "0.3",
 "status": "test-built",
 "snapshot": "2026-10-12",
 "answers": {
  "use": "commercial",
  "budget": "free",
  "credit": "ok",
  "agent": "claude-code",
  "summary": "off",
  "text_lang": "en"
 },
 "tested": {
  "on": "2026-10-12",
  "same_parts": true,
  "differs_in": []
 },
 "parts": [
  {
   "role": "runtime",
   "name": "Runtime",
   "pick": "x:python312-bot",
   "title": "Python 3.12",
   "url": "https://www.python.org/downloads/",
   "version": null,
   "kind": null,
   "reach": "builtin",
   "warnings": [],
   "chosen_by": "recipe",
   "item": null,
   "alternatives": []
  },
  {
   "role": "telegram",
   "name": "Telegram library",
   "pick": "tool:aiogram",
   "title": "aiogram",
   "url": "https://agentgid.com/tools/aiogram/",
   "version": "3.31.0",
   "kind": "pip",
   "reach": "package",
   "warnings": [],
   "chosen_by": "recipe",
   "item": null,
   "alternatives": [
    "tool:python-telegram-bot"
   ]
  },
  {
   "role": "feeds",
   "name": "Feed reading",
   "pick": "tool:feedparser",
   "title": "feedparser",
   "url": "https://agentgid.com/tools/feedparser/",
   "version": "6.0.14",
   "kind": "pip",
   "reach": "package",
   "warnings": [],
   "chosen_by": "recipe",
   "item": null,
   "alternatives": []
  },
  {
   "role": "schedule",
   "name": "Scheduling",
   "pick": "tool:apscheduler",
   "title": "APScheduler",
   "url": "https://agentgid.com/tools/apscheduler/",
   "version": "3.11.3 up to 4",
   "kind": "pip",
   "reach": "package",
   "warnings": [],
   "chosen_by": "recipe",
   "item": null,
   "alternatives": []
  },
  {
   "role": "knowledge",
   "name": "Library knowledge",
   "pick": "mcp:context7",
   "title": "Context7",
   "url": "https://agentgid.com/mcp/servers/io-github-upstash-context7/",
   "version": "4.3.0",
   "kind": null,
   "reach": "mcp",
   "warnings": [],
   "chosen_by": "recipe",
   "item": null,
   "alternatives": []
  },
  {
   "role": "data",
   "name": "Tool and asset data",
   "pick": "mcp:agentgid",
   "title": "AgentGid",
   "url": "https://agentgid.com/connect/",
   "version": null,
   "kind": null,
   "reach": "mcp",
   "warnings": [],
   "chosen_by": "recipe",
   "item": null,
   "alternatives": []
  },
  {
   "role": "also",
   "name": "Also",
   "pick": "tool:httpx",
   "title": "HTTPX",
   "url": "https://agentgid.com/tools/httpx/",
   "version": "0.28.1",
   "kind": "pip",
   "reach": "package",
   "warnings": [],
   "chosen_by": "recipe",
   "item": null,
   "alternatives": []
  },
  {
   "role": "also",
   "name": "Also",
   "pick": "tool:python-dotenv",
   "title": "python-dotenv",
   "url": "https://agentgid.com/tools/python-dotenv/",
   "version": "1.2.4",
   "kind": "pip",
   "reach": "package",
   "warnings": [],
   "chosen_by": "recipe",
   "item": null,
   "alternatives": []
  },
  {
   "role": "also",
   "name": "Also",
   "pick": "x:tzdata",
   "title": "tzdata",
   "url": "https://pypi.org/project/tzdata/",
   "version": "2026.5",
   "kind": "pip",
   "reach": "package",
   "warnings": [],
   "chosen_by": "recipe",
   "item": null,
   "alternatives": []
  },
  {
   "role": "also",
   "name": "Also",
   "pick": "tool:pytest",
   "title": "pytest",
   "url": "https://agentgid.com/tools/pytest/",
   "version": "9.1.1",
   "kind": "pip",
   "reach": "package",
   "warnings": [],
   "chosen_by": "recipe",
   "item": null,
   "alternatives": []
  }
 ],
 "install": [
  "uv venv --seed --python 3.12 .venv && source .venv/bin/activate   # uv fetches Python 3.12 if it is missing; --seed puts pip into the venv, so the pip line below installs there and not into the system Python",
  "# without uv: python3.12 -m venv .venv && source .venv/bin/activate",
  "python --version   # must print 3.12.x",
  "pip install aiogram==3.31.0 feedparser==6.0.14 \"apscheduler>=3.11.3,<4\" httpx==0.28.1 python-dotenv==1.2.4 tzdata==2026.5 pytest==9.1.1"
 ],
 "checks": [],
 "summary": {
  "parts": 10,
  "roles": 6,
  "fromAgentGid": 8,
  "collected": 2,
  "manual": [],
  "credits": [],
  "paid": [],
  "free": true,
  "blocks": 0,
  "warns": 0,
  "assets": 0,
  "cleared": 0,
  "byHand": []
 }
}
