Skip to main content

Isle Python SDK

Application environments for AI agents.

Install

Requires Python 3.9 or later.

python -m pip install isle-sdk

The package is named isle-sdk on PyPI and imported as isle. Get an API key from the Isle dashboard.

The SDK automatically generates an idempotency key and reuses it for one transport retry. Pass idempotency_key= when the same create operation may be retried by a different process.

Quickstart

from isle import Client, IsleAPIError

isle = Client(api_key="isle_...")

# Create a KiCad sandbox
sandbox = isle.sandboxes.create(
    "kicad",
    name="Power supply board",
    idempotency_key="power-supply-board-v1",
)
sandbox.wait_until_ready()

# Upload a file
sandbox.files.upload("schematic.kicad_sch")

# Take a screenshot
image = sandbox.screen.screenshot()

# Control the mouse and keyboard
sandbox.mouse.click(500, 300)
sandbox.keyboard.type("100nF")
sandbox.keyboard.keypress(["CTRL", "S"])

# Download results
sandbox.files.download("/home/user/work/board.kicad_pcb")

# Stop (archives the sandbox, can be resumed later)
sandbox.stop()
sandbox.wait_until_stopped()

# Resume a stopped sandbox
sandbox.resume()

# Lifecycle failures are returned by the API and retained on the environment
sandbox.refresh()
if sandbox.last_error:
    print(sandbox.last_error, sandbox.last_error_at)

# Retrieve timestamped error history (newest first)
for error in sandbox.errors():
    print(error["source"], error["message"], error["created_at"])

# Recording metadata distinguishes a complete recording from the bounded
# 512 MiB / six-hour / low-disk partial recording policy.
recording = sandbox.recording_info()
print(recording["url"], recording["truncated"], recording["truncation_reason"])

# Permanently delete a stopped sandbox and its retained data
sandbox.stop()
sandbox.wait_until_stopped()
sandbox.destroy(timeout=120)

API failures raise IsleAPIError. Its status_code, error, and metadata attributes can be used to handle failures without parsing an exception string. For example, a provisioning failure includes its recoverable metadata["environment_id"] when the API created a record before the remote environment failed to start.

Environments

  • kicad - EDA environment with KiCad
  • freecad - CAD environment with FreeCAD

Development

From an authorized Isle repository checkout:

python -m pip install -e ./sdk/python
python -m unittest discover -s sdk/python/tests

Metadata

Release files for isle-sdk 0.1.0

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

Source distribution (sdist)

Source distribution for isle-sdk 0.1.0
File Size Uploaded
isle_sdk-0.1.0.tar.gz 13.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for isle-sdk 0.1.0
File Interpreter ABI Platform
isle_sdk-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 22.3 kB

Release files / isle_sdk-0.1.0.tar.gz

Download URL isle_sdk-0.1.0.tar.gz
Size 13.5 kB
Tags Source
SHA-256 checksum
How to use checksums
72f19c32538827690c5c05afaacc1ffeb69dac95d4e1c869a582dc8163f360bb
BLAKE2b-256 checksum
How to use checksums
b980ee0722c48ecc9a7fce62e5ad38a39cd1d58365ffa391896aaf290a3cb436
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 Sep 7, 2026.

Transparency log

Release files / isle_sdk-0.1.0-py3-none-any.whl

Download URL isle_sdk-0.1.0-py3-none-any.whl
Size 8.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
b56516a71ba9d204b1ef74d0083970cd19ed6862d119d658845eb448cdd727df
BLAKE2b-256 checksum
How to use checksums
39ed13fb2747809a08a3b3e308b2cd71f39154197f66740cd7441dd595f7a9d1
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 Sep 7, 2026.

Transparency log

Release history Release notifications | RSS feed

0.3.0

2 release files

0.2.0

2 release files

This release

0.1.0 This release

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