Skip to main content

Islo (islo.dev) sandbox integration for Deep Agents

Project description

langchain-islo

PyPI - Version PyPI - License

Islo sandbox integration for Deep Agents.

Islo provides long-running, reconnect-surviving AI sandboxes on real Linux VMs, with pause/resume, snapshots, and a gateway layer for secret isolation and egress policies.

Install

uv add langchain-islo
# or: pip install langchain-islo

Set your API key (keys look like ak_...):

export ISLO_API_KEY="ak_..."

Sandbox image requirement. The inherited filesystem tools (read, write, edit, ls, glob, grep) shell out to python3 and GNU grep inside the sandbox. Use an image that provides them (e.g. python:3.12-slim, or ubuntu/debian with python3 + grep installed). Alpine/BusyBox grep lacks the flags these tools need.

Usage

Wrap an existing Islo sandbox and use it as a Deep Agents backend:

from islo import Islo
from langchain_islo import IsloSandbox

client = Islo()  # reads ISLO_API_KEY
sandbox = client.sandboxes.create_sandbox(image="python:3.12-slim")

backend = IsloSandbox(client=client, sandbox=sandbox)

result = backend.execute("echo hello")
print(result.output)  # "hello"

# Filesystem tools are inherited from BaseSandbox:
backend.write("/workspace/app.py", "print('hi')\n")
print(backend.read("/workspace/app.py").file_data["content"])

Lifecycle helper

IsloProvider creates, attaches to, and deletes sandboxes for you:

from langchain_islo import IsloProvider

provider = IsloProvider()  # reads ISLO_API_KEY
backend = provider.get_or_create(image="python:3.12-slim")
try:
    print(backend.execute("uname -a").output)
finally:
    provider.delete(sandbox_id=backend.id)

What you get

IsloSandbox subclasses deepagents.backends.sandbox.BaseSandbox, so it implements the full SandboxBackendProtocol:

Method Backed by
execute() Islo exec_in_sandbox + result polling (commands run via sh -c)
upload_files() / download_files() Islo sandbox files endpoint (raw bytes)
ls / read / write / edit / glob / grep Inherited from BaseSandbox
id Islo sandbox id

Async variants (aexecute, aupload_files, adownload_files, ...) are provided by the base class via thread offloading.

Configuration

Env var Default Purpose
ISLO_API_KEY Bearer token used to authenticate
ISLO_BASE_URL https://api.islo.dev Control-plane base URL

License

MIT

Project details


Download files

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

Source Distribution

langchain_islo-0.0.2.tar.gz (128.6 kB view details)

Uploaded Source

Built Distribution

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

langchain_islo-0.0.2-py3-none-any.whl (9.6 kB view details)

Uploaded Python 3

File details

Details for the file langchain_islo-0.0.2.tar.gz.

File metadata

  • Download URL: langchain_islo-0.0.2.tar.gz
  • Upload date:
  • Size: 128.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for langchain_islo-0.0.2.tar.gz
Algorithm Hash digest
SHA256 34d858286d1e8a1481cac4906db2625f99dcd9cdd4b08df0d4eadc700652f780
MD5 9f6a743f3e4cfcb0a73c40806ea07abd
BLAKE2b-256 5e4e2225988033a540fdc76b0ce9b74a02b2f8642afb5125a02da08774ada8b9

See more details on using hashes here.

Provenance

The following attestation bundles were made for langchain_islo-0.0.2.tar.gz:

Publisher: workflow.yml on islo-labs/langchain-islo

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

File details

Details for the file langchain_islo-0.0.2-py3-none-any.whl.

File metadata

  • Download URL: langchain_islo-0.0.2-py3-none-any.whl
  • Upload date:
  • Size: 9.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for langchain_islo-0.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 8e6178038841daae272666e43f2e6fb01dbc992935bfee2d3f0be1ad6ae1ee31
MD5 b0efdd14c362be3dc7a6edce0489f5e3
BLAKE2b-256 224e48a7a931f0d42fb32cb9706cccc6ebba57cdbd37e1437692332a9dbeeff0

See more details on using hashes here.

Provenance

The following attestation bundles were made for langchain_islo-0.0.2-py3-none-any.whl:

Publisher: workflow.yml on islo-labs/langchain-islo

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

Supported by

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