{"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,"search_vec":"'0.2.1':42 '3.10':45 'activ':46 'agent':11,18,56 'ai':2,10,53 'async':37 'backend':39 'capabl':19,58 'creat':25 'current':40 'delet':28 'depend':31 'develop':47 'frequent':49 'functiontoolset':14 'includ':24 'list':22 'manag':23 'plan':5 'provid':12 'pydant':1,9,52 'pydantic-ai':8,51 'python':44 'read':26 'releas':50 'requir':43 'storag':38 'subtask':29 'support':33 'sync':35 'task':55 'todo':3,21,54 'todo/task':4 'todocap':17 'toolset':6,57 'track':32 'updat':27 'version':41","created_at":"2026-04-27T17:01:30.582297+00:00","updated_at":"2026-04-27T17:01:30.582297+00:00","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,"quickstart_score":null,"quickstart_tag":null,"pypi_latest":"0.2.6","cli_name":"","cli_version":null,"type":"library","homepage":null,"github":"https://github.com/vstorm-co/pydantic-ai-todo","docs":"https://github.com/vstorm-co/pydantic-ai-todo#readme","changelog":"https://github.com/vstorm-co/pydantic-ai-todo/releases","pypi":"https://pypi.org/project/pydantic-ai-todo/","npm":null,"openapi_spec":null,"status_page":null,"smithery":null,"categories":["llm-agents","ai-ml","database","serialization"],"base_url":null,"auth_type":null,"provenance":{"verified_status":"passing","verified_at":"2026-06-28","last_verified":"2026-06-28","next_check":"2026-07-29","install_tag":null}}