Skip to main content

Python SDK for the use.computer macOS and iOS Computer Use API

Project description

use-computer Python SDK

Python client for use.computer — rent dedicated Mac minis with macOS and Apple simulator sandboxes built for computer-use agents.

pip install use-computer
export USE_COMPUTER_API_KEY=mk_live_...
from use_computer import Computer, SandboxType, SimulatorFamily

with Computer().create() as mac:
    mac.exec_ssh("open -a TextEdit")
    mac.keyboard.type("hello")
    png = mac.screenshot.take_full_screen()

with Computer().create(type=SandboxType.IOS, family=SimulatorFamily.TV) as tv:
    tv.screenshot.take_full_screen()
    tv.input.press_remote("select")

with Computer().create(type=SandboxType.IOS) as ios:
    ios.input.long_press(120, 300, duration=1.0)

Full DSL reference (macOS + simulator): docs.use.computer/docs/sdk

Simulator sandboxes use type=SandboxType.IOS for the SDK route, but device_type and runtime can target any installed compatible CoreSimulator pair: iPhone or iPad with iOS, Apple Watch with watchOS, Apple TV with tvOS, or Apple Vision with visionOS. Prefer family=SimulatorFamily.TV/WATCH/VISION unless you need to pin raw CoreSimulator identifiers. Raw strings like type="ios" still work for compatibility. If omitted, the gateway defaults to iPhone 17 Pro on the latest installed iOS runtime. Known-incompatible simulator types are filtered from family selection, including the non-4K Apple Vision Pro type on current fleet runtimes.

Per-family input

iPhone / iPad sims have full touch + on-screen keyboard. Apple Watch supports touch + crown / button (no type_text — watchOS keyboard isn't exposed). Apple TV has no touch — drive it with input.press_remote(RemoteButton.SELECT) (the remote D-pad, select, menu, home, play/pause). Apple Vision (visionOS) is BETA: sessions display and you can screenshot / launch apps, but input.tap is a no-op because there's no XCTest-free coordinate tap path on visionOS yet. Use it for read-only flows for now.

Examples

File What it shows
examples/_1_hello_macos.py create → exec → keyboard → screenshot
examples/_2_hello_ios.py create iPhone sim → open URL → screenshot
examples/_3_recording.py start / stop / download a screen recording
examples/_4_file_transfer.py upload bytes, download a file back
examples/_5_keepalive.py heartbeat for sessions idle > 2 min
examples/_6_hello_tvos.py tvOS: pick TV family + drive the Apple Remote

For agent loops and evals: use-computer-cookbook.

Skill for AI coding assistants

Point your assistant at use-computer-cookbook/skills/SKILL.md — short body with per-topic references for macOS, Apple simulators, lifecycle, and the Harbor harness.

HTTP API

Every SDK method wraps https://api.use.computer/v1/... with Authorization: Bearer mk_live_.... Swagger: api.use.computer/docs. OpenAPI spec: api.use.computer/openapi.yaml.

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

use_computer-0.0.18.tar.gz (74.4 kB view details)

Uploaded Source

Built Distribution

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

use_computer-0.0.18-py3-none-any.whl (37.4 kB view details)

Uploaded Python 3

File details

Details for the file use_computer-0.0.18.tar.gz.

File metadata

  • Download URL: use_computer-0.0.18.tar.gz
  • Upload date:
  • Size: 74.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for use_computer-0.0.18.tar.gz
Algorithm Hash digest
SHA256 d06d16a295fc2ddf3f283eca70793d22c766fa0c805b84ac5ae55600b3ef0b76
MD5 c68b6af07c147158e486bf3047d10463
BLAKE2b-256 6e3700d89cf8f60b0f6dc34cf924dcfca5dca35bc1a65813abda15519674826b

See more details on using hashes here.

File details

Details for the file use_computer-0.0.18-py3-none-any.whl.

File metadata

  • Download URL: use_computer-0.0.18-py3-none-any.whl
  • Upload date:
  • Size: 37.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for use_computer-0.0.18-py3-none-any.whl
Algorithm Hash digest
SHA256 a4ceb90333dae8f7caaa84aee7ddcc90a43c5b58acda44742cd2415c7146c78c
MD5 dc5defaf5b75b3bd62579792454c0e75
BLAKE2b-256 586cbf8271971b34dc07356f8f46d11f5f1fd465762a86b1d27919a60f287b05

See more details on using hashes here.

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