Skip to content

Releases: alibaba/loongsuite-python

loongsuite-python 0.7.0

Choose a tag to compare

@sipercai sipercai released this 03 Jul 08:23

loongsuite-python 0.7.0

Installation

pip install loongsuite-distro==0.7.0
loongsuite-bootstrap -a install --version 0.7.0

Package Versions

  • loongsuite-* packages: 0.7.0
  • opentelemetry-* packages: 0.60b1

PyPI packages

The following distributions are built and uploaded to PyPI for this release:

  • loongsuite-otel-util-genai
  • loongsuite-distro
  • loongsuite-site-bootstrap
  • loongsuite-instrumentation-agentscope
  • loongsuite-instrumentation-algotune
  • loongsuite-instrumentation-autogen
  • loongsuite-instrumentation-bfclv4
  • loongsuite-instrumentation-claude-agent-sdk
  • loongsuite-instrumentation-claw-eval
  • loongsuite-instrumentation-crewai
  • loongsuite-instrumentation-dashscope
  • loongsuite-instrumentation-deepagents
  • loongsuite-instrumentation-google-adk
  • loongsuite-instrumentation-hermes-agent
  • loongsuite-instrumentation-langchain
  • loongsuite-instrumentation-langgraph
  • loongsuite-instrumentation-litellm
  • loongsuite-instrumentation-mem0
  • loongsuite-instrumentation-microsoft-agent-framework
  • loongsuite-instrumentation-minisweagent
  • loongsuite-instrumentation-openhands
  • loongsuite-instrumentation-qwen-agent
  • loongsuite-instrumentation-qwenpaw
  • loongsuite-instrumentation-slop-code
  • loongsuite-instrumentation-terminus2
  • loongsuite-instrumentation-vita
  • loongsuite-instrumentation-webarena
  • loongsuite-instrumentation-widesearch
  • loongsuite-instrumentation-wildtool

loongsuite-otel-util-genai

Added

  • Propagate agent name through the gen_ai.agent.name Baggage key during
    start_invoke_agent and automatically apply it to nested GenAI child span
    attributes, including LLM, embedding, tool, retrieval, rerank, memory, entry,
    and ReAct step invocations.

loongsuite-instrumentation-agentscope

Added

  • Add version-aware AgentScope v2 middleware instrumentation while preserving
    AgentScope v1 compatibility.

loongsuite-instrumentation-agno

Removed

  • Remove the direct pydantic runtime dependency from Agno instrumentation.

loongsuite-instrumentation-autogen

Added

  • Add Microsoft AutoGen 0.7.x AgentChat instrumentation.
  • Normalize AutoGen native invoke_agent, create_agent, and execute_tool
    spans to LoongSuite GenAI semantic attributes.
  • Add AgentChat LLM spans via opentelemetry-util-genai
    ExtendedTelemetryHandler.

loongsuite-instrumentation-claude-agent-sdk

Added

  • Capture gen_ai.skill.name, gen_ai.skill.id, gen_ai.skill.description
    and gen_ai.skill.version on the execute_tool span of the built-in
    Skill tool. Skill metadata is read best-effort from the project-level
    SKILL.md frontmatter (located via SystemMessage.data.cwd); skill.id
    is reported as claude:project:<skill-name>. Metadata read failures never
    affect the SDK call.

Fixed

  • Capture Claude Agent SDK session IDs on agent, LLM, and tool spans, and
    preserve active caller context so SDK traces attach to existing caller spans
    instead of being forced to independent roots.

loongsuite-instrumentation-crewai

Fixed

  • Keep the authentication-failure test deterministic by using fake provider
    keys instead of empty keys, avoiding fallback live OpenAI calls in CI. (#232)

loongsuite-instrumentation-dashscope

Fixed

  • Capture image and video URI outputs from MultiModalConversation responses.

loongsuite-instrumentation-deepagents

Added

  • Initial DeepAgents instrumentation that marks create_deep_agent graphs so
    LangChain instrumentation emits an AGENT span for the DeepAgents root.
  • DeepAgents skill-load telemetry: when an agent reads a registered skill's
    top-level SKILL.md through the built-in read_file tool, the tool span
    carries gen_ai.skill.name, gen_ai.skill.id,
    gen_ai.skill.description, and gen_ai.skill.version.

loongsuite-instrumentation-hermes-agent

Fixed

  • Create Hermes ENTRY spans for platform-less AIAgent calls by mirroring
    Hermes session source resolution: platform, HERMES_SESSION_SOURCE, then
    cli. This changes no-platform runs from AGENT-only to ENTRY -> AGENT
    while leaving explicit CLI, IM, TUI, and API Server platform paths unchanged;
    disable the Hermes instrumentation if a process must keep no-platform top
    level agent calls as AGENT-only.

loongsuite-instrumentation-langchain

Added

  • Detect DeepAgents skill loads from read_file tool calls that read a
    registered skill's top-level SKILL.md, and populate gen_ai.skill.*
    attributes on the resulting execute_tool span.

Changed

  • Capture OpenAI-style LangGraph and DeepAgents message dictionaries as
    gen_ai.input.messages on root AGENT spans.
  • Preserve structured LangChain tool call arguments when tool inputs do not use
    input or query, which keeps DeepAgents filesystem read_file arguments
    such as file_path available for skill-load telemetry.

loongsuite-instrumentation-microsoft-agent-framework

Added

  • Add Microsoft Agent Framework instrumentation aligned with LoongSuite GenAI semantic conventions. (#229)

loongsuite-instrumentation-qwen-agent

Fixed

  • Record token usage from Qwen-Agent DashScope response metadata on streaming
    and non-streaming chat spans.
  • Roll up child LLM token usage to Qwen-Agent invoke-agent spans, preserve
    nested agent spans, and record only the final agent answer as output.

loongsuite-python-agent 0.6.0

Choose a tag to compare

@sipercai sipercai released this 05 Jun 02:07

loongsuite-python-agent 0.6.0

Installation

pip install loongsuite-distro==0.6.0
loongsuite-bootstrap -a install --version 0.6.0

Package Versions

  • loongsuite-* packages: 0.6.0
  • opentelemetry-* packages: 0.60b1

PyPI packages

The following distributions are built and uploaded to PyPI for this release:

  • loongsuite-otel-util-genai
  • loongsuite-distro
  • loongsuite-site-bootstrap
  • loongsuite-instrumentation-agentscope
  • loongsuite-instrumentation-algotune
  • loongsuite-instrumentation-bfclv4
  • loongsuite-instrumentation-claude-agent-sdk
  • loongsuite-instrumentation-claw-eval
  • loongsuite-instrumentation-crewai
  • loongsuite-instrumentation-dashscope
  • loongsuite-instrumentation-google-adk
  • loongsuite-instrumentation-hermes-agent
  • loongsuite-instrumentation-langchain
  • loongsuite-instrumentation-langgraph
  • loongsuite-instrumentation-litellm
  • loongsuite-instrumentation-mem0
  • loongsuite-instrumentation-minisweagent
  • loongsuite-instrumentation-openhands
  • loongsuite-instrumentation-qwen-agent
  • loongsuite-instrumentation-qwenpaw
  • loongsuite-instrumentation-slop-code
  • loongsuite-instrumentation-terminus2
  • loongsuite-instrumentation-vita
  • loongsuite-instrumentation-webarena
  • loongsuite-instrumentation-widesearch
  • loongsuite-instrumentation-wildtool

loongsuite

Changed

  • Publish LoongSuite GenAI utilities as loongsuite-otel-util-genai for new
    releases. New LoongSuite distro and instrumentation packages depend on
    loongsuite-otel-util-genai; the previous loongsuite-util-genai
    distribution remains available for existing installations but is no longer
    the package receiving new LoongSuite GenAI utility updates. The Python import
    namespace remains opentelemetry.util.genai.

loongsuite-instrumentation-agno

Removed

  • Drop Agno 1.x support and require Agno 2.x public Agent.run/Agent.arun
    APIs. Users that still depend on Agno 1.x should pin
    loongsuite-instrumentation-agno < 0.6.

Changed

  • Align message content capture with opentelemetry-util-genai controls such as
    OTEL_INSTRUMENTATION_GENAI_CAPTURE_MESSAGE_CONTENT=SPAN_ONLY.
  • Migrate Agno instrumentation to Agno 2.x public Agent.run/Agent.arun
    APIs and opentelemetry-util-genai ExtendedTelemetryHandler.
  • Emit standardized AGENT, LLM, and TOOL GenAI spans for agent runs, model
    calls, streaming calls, async streaming calls, and function executions.

Added

  • Add a DashScope smoke example that exercises non-streaming, streaming, and
    concurrent Agno calls.
  • Add local test requirements for the Agno LoongSuite tox environment.

loongsuite-instrumentation-bfclv4

Added

  • Initial release of loongsuite-instrumentation-bfclv4.
  • ENTRY span around bfcl_eval._llm_response_generation.generate_results.
  • AGENT span around bfcl_eval.model_handler.base_handler.BaseHandler.inference
    with cross-thread OTel context propagation via a narrow patch of
    bfcl_eval._llm_response_generation.ThreadPoolExecutor.
  • STEP spans created by reflectively wrapping each handler's
    _query_FC / _query_prompting (discovered via
    bfcl_eval.constants.model_config.MODEL_CONFIG_MAPPING).
  • Per-call TOOL spans emitted by wrapping
    bfcl_eval.eval_checker.multi_turn_eval.multi_turn_utils.execute_multi_turn_func_call.
  • Provider override mapping for OSS handlers (vLLM / SGLang).
  • Multi-turn bfcl.turn_idx and ReAct gen_ai.react.round tracking via
    contextvars.

loongsuite-instrumentation-crewai

Breaking

  • Align CrewAI GenAI span names with opentelemetry-util-genai
    extended semantic conventions. gen_ai.operation.name now reports
    enter, invoke_agent, or execute_tool; the CrewAI framework operation
    is reported in gen_ai.crewai.operation instead.
  • Replace the legacy gen_ai.system=crewai attribute with
    gen_ai.provider.name=crewai.
  • Use the current content-capture environment values:
    OTEL_SEMCONV_STABILITY_OPT_IN=gen_ai_latest_experimental and
    OTEL_INSTRUMENTATION_GENAI_CAPTURE_MESSAGE_CONTENT=SPAN_ONLY.

Changed

  • Migrate CrewAI entry, task, agent, and tool spans to
    opentelemetry-util-genai ExtendedTelemetryHandler.
  • Keep instrumentation post-processing failures from changing successful
    CrewAI calls into user-visible errors, avoid duplicate nested agent spans,
    and gate content-like CrewAI task and agent attributes behind util-genai
    content capture controls.

Added

  • Add a real CrewAI smoke example covering sync, streaming, and concurrent
    calls for local otel-gui and Robin/ARMS verification.

loongsuite-instrumentation-dashscope

Fixed

  • Fix extraction of gen_ai.output.messages for message-format text responses
    that omit optional tool_calls.

loongsuite-instrumentation-google-adk

Changed

  • Route Google ADK AGENT, LLM, and TOOL spans through
    opentelemetry-util-genai, emitting current GenAI attributes such as
    gen_ai.input.messages, gen_ai.output.messages,
    gen_ai.tool.call.arguments, gen_ai.tool.call.result,
    gen_ai.span.kind, and gen_ai.provider.name=google_adk. (#199)

Fixed

  • Keep Google ADK streaming model spans open until the final response and
    protect same-session concurrent invocations from cross-finishing spans.
  • Ensure Google ADK spans include LoongSuite gen_ai.span.kind values such as
    AGENT.

loongsuite-instrumentation-litellm

Changed

  • Improved LiteLLM GenAI util invocation mapping for positional arguments,
    streaming time-to-first-token, multi-choice outputs, tool-call deltas, and
    a real smoke example (#191).

loongsuite-python-agent 0.5.0

Choose a tag to compare

@Cirilla-zmh Cirilla-zmh released this 11 May 12:22

loongsuite-python-agent 0.5.0

Installation

pip install loongsuite-distro==0.5.0
loongsuite-bootstrap -a install --version 0.5.0

Package Versions

  • loongsuite-* packages: 0.5.0
  • opentelemetry-* packages: 0.60b1

PyPI packages

The following distributions are built and uploaded to PyPI for this release:

  • loongsuite-util-genai
  • loongsuite-distro
  • loongsuite-site-bootstrap
  • loongsuite-instrumentation-agentscope
  • loongsuite-instrumentation-claude-agent-sdk
  • loongsuite-instrumentation-crewai
  • loongsuite-instrumentation-dashscope
  • loongsuite-instrumentation-google-adk
  • loongsuite-instrumentation-hermes-agent
  • loongsuite-instrumentation-langchain
  • loongsuite-instrumentation-langgraph
  • loongsuite-instrumentation-litellm
  • loongsuite-instrumentation-mem0
  • loongsuite-instrumentation-qwen-agent
  • loongsuite-instrumentation-qwenpaw

loongsuite

Fixed

  • Pin the default upstream core SHA used by CI to a 0.62-compatible commit, and
    cap mem0ai support to <2.0.0 while keeping Mem0 oldest/latest test
    coverage aligned with the supported 1.x range.
  • Constrain LoongSuite instrumentation wrapt dependencies to <2.0.0 to
    avoid wrapper compatibility regressions from the wrapt 2.x line.

loongsuite-util-genai

Added

  • Add gen_ai.skill.name, gen_ai.skill.id, gen_ai.skill.description, and
    gen_ai.skill.version semantic attributes for execute_tool spans, plus the
    corresponding optional fields on ExecuteToolInvocation.

Changed

  • Relax OpenTelemetry package dependency ranges so LoongSuite GenAI utilities
    can be installed with recent AgentScope-based runtimes such as QwenPaw and
    CoPaw.

loongsuite-instrumentation-agentscope

Added

  • Detect skill-load tool executions by matching reads of registered skills'
    top-level SKILL.md, and enrich the corresponding execute_tool span with
    gen_ai.skill.name, gen_ai.skill.id, gen_ai.skill.description, and
    gen_ai.skill.version.

Fixed

  • Pin wrapt to < 2.0.0 for AgentScope instrumentation compatibility with
    the current wrapper API usage.

loongsuite-instrumentation-hermes-agent

Added

  • Create ENTRY spans for Hermes AIAgent platform requests,
    then parent the agent invocation under the entry span.
  • Add gen_ai.skill.* semantic attributes to Hermes skill tool spans when
    skill_view or skill_manage is executed.

loongsuite-instrumentation-mem0

Fixed

  • Limit supported mem0ai versions to >=1.0.0,<2.0.0, test the true
    minimum supported version in requirements.oldest.txt, and keep the
    latest test environment on the supported 1.x line.

loongsuite-instrumentation-qwenpaw

Added

  • Renamed the primary instrumentation package to QwenPaw and kept runtime
    compatibility for copaw <= 1.0.2.
  • Added latest and legacy runtime test dependency sets.

Changed

  • Kept QwenPaw as the single auto-instrumentation entry point while retaining
    legacy import/runtime compatibility.

loongsuite-python-agent 0.4.0

Choose a tag to compare

@Cirilla-zmh Cirilla-zmh released this 03 Apr 09:20
41ce634

loongsuite-python-agent 0.4.0

Installation

pip install loongsuite-distro==0.4.0
loongsuite-bootstrap -a install --version 0.4.0

Package Versions

  • loongsuite-* packages: 0.4.0
  • opentelemetry-* packages: 0.61b0

PyPI packages

The following distributions are built and uploaded to PyPI for this release:

  • loongsuite-util-genai
  • loongsuite-distro
  • loongsuite-site-bootstrap
  • loongsuite-instrumentation-agentscope
  • loongsuite-instrumentation-claude-agent-sdk
  • loongsuite-instrumentation-copaw
  • loongsuite-instrumentation-crewai
  • loongsuite-instrumentation-dashscope
  • loongsuite-instrumentation-google-adk
  • loongsuite-instrumentation-langchain
  • loongsuite-instrumentation-langgraph
  • loongsuite-instrumentation-litellm
  • loongsuite-instrumentation-mem0

loongsuite-instrumentation-copaw

Added

  • CoPaw instrumentation initialization: CoPawInstrumentor registers
    automatic instrumentation for CoPaw when instrument() is called (included
    in LoongSuite distro automatic injection). (#162)

Changed

  • Instrumentor depends on opentelemetry-util-genai and passes
    tracer_provider, meter_provider, and logger_provider from
    instrument() into the shared GenAI telemetry handler. (#162)

loongsuite-python-agent 0.3.0

Choose a tag to compare

@Cirilla-zmh Cirilla-zmh released this 27 Mar 02:43
257b7f1

loongsuite-python-agent 0.3.0

Installation

pip install loongsuite-distro==0.3.0
loongsuite-bootstrap -a install --version 0.3.0

Package Versions

  • loongsuite-* packages: 0.3.0
  • opentelemetry-* packages: 0.61b0

PyPI packages

The following distributions are built and uploaded to PyPI for this release:

  • loongsuite-util-genai
  • loongsuite-distro
  • loongsuite-site-bootstrap
  • loongsuite-instrumentation-agentscope
  • loongsuite-instrumentation-claude-agent-sdk
  • loongsuite-instrumentation-crewai
  • loongsuite-instrumentation-dashscope
  • loongsuite-instrumentation-google-adk
  • loongsuite-instrumentation-langchain
  • loongsuite-instrumentation-langgraph
  • loongsuite-instrumentation-litellm
  • loongsuite-instrumentation-mem0

loongsuite

Added

  • Release tooling: build and publish instrumentation-loongsuite/* as separate PyPI wheels (with loongsuite_pypi_manifest.py defining which distributions are uploaded; some remain tar-only until ready), and add a PyPI packages section to aggregated release notes (#155)
  • loongsuite-site-bootstrap: initialize .pth-based OTel auto-instrumentation package (#156)
  • Top-level docs: add Chinese README (README-zh.md) translated from README.md. (#159)

Changed

  • instrumentation-loongsuite/*, loongsuite-distro, and util/opentelemetry-util-genai: pyproject.toml metadata and dependencies for standalone PyPI installs (#155)
  • loongsuite-site-bootstrap, loongsuite-distro docs: update README.md. (#159)

loongsuite-util-genai

Breaking Change

  • Remove package opentelemetry.util.genai._extended_common. EntryInvocation and ReactStepInvocation now live in extended_types; _apply_entry_finish_attributes and _apply_react_step_finish_attributes live in extended_span_utils. (#158)
  • Rename packages opentelemetry.util.genai._extended_memoryextended_memory and opentelemetry.util.genai._extended_semconvextended_semconv (public module paths). (#158)

Fixed

  • Add bypass logic around instrumentation-specific initialization so opentelemetry-util-genai can work correctly as a standalone SDK without depending on instrumentation package bootstrap flow. (#159)

loongsuite-instrumentation-agentscope

Changed

  • Adapt imports to opentelemetry-util-genai module layout change (#158)

Fixed

  • Avoid duplicate LLM / Agent spans when multiple ChatModelBase or
    AgentBase subclasses stack (e.g. proxy layers that each implement __call__
    and forward inward), by tracking per-task __call__ depth with
    contextvars and only instrumenting the outermost frame (#153)
  • Avoid duplicate react step spans when ReAct hook wrappers nest (e.g.
    subclasses or mixins that override _reasoning / _acting and call
    super()), by only opening steps and updating tool-act counts on the
    outermost wrapper (#153)

Changed

  • Update README integration flow to align with the root recommended LoongSuite pattern using Option C (pip install loongsuite-instrumentation-agentscope) and loongsuite-instrument. (#159)

Added

  • Add ReAct step span instrumentation for ReAct agents (#140)
    • Each ReAct iteration is wrapped in a react step span with gen_ai.react.round and gen_ai.react.finish_reason attributes
    • Uses AgentScope's instance-level hook system for robust, non-invasive instrumentation

loongsuite-instrumentation-agno

Changed

  • Update README integration flow to align with the root recommended LoongSuite pattern using Option A (loongsuite-bootstrap -a install --latest) for this package not yet on PyPI. (#159)

loongsuite-instrumentation-claude-agent-sdk

Changed

  • Adapt imports to opentelemetry-util-genai module layout change (#158)

loongsuite-instrumentation-crewai

Changed

  • Adapt imports to opentelemetry-util-genai module layout change (#158)
  • Update README integration flow to align with the root recommended LoongSuite pattern using Option C (pip install loongsuite-instrumentation-crewai) and loongsuite-instrument. (#159)

Added

  • Initialize the instrumentation for CrewAI (#87)

loongsuite-instrumentation-dashscope

Changed

  • Adapt imports to opentelemetry-util-genai module layout change (#158)

loongsuite-instrumentation-dify

Changed

  • Update README integration flow to align with the root recommended LoongSuite pattern using Option A (loongsuite-bootstrap -a install --latest) for this package not yet on PyPI. (#159)

loongsuite-instrumentation-google-adk

Changed

  • Update README integration flow to align with the root recommended LoongSuite pattern using Option C (pip install loongsuite-instrumentation-google-adk) and loongsuite-instrument. (#159)

loongsuite-instrumentation-langchain

Added

  • Rerank / document-compressor span support (#149)

Changed

  • Adapt imports to opentelemetry-util-genai module layout change (#158)
  • Set run_inline = True on the tracer so LangChain callbacks run inline for correct OpenTelemetry context propagation (#148)
  • Improved token usage extraction to support multiple LangChain/LLM provider formats (#148)
  • Update README integration flow to align with the root recommended LoongSuite pattern using Option C (pip install loongsuite-instrumentation-langchain) and loongsuite-instrument. (#159)

loongsuite-instrumentation-langgraph

Changed

  • Update README integration flow to align with the root recommended LoongSuite pattern using Option C (pip install loongsuite-instrumentation-langgraph) and loongsuite-instrument. (#159)

loongsuite-instrumentation-mcp

Changed

  • Update README integration flow to align with the root recommended LoongSuite pattern using Option A (loongsuite-bootstrap -a install --latest) for this package not yet on PyPI. (#159)

loongsuite-instrumentation-mem0

Changed

  • Adapt imports to opentelemetry-util-genai module layout change (#158)
  • Update README integration flow to align with the root recommended LoongSuite pattern using Option C (pip install loongsuite-instrumentation-mem0) and loongsuite-instrument. (#159)

loongsuite-python-agent 0.2.0

Choose a tag to compare

@Cirilla-zmh Cirilla-zmh released this 12 Mar 09:41
33fb2d6

loongsuite-python-agent 0.2.0

Installation

pip install loongsuite-distro==0.2.0
loongsuite-bootstrap -a install --version 0.2.0

Package Versions

  • loongsuite-* packages: 0.2.0
  • opentelemetry-* packages: 0.61b0

loongsuite-util-genai

Added

  • Add RetrievalDocument dataclass for typed retrieval document representation (id, score, content, metadata). (#145)
  • Control RetrievalDocument serialization: when content capturing is NO_CONTENT, only serialize id and score; when SPAN_ONLY/SPAN_AND_EVENT, serialize full (id, score, content, metadata) (#145)
  • Add Entry span (gen_ai.span.kind=ENTRY) and ReAct Step span (gen_ai.span.kind=STEP) support in ExtendedTelemetryHandler with types, utilities, and context-manager APIs (#135)
  • Propagate gen_ai.session.id and gen_ai.user.id into Baggage during start_entry, enabling traffic coloring via BaggageSpanProcessor for all child spans within the entry block (#135)

Changed

  • Retrieval semantic convention: Align retrieval spans with LoongSuite spec (#145)
    • gen_ai.operation.name: retrieve_documentsretrieval
    • gen_ai.retrieval.querygen_ai.retrieval.query.text for query text
    • Span name: retrieval {gen_ai.data_source.id} when data_source_id is set
    • Add RetrievalInvocation fields: data_source_id, provider, request_model, top_k
  • Add optional context parameter to all start_* methods in TelemetryHandler and ExtendedTelemetryHandler for explicit parent-child span linking (#135)
  • Unify attach/detach strategy in ExtendedTelemetryHandler: always attach regardless of whether context is provided; stop_*/fail_* guards restored to context_token is None or span is None (#135)

Fixed

  • Fix gen_ai.retrieval.query to respect content capturing mode: when OTEL_INSTRUMENTATION_GENAI_CAPTURE_MESSAGE_CONTENT is NO_CONTENT, both query and documents are now omitted from retrieve spans (previously only documents were gated) (#139)
  • Fix _safe_detach to use _RUNTIME_CONTEXT.detach directly, avoiding noisy ERROR log from OTel SDK's context_api.detach wrapper (#135)
  • Fix undefined otel_context reference in _multimodal_processing.py process_multimodal_fail, replaced with _safe_detach (#135)

loongsuite-instrumentation-langchain

Added

  • ReAct Step instrumentation for AgentExecutor (#139)

    • Monkey-patch AgentExecutor._iter_next_step and _aiter_next_step to instrument each ReAct iteration
    • Dual patch: patch both langchain.agents (0.x) and langchain_classic.agents (1.x) when available, so either import path works
    • Covers invoke, ainvoke, stream, astream, batch, abatch
    • ReAct Step spans: gen_ai.span.kind=STEP, gen_ai.operation.name=react, gen_ai.react.round, gen_ai.react.finish_reason
    • Span hierarchy: Agent > ReAct Step > LLM/Tool
  • LangGraph ReAct agent support (requires loongsuite-instrumentation-langgraph) (#139)

    • Detect LangGraph agents via Run.metadata["_loongsuite_react_agent"]
      (metadata injected by the LangGraph instrumentation)
    • Disambiguate the top-level graph (Agent span) from child nodes (chain
      spans) using inside_langgraph_react propagation
    • Agent name resolution: when the ReAct agent is invoked inside an outer
      graph node, inherit the node's name (e.g. invoke_agent product_agent)
      instead of the generic default (invoke_agent LangGraph)
    • Track ReAct step boundaries via callback-based detection of the
      "agent" node within the graph
    • Span hierarchy: Agent > ReAct Step > LLM/Tool (same as AgentExecutor)

Breaking Changes

  • Rewrite the instrumentation for LangChain with genai-util (#139)
    • Replaced the legacy wrapt-based function wrapping with BaseTracer callback mechanism
    • Migrated to ExtendedTelemetryHandler from opentelemetry-util-genai for standardized GenAI semantic conventions
    • Added Agent detection by run.name, TTFT tracking, content capture gating, and RLock thread safety
    • Added new test suite with oldest/latest dependency matrices

loongsuite-instrumentation-langgraph

Added

  • Initial instrumentation framework for LangGraph (#143)
    • Patch create_react_agent to set _loongsuite_react_agent = True flag
      on CompiledStateGraph
    • Patch Pregel.stream / Pregel.astream to inject
      metadata["_loongsuite_react_agent"] into RunnableConfig, enabling
      LangChain instrumentation to detect ReAct agents via callback metadata
    • All patches use wrapt.wrap_function_wrapper /
      opentelemetry.instrumentation.utils.unwrap (consistent with
      loongsuite-instrumentation-langchain)

loongsuite-instrumentation-litellm

Added

  • Initialize the instrumentation for Litellm (#88)

loongsuite-python-agent 0.1.0

Choose a tag to compare

@Cirilla-zmh Cirilla-zmh released this 28 Feb 08:15
ebedcb1

loongsuite-python-agent 0.1.0

Installation

pip install loongsuite-distro==0.1.0
loongsuite-bootstrap -a install --version 0.1.0

Package Versions

  • loongsuite-* packages: 0.1.0
  • opentelemetry-* packages: 0.60b1

loongsuite

Fixed

  • Add from __future__ import annotations to fix Python 3.9 compatibility for union type syntax (X | Y) (#80)

Added

  • loongsuite-distro: initialize loongsuite python agent distro (#126)

loongsuite-util-genai

Fixed

  • Fix compatibility with Python 3.8 hashlib usage (#102)

Added

  • Add support for memory operations (#83)
  • Add multimodal separation and upload support for GenAI utils (#94)
  • Add gen_ai.usage.total_tokens attribute for LLM, Agent, and Embedding operations (#108)
  • Add gen_ai.response.time_to_first_token attribute for LLM operations (#113)
  • Enhance the capture and upload process of multimodal data (#119)
    • Enhance multimodal pre-upload pipeline with Data URI and local path support
    • Add AgentInvocation multimodal data handling
    • Introduce configurable pre-upload hooks and uploader entry points, add graceful shutdown processor for GenAI components
    • Improve multimodal metadata extraction and docs

loongsuite-instrumentation-agentscope

Fixed

  • Fix tool call response parsing (#118)
  • Fix LLM message content capture in spans (#91)
  • Fix spell mistake in pyproject.toml (#8)

Breaking Changes

  • Deprecate the support for AgentScope v0 (#82)

Changed

  • Refactor the instrumentation for AgentScope with genai-util (#82)
    • Refactored to use opentelemetry-util-genai: Migrated to ExtendedTelemetryHandler and ExtendedInvocationMetricsRecorder from opentelemetry-util-genai for unified metrics and tracing management
    • Architecture Simplification: Removed redundant code and consolidated instrumentation logic
    • Tool Tracing Enhancement: Rewritten tool execution tracing to use ExtendedTelemetryHandler for full feature support (see HANDLER_INTEGRATION.md)
      • Now properly leverages _apply_execute_tool_finish_attributes for standardized attribute handling
      • Automatic metrics recording for tool executions
      • Content capturing mode support (respects experimental mode and content capturing settings)
      • Unified error handling with proper error attributes
    • Removed "V1" prefix from class names (AgentScopeV1ChatModelWrapper → AgentScopeChatModelWrapper, etc.)
    • Updated to use Apache License 2.0 headers across all source files
  • Refactor the instrumentation for AgentScope (#14)

Added

  • Add support for agentscope v1.0.0 (#45)
  • Initialize the instrumentation for AgentScope (#2)

loongsuite-instrumentation-agno

Fixed

  • Fix aresponse missing await and double wrapped() calls (#107)
  • Fix broken trace caused by the improper setting of the parent context (#23)
  • Correct span name of tool call (#21)

Added

  • Initial implementation of Agno instrumentation (#13)

loongsuite-instrumentation-claude-agent-sdk

Added

  • Initial implementation of Claude Agent SDK instrumentation (#104)
    • Support for agent query sessions via Hooks mechanism
    • Support for tool execution tracing (PreToolUse/PostToolUse hooks)
    • Integration with opentelemetry-util-genai ExtendedTelemetryHandler
    • Span attributes following OpenTelemetry GenAI Semantic Conventions
    • Support for Alibaba Cloud DashScope Anthropic-compatible API

loongsuite-instrumentation-dashscope

Added

  • Add support for multimodal API (#111)
  • Initial implementation of DashScope instrumentation (#66)

Fixed

  • Fix MIME type inference logic for speech synthesis instrumentation (#115)

loongsuite-instrumentation-dify

Fixed

  • Correct timestamp calculation in dify instrumentation (#74)

Added

  • Initialize the instrumentation for dify (#29)

loongsuite-instrumentation-google-adk

Added

  • Initialize the instrumentation for Google Agent Development Kit (ADK) (#71)

loongsuite-instrumentation-langchain

Added

  • Initialize the instrumentation for langchain (#34)

loongsuite-instrumentation-mcp

Fixed

  • Add support for mcp 1.25.0 (#126)

Added

  • Add quick start document for mcp (#43)
  • Initialize the instrumentation for mcp (#12)

Changed

  • Relocate mcp instrumentation to loongsuite directory (#42)
  • Refactor the instrumentation for mcp (#39)

loongsuite-instrumentation-mem0

Fixed

  • Fix unit tests (#98)

Added

  • Refactor capture logic with memory handler (#89)
  • Add hook extensions (#95)
  • Initialize the instrumentation for mem0 (#67)