Docs

LangChain & LangGraph (Python)

Forward LangChain and LangGraph events to Iqrar via a single BaseCallbackHandler subclass — covers LLM lifecycle, tool calls, agent actions, and chain runs.

LangChain-Py and LangGraph-Py share the same callback API (langchain_core.callbacks.BaseCallbackHandler), so a single handler covers both.

Install

pip install "iqrar-agent[langchain]"

Wire it in

from iqrar import Iqrar
from iqrar.adapters.langchain import IqrarCallbackHandler

iqrar = Iqrar(
    org="acme",
    jurisdiction="EU",
    endpoint="https://api.your-deploy.workers.dev",
    capabilities=["consumer_chatbot"],
)
handler = IqrarCallbackHandler(iqrar)

# LangChain
result = chain.invoke(input, config={"callbacks": [handler]})

# LangGraph — same handler
result = graph.invoke(input, config={"callbacks": [handler]})

# Or globally
from langchain.callbacks.manager import set_default_callbacks
set_default_callbacks([handler])

What gets instrumented

LangChain hookIqrar event
on_llm_start / on_chat_model_startagent.invocation.start
on_llm_endagent.invocation.end (with token usage)
on_llm_erroragent.invocation.error
on_tool_startagent.tool.start
on_tool_endagent.tool.end
on_tool_erroragent.tool.error
on_agent_actionagent.step
on_agent_finishagent.finish

Token usage is extracted from response.llm_output.token_usage when the underlying LLM provides it (OpenAI, Anthropic, most provider integrations).

See also

  • · ·
  • The TS equivalent:
© 2026 Cortex Innovations (Pty) Ltd. Iqrar is a working name pending trademark clearance.Powered by Stratafy