{"id":21742,"library":"pydantic-ai-todo","title":"pydantic AI todo","description":"Todo/task planning toolset for pydantic-ai agents. Provides a FunctionToolset and a TodoCapability (agent capability) for todo list management including create, read, update, delete, subtasks, and dependency tracking. Supports both sync and async storage backends. Current version 0.2.1, requires Python >=3.10, active development with frequent releases.","status":"active","version":"0.2.1","language":"python","source_language":"en","source_url":"https://github.com/vstorm-co/pydantic-ai-todo","tags":["pydantic-ai","todo","tasks","agent","toolset","capability"],"install":[{"cmd":"pip install pydantic-ai-todo","lang":"bash","label":"Install from PyPI"}],"dependencies":[{"reason":"Core dependency for agent and toolset functionality (>=1.74.0)","package":"pydantic-ai-slim","optional":false}],"imports":[{"note":"TodoCapability is top-level exported since v0.2.0","wrong":"from pydantic_ai_todo.capabilities import TodoCapability","symbol":"TodoCapability","correct":"from pydantic_ai_todo import TodoCapability"},{"note":"Direct top-level export since v0.1.0","wrong":"from pydantic_ai_todo.toolset import create_todo_toolset","symbol":"create_todo_toolset","correct":"from pydantic_ai_todo import create_todo_toolset"},{"note":"Top-level export for sync in-memory storage","symbol":"MemoryStorage","correct":"from pydantic_ai_todo import MemoryStorage"},{"note":"Top-level export for async in-memory storage","symbol":"AsyncMemoryStorage","correct":"from pydantic_ai_todo import AsyncMemoryStorage"},{"note":"Sync storage protocol, top-level export","symbol":"TodoStorageProtocol","correct":"from pydantic_ai_todo import TodoStorageProtocol"}],"quickstart":{"code":"import os\nfrom pydantic_ai import Agent\nfrom pydantic_ai_todo import TodoCapability, MemoryStorage\n\nstorage = MemoryStorage()\nagent = Agent(\"openai:gpt-4o\", capabilities=[TodoCapability(storage=storage)])\nresult = agent.run_sync(\"Add a task to buy milk\")\nprint(result.data)","lang":"python","description":"Create an agent with todo capability using in-memory storage. Requires OPENAI_API_KEY in environment."},"warnings":[{"fix":"Migrate to TodoCapability: replace create_todo_toolset(storage) with TodoCapability(storage) and pass agent via capabilities=[...].","message":"In v0.2.0, the recommended API changed from create_todo_toolset to TodoCapability. The toolset approach still works but may not receive future updates.","severity":"breaking","affected_versions":"<0.2.0"},{"fix":"Upgrade pydantic-ai-slim to >=1.74.0: pip install \"pydantic-ai-slim>=1.74.0\"","message":"v0.2.1 requires pydantic-ai-slim >=1.74.0 for async get_instructions. Older versions will fail to load the toolset if installed with a lower version.","severity":"breaking","affected_versions":"<0.2.1"},{"fix":"Use the Python API directly; no CLI available.","message":"The CLI (command-line entry point) was removed in v0.1.6. The package is library-only.","severity":"deprecated","affected_versions":">=0.1.6"},{"fix":"Ensure agent can see todo IDs in system prompt. If using custom prompts, include IDs explicitly.","message":"Todo IDs are auto-generated 8-char hex strings. When using update_todo_status or remove_todo, you must provide the exact ID. The system prompt includes ID in format [abc123ef] since v0.1.8.","severity":"gotcha","affected_versions":">=0.1.3"}],"env_vars":null,"last_verified":"2026-04-27T00:00:00.000Z","next_check":"2026-07-26T00:00:00.000Z","problems":[{"fix":"Upgrade: pip install --upgrade pydantic-ai-todo","cause":"Package version too old (pre-0.1.0) or misspelled function name.","error":"ImportError: cannot import name 'create_todo_toolset' from 'pydantic_ai_todo'"},{"fix":"Upgrade pydantic-ai-slim: pip install \"pydantic-ai-slim>=1.74.0\"","cause":"Using an older version of pydantic-ai that doesn't support capabilities (requires pydantic-ai >=0.0.18).","error":"AttributeError: 'Agent' object has no attribute 'capabilities'"},{"fix":"Provide a storage instance: TodoCapability(storage=MemoryStorage())","cause":"Storage parameter is mandatory; omitted when instantiating TodoCapability.","error":"TypeError: TodoCapability.__init__() missing 1 required positional argument: 'storage'"}],"ecosystem":"pypi","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}