# Introduction

[![PyPI](https://img.shields.io/pypi/v/fiddler-strands)](https://pypi.org/project/fiddler-strands/)

## Overview

Complete API reference documentation for the `fiddler-strands` package, which instruments the [Strands Agents SDK](https://strandsagents.com/) and exports OpenTelemetry traces to Fiddler.

The package is published to PyPI as **`fiddler-strands`** and imported in Python as **`fiddler_strandsagents`**:

```bash
pip install fiddler-strands
```

```python
from fiddler_strandsagents import StrandsAgentInstrumentor
```

## Components

### Conversation And Session

Conversation and session attribute helpers. `set_conversation_id` / `get_conversation_id` set and read the conversation ID for the current execution context. `set_session_attributes` / `get_session_attributes` replace and read the session attribute dict for the current context.

* [get\_conversation\_id](/api/fiddler-strands-agents-sdk/conversation-and-session/get-conversation-id.md)
* [get\_session\_attributes](/api/fiddler-strands-agents-sdk/conversation-and-session/get-session-attributes.md)
* [set\_conversation\_id](/api/fiddler-strands-agents-sdk/conversation-and-session/set-conversation-id.md)
* [set\_session\_attributes](/api/fiddler-strands-agents-sdk/conversation-and-session/set-session-attributes.md)

### Instrumentation

`StrandsAgentInstrumentor` installs Fiddler tracing into the Strands Agents runtime. `FiddlerInstrumentationHook` is the Strands hook used internally by the instrumentor.

* [FiddlerInstrumentationHook](/api/fiddler-strands-agents-sdk/instrumentation/fiddler-instrumentation-hook.md)
* [StrandsAgentInstrumentor](/api/fiddler-strands-agents-sdk/instrumentation/strands-agent-instrumentor.md)

### Llm Context

`set_llm_context` attaches context (e.g. retrieved documents) to a Strands `Model` so it appears on its LLM spans. `clear_llm_context` removes previously set LLM context. `get_llm_context` reads the current LLM context for a model.

* [clear\_llm\_context](/api/fiddler-strands-agents-sdk/llm-context/clear-llm-context.md)
* [get\_llm\_context](/api/fiddler-strands-agents-sdk/llm-context/get-llm-context.md)
* [set\_llm\_context](/api/fiddler-strands-agents-sdk/llm-context/set-llm-context.md)

### Span Attributes

`set_span_attributes` and `get_span_attributes` set and read per-span custom attributes.

* [get\_span\_attributes](/api/fiddler-strands-agents-sdk/span-attributes/get-span-attributes.md)
* [set\_span\_attributes](/api/fiddler-strands-agents-sdk/span-attributes/set-span-attributes.md)

### Span Processor

`StrandsSpanProcessor` propagates parent attributes and patches Strands' missing `gen_ai.system.message` event. `FiddlerSpanProcessor` is a backwards-compatible alias for `StrandsSpanProcessor` (same class object).

* [FiddlerSpanProcessor](/api/fiddler-strands-agents-sdk/span-processor/fiddler-span-processor.md)
* [StrandsSpanProcessor](/api/fiddler-strands-agents-sdk/span-processor/strands-span-processor.md)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.fiddler.ai/api/fiddler-strands-agents-sdk/strands.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
