Skip to main content

Client sdk to intearct with Dojo

This project has been archived.

The maintainers of this project have marked this project as archived. No new releases are expected.

Project description

Dojo SDK Client

Python client SDK for interacting with the Dojo API

Installation

uv add dojo-sdk-client

if you want to use our example agents:

uv add "dojo-sdk-client[agents]"

if you want to use our multi-turn environment with verifiers

uv add "dojo-sdk-client[multi_turn_env]"

if you want to use our browserbase engine:

uv add "dojo-sdk-client[browserbase]"

Quick Start

Basic Task Execution

from dojo_sdk_client import BaseDojoClient
from dojo_sdk_client.types import TaskStatus

client = BaseDojoClient(api_key="your-api-key")

# Create and start task
exec_id = await client.create_task(
    task_id="tic-tac-toe/win-game",
    state={"board": [[0]*3 for _ in range(3)]}
)
await client.start_task(exec_id)

status = await client.get_task_status(exec_id)
while status.status == TaskStatus.QUEUED:
    await asyncio.sleep(1)
    status = await client.get_task_status(exec_id)

# Submit action
action = {"type": "click", "x": 100, "y": 100}
await client.submit_action(exec_id, action, "Making move")

Agent Evaluation

from dojo_sdk_client import DojoEvalClient
from dojo_sdk_client.select_engine import select_engine

engine = select_engine(API_KEY)

eval_client = DojoEvalClient(agent=agent, engine=engine)

results = await eval_client.evaluate(tasks=["tic-tac-toe/win-game", "2048/get-256-tile"], num_runners=1)

Changing Engines

from dojo_sdk_client.engines.browserbase_engine import BrowserBaseEngine

engine = BrowserBaseEngine(
    api_key="your-browserbase-api-key",
    project_id="your-browserbase-project-id",
    dojo_api_key="your-dojo-api-key"
)

eval_client = DojoEvalClient(agent=your_agent,engine=engine)

BrowserBase engine has a concurrency limit that can be controlled with the BROWSERBASE_CONCURRENT_LIMIT environment variable.

Clients

BaseDojoClient - Low-level HTTP client for direct API interactions

DojoEvalClient - High-level client for running automated evaluations

MultiTurnEnv - Multi-turn environment for running evaluations with Verifiers

Engines

DojoEngine - Default engine for running tasks using Dojo

BrowserBaseEngine - Engine for running tasks using BrowserBase

Documentation

Visit docs.trydojo.ai for complete documentation.

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

dojo_sdk_client-0.1.15.tar.gz (27.0 kB view details)

Uploaded Source

Built Distribution

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

dojo_sdk_client-0.1.15-py3-none-any.whl (35.1 kB view details)

Uploaded Python 3

File details

Details for the file dojo_sdk_client-0.1.15.tar.gz.

File metadata

  • Download URL: dojo_sdk_client-0.1.15.tar.gz
  • Upload date:
  • Size: 27.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.8.15

File hashes

Hashes for dojo_sdk_client-0.1.15.tar.gz
Algorithm Hash digest
SHA256 eecfa8e52b7e86c9b98c71c215681fbd46896566d0baaaffd351ca7937491bea
MD5 356a55cbdc7d5ee10ec832106c339741
BLAKE2b-256 d28ddc5501f430f0ec59c8ad6ea2cd5cbfa2083f0c593a5e02fa05b5c0492a69

See more details on using hashes here.

File details

Details for the file dojo_sdk_client-0.1.15-py3-none-any.whl.

File metadata

File hashes

Hashes for dojo_sdk_client-0.1.15-py3-none-any.whl
Algorithm Hash digest
SHA256 80785829740f6ce6eeb5e56ee7c602d757b1ba817c78aeb58fcb98146977c032
MD5 26afce3c47d7272ce5e53eb082749f70
BLAKE2b-256 bb0d9b1c315a1d7108c20188ad4550f8cb03d1b4d965e68e8cf2b92f03274fea

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