Skip to main content

This is the Python SDK for Computer Use Tool Server, allowing you to easily control the computer desktop environment from your applications.

Project description

Computer Use SDK

This is the Python SDK for Computer Use Tool Server, allowing you to easily control the computer desktop environment from your applications.

Installation

# Install using pip
pip install tool-server-client

# Or install from source code
git clone [repository-url]
cd computer-use-tool-server
pip install -e .

Usage

Basic Usage

from sdk.client import ComputerUseClient

# Initialize the client
client = ComputerUseClient(base_url="http://localhost:8000")

# Get screen size
width, height = client.get_screen_size()
print(f"Screen size: {width}x{height}")

# Move mouse to screen center
client.move_mouse(width // 2, height // 2)

# Click mouse
client.click_mouse(width // 2, height // 2)

# Type text
client.type_text("Hello, World!")

# Press Enter key
client.press_key("enter")

Features List

The SDK provides the following operations:

Mouse Operations

  • move_mouse(x, y): Move mouse to specified coordinates
  • click_mouse(x, y, button="left", press=False, release=False): Click mouse at specified position
  • press_mouse(x, y, button="left"): Press mouse button at specified position
  • release_mouse(x, y, button="left"): Release mouse button at specified position
  • drag_mouse(source_x, source_y, target_x, target_y): Drag from source position to target position
  • scroll(x, y, scroll_direction="up", scroll_amount=1): Scroll mouse wheel at specified position

Keyboard Operations

  • press_key(key): Press specified key
  • type_text(text): Type specified text

Screen Operations

  • take_screenshot(): Take a screenshot
  • get_cursor_position(): Get current cursor position
  • get_screen_size(): Get screen size

System Operations

  • wait(duration): Wait for specified duration (milliseconds)
  • change_password(username, new_password): Change user password

Examples

See examples.py for more usage examples.

Advanced Usage

Custom API Version

client = ComputerUseClient(base_url="http://your-server.com", api_version="2020-04-01")

Handling Responses

Most API calls return a dictionary containing the operation result. You can check these responses to see if the operation was successful:

response = client.move_mouse(100, 100)
if response.get("success"):
    print("Mouse moved successfully")
else:
    print(f"Error: {response.get('error')}")

Error Handling

The SDK automatically handles HTTP errors and raises exceptions when API calls fail. You can use try/except blocks to catch these exceptions:

try:
    client.move_mouse(100, 100)
except Exception as e:
    print(f"Operation failed: {e}")

Contributing

Contributions are welcome! Please feel free to submit issues or pull requests.

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

tool_server_client-1.0.0rc1.tar.gz (15.0 kB view details)

Uploaded Source

Built Distribution

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

tool_server_client-1.0.0rc1-py3-none-any.whl (7.3 kB view details)

Uploaded Python 3

File details

Details for the file tool_server_client-1.0.0rc1.tar.gz.

File metadata

  • Download URL: tool_server_client-1.0.0rc1.tar.gz
  • Upload date:
  • Size: 15.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-httpx/0.28.1

File hashes

Hashes for tool_server_client-1.0.0rc1.tar.gz
Algorithm Hash digest
SHA256 e243818c0594e9c44c7169d27ac886a6f89102b01de66ac47c85784a45bccd76
MD5 ac9395dc23bb2fad5e8cf389365a8d79
BLAKE2b-256 a2f8b54859f8b1e90ed2d4f13b1ef5613e9fe839336c68664f5cc4973dc2e4af

See more details on using hashes here.

File details

Details for the file tool_server_client-1.0.0rc1-py3-none-any.whl.

File metadata

File hashes

Hashes for tool_server_client-1.0.0rc1-py3-none-any.whl
Algorithm Hash digest
SHA256 f20602b7c23636e9ba32daa3a5089d38103a8570a979b944ae1ffcbea0bde37e
MD5 efe9ccaab39871f4cd158edeb00a249b
BLAKE2b-256 568c46f495f52b1608aed189492623e71598d4f7aad037e790e0adb5eb55dff5

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