Back to articles
SELECTOOLS: Multi-agent graphs, tool calling, RAG, 50 evaluators, PII redaction. All in one pip install.

SELECTOOLS: Multi-agent graphs, tool calling, RAG, 50 evaluators, PII redaction. All in one pip install.

via Dev.toJohn Nichev

Releasing v0.20.1 of selectools , an open-source (Apache-2.0) Python framework for AI agent systems. Supports OpenAI, Anthropic, Gemini, and Ollama. pip install selectools The technical hook: how interrupts work after a human pause LangGraph's interrupt() mechanism re-executes the entire node body on resume. This is by-design and falls out of LangGraph's checkpoint-replay model. The official guidance is to make pre-interrupt side effects idempotent, place expensive work after the interrupt() call, or split side effects into a separate downstream node. It works, but every node that needs human input has to be structured around the resume semantics. It's a leaky abstraction. Selectools uses Python generators instead. The node yields an InterruptRequest . The graph resumes at the exact yield point via generator.send() . Expensive work runs exactly once, with no idempotency contortions required. async def review_node ( state ): analysis = await expensive_llm_analysis ( state . data [ " dra

Continue reading on Dev.to

Opens in a new tab

Read Full Article
2 views

Related Articles