Skip to content

josancamon19/use-computer-sdk

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

119 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

use-computer SDKs

Official SDKs for use.computer — rent dedicated VMs (macOS, iOS/visionOS/tvOS simulators, Windows, Ubuntu) built for computer-use agents. One surface, three languages:

Language Package Path
Python pip install use-computer (PyPI) python/
TypeScript / JavaScript npm install use-computer-sdk js/
Go go get github.com/josancamon19/use-computer-sdk/go go/

All three expose the same sandbox surface — create({ type, version, ... }) for macOS / iOS / Windows / Ubuntu, plus mouse, keyboard, screenshot, exec/run, files, recording, and the native UI tree. The Python package also ships optional computer-use agents and Harbor adapters behind extras, so a base pip install use-computer stays small.

pip install "use-computer[agents]"        # computer-use agents and provider SDKs
pip install "use-computer[harbor]"        # Harbor environment adapter, Python 3.12+
pip install "use-computer[harbor,agents]" # Harbor adapter plus agents

Harbor job YAMLs import the SDK adapter directly:

environment:
  import_path: use_computer.harbor.environment:UseComputerEnvironment
  kwargs:
    platform: macos
agents:
  - import_path: use_computer.harbor.agents:AnthropicCUAAgent
    model_name: anthropic/claude-sonnet-4-6

Examples per language live in examples/.

Windows and Ubuntu report their current desktop display size:

with client.create(type="ubuntu", version="ubuntu-24.04") as ubuntu:
    print(ubuntu.display.get_info())

Pass CPU/RAM/disk resources with the base OS line to select a baked Windows or Ubuntu profile, for example resources={"cpus": 4, "memory_mb": 4096, "disk_gb": 40} with version="ubuntu-24.04".

Runtime snapshots are supported for Windows and Ubuntu. They preserve disk + RAM state, so seeded files, browser sessions, and running processes are still present when you create a new sandbox from the returned snapshot version:

from use_computer import Computer

client = Computer()

with client.create(type="ubuntu", version="ubuntu-24.04") as ubuntu:
    ubuntu.run("google-chrome-stable --no-first-run https://example.com >/tmp/chrome.log 2>&1 &")
    snapshot = ubuntu.snapshot("chrome-seeded-ubuntu")

with client.create(type="ubuntu", snapshot=snapshot.version) as seeded:
    print(seeded.run("pgrep -af 'chrome|chromium' | head").stdout)

Docs: docs.use.computer. Windows and Ubuntu are Beta (admin-only).