Skip to main content

Python SDK for evaluating in ScaleWoB: Scalable world-of-bit that revolutionizes the evaluation of Computer-Use Agents.

Project description

ScaleWoB Python SDK

PyPI version Python 3.12+ License: MIT REUSE status zread

Python SDK for evaluating in ScaleWoB: Scalable world-of-bit that revolutionizes the evaluation of Computer-Use Agents.

🔥 Use this SDK to plug your computer-use agent to our upcoming benchmark!

Installation

pip install scalewob

Discovering Tasks

ScaleWoB uses a two-step process to discover tasks:

  1. Fetch available environments
  2. Load each environment to get its tasks
from scalewob import ScaleWoBAutomation, fetch_environments

# Step 1: Fetch available environments
envs = fetch_environments()
print(f"Found {len(envs)} environments")

# Filter by difficulty
basic_envs = fetch_environments(difficulty="Basic")

# Filter by platform and tags
mobile_envs = fetch_environments(
    platform="Mobile Interfaces",
    tags=["Time Selection"]
)

# Step 2: For each environment, load it and work with its tasks
for env in basic_envs:
    auto = ScaleWoBAutomation(env_id=env['id'])
    auto.start()  # Tasks are automatically fetched here

    # Access tasks via the tasks property
    print(f"Environment {env['name']} has {len(auto.tasks)} tasks")

    # Work with each task
    for idx, task in enumerate(auto.tasks):
        auto.start_evaluation()
        # ... perform actions based on task['description'] ...

        # The task's params field (if present) is a JSON schema
        # You need to provide actual parameter values that match this schema
        if task.get('params'):
            # Example: provide actual values matching the schema
            # Validation is automatic when you call finish_evaluation
            actual_params = {
                "destination": "New York",
                "check_in": "2024-01-15"
            }
            result = auto.finish_evaluation(
                task_id=task['task_id'],
                params=actual_params  # Auto-validated against task['params']
            )
        else:
            result = auto.finish_evaluation(task_id=task['task_id'])

    auto.close()

See Environment Discovery and ScaleWoBAutomation Methods in the API Reference for more details.

Development

Setup

# Clone the repo and enter the directory first
uv sync

# Install pre-commit hooks
uv pre-commit install

Code Quality

# Format code
uv run poe format

# Run checks (format, lint, type checking)
uv run poe check

# Fix linting issues
uv run poe fix

License

MIT License - see LICENSE file for details.

Links

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

scalewob-0.8.0.tar.gz (12.8 kB view details)

Uploaded Source

Built Distribution

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

scalewob-0.8.0-py3-none-any.whl (13.3 kB view details)

Uploaded Python 3

File details

Details for the file scalewob-0.8.0.tar.gz.

File metadata

  • Download URL: scalewob-0.8.0.tar.gz
  • Upload date:
  • Size: 12.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.9.21 {"installer":{"name":"uv","version":"0.9.21","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for scalewob-0.8.0.tar.gz
Algorithm Hash digest
SHA256 1511de8f731c79986d24d9fc7912c60da8e8e16060597f1e958683cf26df6f0e
MD5 13f9a962f08a2ba36336e177b5327cca
BLAKE2b-256 c5999d06bd20a0b1228ec7851d051cb0c3426337bf95841d67ea894f351a7d85

See more details on using hashes here.

File details

Details for the file scalewob-0.8.0-py3-none-any.whl.

File metadata

  • Download URL: scalewob-0.8.0-py3-none-any.whl
  • Upload date:
  • Size: 13.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.9.21 {"installer":{"name":"uv","version":"0.9.21","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for scalewob-0.8.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ad93db70c91a3d7efea9e77aa6e7f0d39c9618c18fc8e2918a49bd5f99e49a88
MD5 96e0c56b81e36aeddc10fc2727382375
BLAKE2b-256 406c150e8021e1b5b1d9795ac1650bce21af4ed9ed00d3a84607395d2c888fa5

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