Skip to main content

Plato Python SDK

Python SDK for the Plato platform.

Installation

pip install plato-sdk-v2

Or with uv:

uv add plato-sdk-v2

Agent support is in the base package — there is no [agents] extra. The declared extras are dev, segmentation, worlds and db-cleanup (see pyproject.toml).

Configuration

Create a .env file in your project root:

PLATO_API_KEY=your-api-key
PLATO_BASE_URL=https://plato.so  # optional, defaults to https://plato.so

Or set environment variables directly:

export PLATO_API_KEY=your-api-key

Agents

Agents run inside Plato VMs. The first-party agent is computer-use (browser automation, install: pip install plato-agent-computer-use); custom agents subclass plato.agents.BaseAgent — see plato/agents/base.py for the interface and the module docstring in plato/agents/__init__.py for the exported API and worked examples.

CLI Usage

# List available agents
plato agent list

# Get agent config schema
plato agent schema computer-use

# Publish a custom agent to Plato PyPI
plato agent publish ./my-agent

Sessions & Environments

Flow 1: Create Session from Environments

Use this when you want to spin up environments for development, testing, or custom automation.

import asyncio
from plato.v2 import AsyncPlato, Env

async def main():
    plato = AsyncPlato()

    # Create session with one or more environments
    # (heartbeat starts automatically to keep session alive)
    session = await plato.sessions.create(
        envs=[
            Env.simulator("gitea", dataset="blank", alias="gitea"),
            Env.simulator("kanboard", alias="kanboard"),
        ],
        timeout=600,
    )

    # Reset environments to initial state
    await session.reset()

    # Get public URLs for browser access
    public_urls = await session.get_public_url()
    for alias, url in public_urls.items():
        print(f"{alias}: {url}")

    # Get state mutations from all environments
    state = await session.get_state()
    print(state)

    # Cleanup
    await session.close()
    await plato.close()

asyncio.run(main())

Flow 2: Create Session from Test Case

Use this when running evaluations against predefined test cases. This flow includes evaluation at the end.

import asyncio
from plato.v2 import AsyncPlato

async def main():
    plato = AsyncPlato()

    # Create session from a test case public ID.
    # Unlike `envs=`/`artifacts=`, this auto-resets for mutation logging,
    # so no explicit session.reset() is needed.
    session = await plato.sessions.create(testcase="tc_abc123", timeout=600)

    # Get public URLs for browser access
    public_urls = await session.get_public_url()
    for alias, url in public_urls.items():
        print(f"{alias}: {url}")

    # Evaluate task completion
    evaluation = await session.evaluate()
    print(f"Task completed: {evaluation}")

    # Cleanup
    await session.close()
    await plato.close()

asyncio.run(main())

Environment Configuration

Two ways to specify environments:

from plato.v2 import Env

# 1. From simulator (most common)
Env.simulator("gitea")                          # default tag
Env.simulator("gitea", tag="staging")           # specific tag
Env.simulator("gitea", dataset="blank")         # specific dataset
Env.simulator("gitea", alias="my-git")          # custom alias

# 2. From artifact ID
Env.artifact("artifact-abc123")
Env.artifact("artifact-abc123", alias="my-env")

Per-Environment Operations

Access individual environments within a session:

# Get all environments
for env in session.envs:
    print(f"{env.alias}: {env.job_id}")

# Get specific environment by alias
gitea = session.get_env("gitea")

if gitea:
    # Execute shell command
    result = await gitea.execute("whoami", timeout=30)
    print(result)

    # Get state for this environment only
    state = await gitea.get_state()

    # Reset this environment only
    await gitea.reset()

Sync Client

A synchronous client is also available:

from plato.v2 import Plato, Env

plato = Plato()

session = plato.sessions.create(
    envs=[Env.simulator("gitea", alias="gitea")],
    timeout=600,
)

session.reset()

public_urls = session.get_public_url()
state = session.get_state()

session.close()
plato.close()

Documentation

Part of the useplato/plato-client monorepo.

Metadata

Release files for plato-sdk-v2 2.159.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for plato-sdk-v2 2.159.1
File Size Uploaded
plato_sdk_v2-2.159.1.tar.gz 1.5 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for plato-sdk-v2 2.159.1
File Interpreter ABI Platform
plato_sdk_v2-2.159.1-py3-none-any.whl Python 3 none any Details

Total release size: 3.4 MB

Release files / plato_sdk_v2-2.159.1.tar.gz

Download URL plato_sdk_v2-2.159.1.tar.gz
Size 1.5 MB
Tags Source
SHA-256 checksum
How to use checksums
ba5fbcfdbb741f9482ad1f82497bb015b5a13c48df39276d4eeaeaf9d07c5e07
BLAKE2b-256 checksum
How to use checksums
eeb01377704915fae4c0b3c9b7718b214a543c35eb6a5fff7a4b935ce6dc56dc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.12.20 {"installer":{"name":"uv","version":"0.12.20","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}

Release files / plato_sdk_v2-2.159.1-py3-none-any.whl

Download URL plato_sdk_v2-2.159.1-py3-none-any.whl
Size 1.8 MB
Tags Python 3
SHA-256 checksum
How to use checksums
3c7d71059b7dd2320e2bddba89bae5146ca60d13ba88aae932acf4de2bfd03b7
BLAKE2b-256 checksum
How to use checksums
52ccf557db91191e089afdbfb13cf5c2e1f7007b943910f8d65794fdb7c0ebf7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.12.20 {"installer":{"name":"uv","version":"0.12.20","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}

Release history Release notifications | RSS feed

This release

2.159.1 This release

2 release files

2.99.5

2 release files

2.99.4

2 release files

2.99.3

2 release files

2.99.2

2 release files

2.99.1

2 release files

2.99.0

2 release files

2.98.0

2 release files

2.97.1

2 release files

2.97.0

2 release files

2.96.1

2 release files

2.96.0

2 release files

2.92.0

2 release files

2.91.4

2 release files

2.91.3

2 release files

2.91.2

2 release files

2.91.1

2 release files

2.91.0

2 release files

2.90.3

2 release files

2.90.2

2 release files

2.90.1

2 release files

2.90.0

2 release files

2.89.1

2 release files

2.89.0

2 release files

2.88.3

2 release files

2.88.2

2 release files

2.88.1

2 release files

2.88.0

2 release files

2.87.9

2 release files

2.87.8

2 release files

2.87.7

2 release files

2.85.9

2 release files

2.85.8

2 release files

2.85.7

2 release files

2.85.6

2 release files

2.85.5

2 release files

2.85.4

2 release files

2.85.3

2 release files

2.85.2

2 release files

2.85.1

2 release files

2.85.0

2 release files

2.84.4

2 release files

2.84.3

2 release files

2.84.2

2 release files

2.84.1

2 release files

2.84.0

2 release files

2.83.1

2 release files

2.83.0

2 release files

2.82.9

2 release files

2.82.8

2 release files

2.82.7

2 release files

2.82.6

2 release files

2.82.5

2 release files

2.82.4

2 release files

2.82.3

2 release files

2.82.2

2 release files

2.82.1

2 release files

2.82.0

2 release files

2.81.0

2 release files

2.80.1

2 release files

2.80.0

2 release files

2.79.1

2 release files

2.79.0

2 release files

2.78.0

2 release files

2.77.4

2 release files

2.77.3

2 release files

2.77.2

2 release files

2.77.1

2 release files

2.77.0

2 release files

2.76.5

2 release files

2.76.4

2 release files

2.76.3

2 release files

2.76.2

2 release files

2.76.1

2 release files

2.76.0

2 release files

2.75.3

2 release files

2.75.2

2 release files

2.75.1

2 release files

2.75.0

2 release files

2.74.2

2 release files

2.74.1

2 release files

2.74.0

2 release files

2.73.0

2 release files

2.72.2

2 release files

2.72.1

2 release files

2.72.0

2 release files

2.71.4

2 release files

2.71.3

2 release files

2.71.2

2 release files

2.71.1

2 release files

2.71.0

2 release files

2.70.6

2 release files

2.70.5

2 release files

2.70.4

2 release files

2.70.3

2 release files

2.70.2

2 release files

2.70.1

2 release files

2.70.0

2 release files

2.69.0

2 release files

2.68.0

2 release files

2.67.3

2 release files

2.67.2

2 release files

2.67.1

2 release files

2.67.0

2 release files

2.66.0

2 release files

2.65.2

2 release files

2.65.1

2 release files

2.65.0

2 release files

2.64.1

2 release files

2.64.0

2 release files

2.63.4

2 release files

2.63.3

2 release files

2.63.2

2 release files

2.63.1

2 release files

2.63.0

2 release files

2.62.5

2 release files

2.62.4

2 release files

2.62.3

2 release files

2.62.2

2 release files

2.62.1

2 release files

2.62.0

2 release files

2.61.6

2 release files

2.61.5

2 release files

2.61.4

2 release files

2.61.3

2 release files

2.61.2

2 release files

2.61.1

2 release files

2.61.0

2 release files

2.60.2

2 release files

2.60.1

2 release files

2.60.0

2 release files

2.59.4

2 release files

2.59.3

2 release files

2.59.2

2 release files

2.59.1

2 release files

2.59.0

2 release files

2.58.4

2 release files

2.58.3

2 release files

2.58.2

2 release files

2.58.1

2 release files

2.58.0

2 release files

2.57.2

2 release files

2.57.1

2 release files

2.51.2

2 release files

2.51.1

2 release files

2.51.0

2 release files

2.50.9

2 release files

2.50.8

2 release files

2.50.7

2 release files

2.50.6

2 release files

2.50.5

2 release files

2.50.4

2 release files

2.50.3

2 release files

2.50.2

2 release files

2.50.1

2 release files

2.50.0

2 release files

2.49.4

2 release files

2.49.3

2 release files

2.49.2

2 release files

2.49.1

2 release files

2.49.0

2 release files

2.48.5

2 release files

2.48.4

2 release files

2.48.3

2 release files

2.48.2

2 release files

2.48.1

2 release files

2.48.0

2 release files

2.47.0

2 release files

2.46.4

2 release files

2.46.3

2 release files

2.46.2

2 release files

2.46.1

2 release files

2.46.0

2 release files

2.45.4

2 release files

2.45.3

2 release files

2.45.2

2 release files

2.45.1

2 release files

2.45.0

2 release files

2.44.1

2 release files

2.44.0

2 release files

2.43.1

2 release files

2.43.0

2 release files

2.42.9

2 release files

2.42.8

2 release files

2.42.7

2 release files

2.42.6

2 release files

2.42.5

2 release files

2.42.4

2 release files

2.42.3

2 release files

2.42.2

2 release files

2.42.1

2 release files

2.41.1

2 release files

2.41.0

2 release files

2.40.6

2 release files

2.40.5

2 release files

2.40.4

2 release files

2.40.3

2 release files

2.40.2

2 release files

2.40.1

2 release files

2.40.0

2 release files

2.39.2

2 release files

2.39.1

2 release files

2.39.0

2 release files

2.38.1

2 release files

2.38.0

2 release files

2.37.9

2 release files

2.37.8

2 release files

2.37.7

2 release files

2.37.6

2 release files

2.37.5

2 release files

2.37.4

2 release files

2.37.3

2 release files

2.37.2

2 release files

2.37.1

2 release files

2.37.0

2 release files

2.36.1

2 release files

2.36.0

2 release files

2.35.9

2 release files

2.35.8

2 release files

2.35.7

2 release files

2.35.6

2 release files

2.35.5

2 release files

2.35.4

2 release files

2.35.3

2 release files

2.35.2

2 release files

2.35.1

2 release files

2.35.0

2 release files

2.34.4

2 release files

2.34.3

2 release files

2.34.2

2 release files

2.34.1

2 release files

2.34.0

2 release files

2.33.0

2 release files

2.32.7

2 release files

2.32.6

2 release files

2.32.5

2 release files

2.32.4

2 release files

2.32.3

2 release files

2.25.8

2 release files

2.25.7

2 release files

2.25.6

2 release files

2.25.5

2 release files

2.25.4

2 release files

2.25.3

2 release files

2.25.2

2 release files

2.25.1

2 release files

2.25.0

2 release files

2.24.1

2 release files

2.24.0

2 release files

2.23.0

2 release files

2.22.3

2 release files

2.22.2

2 release files

2.22.1

2 release files

2.22.0

2 release files

2.21.0

2 release files

2.20.1

2 release files

2.20.0

2 release files

2.19.0

2 release files

2.18.0

2 release files

2.17.1

2 release files

2.17.0

2 release files

2.16.4

2 release files

2.16.3

2 release files

2.16.2

2 release files

2.16.1

2 release files

2.16.0

2 release files

2.15.0

2 release files

2.14.8

2 release files

2.14.7

2 release files

2.14.6

2 release files

2.14.4

2 release files

2.14.3

2 release files

2.14.2

2 release files

2.14.1

2 release files

2.14.0

2 release files

2.13.1

2 release files

2.13.0

2 release files

2.12.9

2 release files

2.12.8

2 release files

2.12.7

2 release files

2.12.6

2 release files

2.12.5

2 release files

2.12.4

2 release files

2.12.3

2 release files

2.12.2

2 release files

2.12.1

2 release files

2.9.3

2 release files

2.9.2

2 release files

2.9.1

2 release files

2.9.0

2 release files

2.8.8

2 release files

2.8.7

2 release files

2.8.6

2 release files

2.8.5

2 release files

2.8.4

2 release files

2.8.3

2 release files

2.8.2

2 release files

2.8.1

2 release files

2.8.0

2 release files

2.7.9

2 release files

2.7.8

2 release files

2.7.7

2 release files

2.7.6

2 release files

2.7.5

2 release files

2.7.4

2 release files

2.7.3

2 release files

2.7.2

2 release files

2.7.1

2 release files

2.7.0

2 release files

2.6.2

2 release files

2.6.1

2 release files

2.6.0

2 release files

2.5.1

2 release files

2.5.0

2 release files

2.4.2

2 release files

2.4.1

2 release files

2.4.0

2 release files

2.3.11

2 release files

2.3.10

2 release files

2.3.8

2 release files

2.3.7

2 release files

2.3.6

2 release files

2.3.5

2 release files

2.3.4

2 release files

2.3.3

2 release files

2.3.2

2 release files

2.3.1

2 release files

2.3.0

2 release files

2.2.4

2 release files

2.2.3

2 release files

2.2.2

2 release files

2.2.1

2 release files

2.1.17

2 release files

2.1.16

2 release files

2.1.15

2 release files

2.1.14

2 release files

2.1.13

2 release files

2.1.12

2 release files

2.1.11

2 release files

2.1.10

2 release files

2.1.9

2 release files

2.1.8

2 release files

2.1.7

2 release files

2.1.6

2 release files

2.1.5

2 release files

2.1.4

2 release files

2.1.3

2 release files

2.1.2

2 release files

2.1.0

2 release files

2.0.66

2 release files

2.0.65

2 release files

2.0.64

2 release files

2.0.63

2 release files

2.0.62

2 release files

2.0.61

2 release files

2.0.60

2 release files

2.0.59

2 release files

2.0.58

2 release files

2.0.57

2 release files

2.0.56

2 release files

2.0.55

2 release files

2.0.54

2 release files

2.0.53

2 release files

2.0.52

2 release files

2.0.50

2 release files

2.0.49

2 release files

2.0.48

2 release files

2.0.47

2 release files

2.0.46

2 release files

2.0.44

2 release files

2.0.43

2 release files

2.0.42

2 release files

2.0.41

2 release files

2.0.40

2 release files

2.0.39

2 release files

2.0.38

2 release files

2.0.37

2 release files

2.0.36

2 release files

2.0.35

2 release files

2.0.34

2 release files

2.0.33

2 release files

2.0.31

2 release files

2.0.20

2 release files

2.0.19

2 release files

2.0.18

2 release files

2.0.17

2 release files

2.0.16

2 release files

2.0.15

2 release files

2.0.13

2 release files

2.0.12

2 release files

2.0.11

2 release files

2.0.10

2 release files

2.0.9

2 release files

2.0.8

2 release files

2.0.7

2 release files

2.0.6

2 release files

2.0.5

2 release files

2.0.4

2 release files

2.0.3

2 release files

2.0.2

2 release files

2.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page