Skip to main content

Sigil Python Framework Module: Strands Agents

sigil-sdk-strands provides a Strands HookProvider bridge that maps agent, model, and tool lifecycle events into Sigil generation and tool recording.

Installation

pip install sigil-sdk sigil-sdk-strands
pip install strands-agents

Quickstart

from sigil_sdk import Client
from sigil_sdk_strands import with_sigil_strands_hooks
from strands import Agent

client = Client()
agent_config = with_sigil_strands_hooks(
    {"name": "support-agent"},
    client=client,
    provider_resolver="auto",
)

agent = Agent(**agent_config)
agent(
    "Explain what LLM observability is in one sentence.",
    invocation_state={"conversation_id": "demo-strands"},
)

client.shutdown()

Existing Agents

from sigil_sdk import Client
from sigil_sdk_strands import with_sigil_strands_hooks

client = Client()
with_sigil_strands_hooks(agent, client=client, provider_resolver="auto")

Conversation Mapping

Conversation ID precedence:

  1. conversation_id / session_id / group_id from Strands invocation_state
  2. thread_id from Strands invocation_state
  3. deterministic fallback sigil:framework:strands:<run_id>

Pass a stable value per user conversation:

agent("Remember my timezone is UTC+1.", invocation_state={"conversation_id": "customer-42"})
agent("What timezone did I give you?", invocation_state={"conversation_id": "customer-42"})

Metadata and Lineage

Required framework tags:

  • sigil.framework.name=strands
  • sigil.framework.source=hooks
  • sigil.framework.language=python

Metadata includes:

  • required: sigil.framework.run_type
  • optional: sigil.framework.run_id, sigil.framework.thread_id, sigil.framework.parent_run_id, sigil.framework.component_name, sigil.framework.event_id

Provider Resolver

Resolver order: explicit provider option -> Strands model config metadata -> model prefix inference -> custom.

For Bedrock model IDs that do not infer cleanly, pass provider="anthropic" or another provider value when creating the hook provider.

Troubleshooting

  • If conversations are fragmented, pass stable conversation_id or session_id in invocation_state.
  • If provider is inferred as custom, set provider="openai" / provider="anthropic" / provider="gemini" on hook creation.
  • Always call client.shutdown() during teardown.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

sigil_sdk_strands-0.9.2.tar.gz (12.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

sigil_sdk_strands-0.9.2-py3-none-any.whl (10.9 kB view details)

Uploaded Python 3

File details

Details for the file sigil_sdk_strands-0.9.2.tar.gz.

File metadata

  • Download URL: sigil_sdk_strands-0.9.2.tar.gz
  • Upload date:
  • Size: 12.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for sigil_sdk_strands-0.9.2.tar.gz
Algorithm Hash digest
SHA256 9fe698e53c6a264b93e87c3aa20b0732650fdc7ceb7ceee7122f899834678f31
MD5 ee16b012d5cd6b7861c9e07d2a222788
BLAKE2b-256 f303ef2d89f4676ef33ea4982cd176679e6b769c36373d4456bcd523b18dc72a

See more details on using hashes here.

Provenance

The following attestation bundles were made for sigil_sdk_strands-0.9.2.tar.gz:

Publisher: python-sdks-publish.yml on grafana/sigil-sdk

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file sigil_sdk_strands-0.9.2-py3-none-any.whl.

File metadata

File hashes

Hashes for sigil_sdk_strands-0.9.2-py3-none-any.whl
Algorithm Hash digest
SHA256 d626460a741cb57b6a949d809935217987960f0bfbfa8dd1bc86b347e8e93f2b
MD5 510e08a9543230238b0b5aed835c3fea
BLAKE2b-256 875a79bca1d9e82a62b886d31bee2b1949cfe968b68793910ce33209ae4ff9ca

See more details on using hashes here.

Provenance

The following attestation bundles were made for sigil_sdk_strands-0.9.2-py3-none-any.whl:

Publisher: python-sdks-publish.yml on grafana/sigil-sdk

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

0.9.3

2 files

This release

0.9.2 This release

2 files

0.9.1

2 files

0.9.0

2 files

0.8.0

2 files

0.7.0

2 files

0.6.0

2 files

0.5.0

2 files

0.4.0

2 files

0.3.0

2 files

0.2.1

2 files

0.2.0

2 files

0.1.5

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page