Skip to main content

inis-strands-agents

Native inis.run sandbox provider for Strands Agents' strands.sandbox surface. Gives Strands its standard sandbox_bash and sandbox_file_editor tools backed by a real, isolated inis.run session instead of the local host.

PyPI License: MIT Python

Verified against strands-agents==1.50.2.

Install

pip install inis-strands-agents

Quickstart: attached (recommended)

One inis.run session for the whole conversation, owned by your app:

from inis import AsyncClient
from strands import Agent
from inis_strands_agents import InisSandbox

client = AsyncClient()
session = await client.sessions.create(egress_default="deny")
sandbox = InisSandbox.wrap(session)

agent = Agent(model="...", sandbox=sandbox)
await agent.invoke_async("list files in /workspace")
await agent.invoke_async("now write hello.txt")
await session.destroy()  # this app owns the session; the adapter never will

Owned: the adapter creates and destroys the session for you

from strands import Agent
from inis_strands_agents import InisSandbox

async with await InisSandbox.create(egress_default="deny") as sandbox:
    agent = Agent(model="...", sandbox=sandbox)
    await agent.invoke_async("...")
# session destroyed on exit

Either way, Agent(sandbox=...) registers sandbox_bash and sandbox_file_editor automatically — no separate tool wiring needed. Session create/destroy, egress, pause/resume, and fork stay host-controlled.

What it does

  • execute_streaming (shell) — distinct stdout/stderr chunks, then a final ExecutionResult
  • execute_code_streaming — inherited from PosixShellSandbox
  • Binary-safe read_file/write_file/remove_file/list_files, routed to inis.run's native /files endpoints
  • Per-call timeout — genuinely kills the remote process on expiry
  • Per-call env — via a validated shell prefix (inis.run's exec API fixes env at session creation)
  • Cancellation (asyncio task cancellation) — closes the underlying stream and kills the remote command

Notes

PTY isn't implemented: strands.sandbox's shell/file contract has no equivalent. ExecutionResult.output_files is always empty, same as every other shell-based Sandbox — read a produced file with read_file instead.

Development

pip install -e ".[dev]"
pip install -e ../python           # inis core SDK, editable
pytest

Links

Built and run in the EU. Your code and data never leave Europe.

License

MIT — see LICENSE.

Metadata

Release files for inis-strands-agents 0.1.1

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

Source distribution (sdist)

Source distribution for inis-strands-agents 0.1.1
File Size Uploaded
inis_strands_agents-0.1.1.tar.gz 12.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for inis-strands-agents 0.1.1
File Interpreter ABI Platform
inis_strands_agents-0.1.1-py3-none-any.whl Python 3 none any Details

Total release size: 21.4 kB

Release files / inis_strands_agents-0.1.1.tar.gz

Download URL inis_strands_agents-0.1.1.tar.gz
Size 12.2 kB
Tags Source
SHA-256 checksum
How to use checksums
66263e9c2db80f63b21007fffe6e6a607fff2ad0ab1ab4fd4a8306c6e8c61eae
BLAKE2b-256 checksum
How to use checksums
c420edc5bcce59686d2528ad83039a3c53e6caedff027063a9120ea947813568
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Aug 8, 2026.

Transparency log

Release files / inis_strands_agents-0.1.1-py3-none-any.whl

Download URL inis_strands_agents-0.1.1-py3-none-any.whl
Size 9.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
9852cb8e742e47de197a70afeff95d9cf0be14db3182e8e88f5c2b1f90cde62c
BLAKE2b-256 checksum
How to use checksums
6c240ad37db93c6c3403ef007a6f55360d304561fdc64d50a3f5f391dad780fd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Aug 8, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.1.1 This release

2 release files

0.1.0

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