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.

Metadata

Release files for sigil-sdk-strands 0.9.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for sigil-sdk-strands 0.9.3
File Size Uploaded
sigil_sdk_strands-0.9.3.tar.gz 12.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for sigil-sdk-strands 0.9.3
File Interpreter ABI Platform
sigil_sdk_strands-0.9.3-py3-none-any.whl Python 3 none any Details

Total release size: 23.3 kB

Release files / sigil_sdk_strands-0.9.3.tar.gz

Download URL sigil_sdk_strands-0.9.3.tar.gz
Size 12.5 kB
Tags Source
SHA-256 checksum
How to use checksums
60dd54c2648d99f37f3f222eb7323504fa1e45ca5b656892a6aa80c31e9daf40
BLAKE2b-256 checksum
How to use checksums
98d0f6d53fb880489440b5be4071a881f3487c5cee2421fab8fb80821637e090
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.13

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 13, 2026.

Transparency log

Release files / sigil_sdk_strands-0.9.3-py3-none-any.whl

Download URL sigil_sdk_strands-0.9.3-py3-none-any.whl
Size 10.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
6c578d104c0bfa25ff46014f7b3ca808a92d61308f84ef971f97ff2b27f4b891
BLAKE2b-256 checksum
How to use checksums
dc397bc66501ae784d83b588f0a953b47756f4ae0ed0f9bab91e78b78ebe1b06
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.13

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 13, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.9.3 This release

2 release files

0.9.2

2 release files

0.9.1

2 release files

0.9.0

2 release files

0.8.0

2 release files

0.7.0

2 release files

0.6.0

2 release files

0.5.0

2 release files

0.4.0

2 release files

0.3.0

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.5

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page