Skip to main content

Plato Python SDK

Python SDK for the Plato platform.

Installation

pip install plato-sdk-v2

# For agent functionality (requires Python 3.12+)
pip install 'plato-sdk-v2[agents]'

Or with uv:

uv add plato-sdk-v2
uv add 'plato-sdk-v2[agents]'  # for agent support

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.

Python Usage

from plato.agents import BaseAgent, AgentTask, run_agent, get_agent_schema, AGENT_SCHEMAS

# List available agent config schemas
print(list(AGENT_SCHEMAS.keys()))

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

Agent Schemas

Get configuration schemas for any agent:

from plato.agents import get_agent_schema, AGENT_SCHEMAS

# Get schema for specific agent
schema = get_agent_schema("claude-code")
print(schema)

# List all available schemas
print(list(AGENT_SCHEMAS.keys()))

Custom Agents

Create a custom agent by subclassing plato.agents.BaseAgent (see plato/agents/base.py for the interface).

Publish to Plato PyPI:

plato agent publish ./my-agent-package

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 Task

Use this when running evaluations against predefined tasks. This flow includes task evaluation at the end.

import asyncio
from plato.v2 import AsyncPlato

async def main():
    plato = AsyncPlato()

    # Create session from task ID
    session = await plato.sessions.create(task=123, 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}")

    # 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()

Architecture

plato/
├── agents/          # Agent SDK (BaseAgent, AgentTask, run_agent) + schemas
├── sims/            # Simulator clients (Spree, Firefly, etc.)
├── world/           # World/environment abstractions
├── v1/              # Legacy SDK + CLI
└── v2/              # New API client

Documentation

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

plato_sdk_v2-2.112.0.tar.gz (1.5 MB view details)

Uploaded Source

Built Distribution

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

plato_sdk_v2-2.112.0-py3-none-any.whl (1.6 MB view details)

Uploaded Python 3

File details

Details for the file plato_sdk_v2-2.112.0.tar.gz.

File metadata

  • Download URL: plato_sdk_v2-2.112.0.tar.gz
  • Upload date:
  • Size: 1.5 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.30 {"installer":{"name":"uv","version":"0.11.30","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 plato_sdk_v2-2.112.0.tar.gz
Algorithm Hash digest
SHA256 39d9c8350a88da8d5d5bf376560dff2645f400093023ed86d691959819bf5ea5
MD5 7f0e8b036e83deae0117d3b3bf7c15ac
BLAKE2b-256 5c5928bc425d4d93f6f946eb16358631f2cf3ae3fba65570f907135ec22b4cdc

See more details on using hashes here.

File details

Details for the file plato_sdk_v2-2.112.0-py3-none-any.whl.

File metadata

  • Download URL: plato_sdk_v2-2.112.0-py3-none-any.whl
  • Upload date:
  • Size: 1.6 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.30 {"installer":{"name":"uv","version":"0.11.30","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 plato_sdk_v2-2.112.0-py3-none-any.whl
Algorithm Hash digest
SHA256 54b2222b9ab241ad76604ae408b832b54636948a14b4346704487c2ce82d0438
MD5 826d2aa866a4ee0ee58c878e588e8d5a
BLAKE2b-256 ff592136f9953ef336a2a9d8f46f42364c42655dc01f18ec53dc063195b1541d

See more details on using hashes here.

Release history Release notifications | RSS feed

2.145.4

2 files

2.145.3

2 files

2.145.2

2 files

2.145.1

2 files

2.145.0

2 files

2.144.2

2 files

2.144.1

2 files

2.144.0

2 files

2.143.1

2 files

2.143.0

2 files

2.142.1

2 files

2.142.0

2 files

2.141.0

2 files

2.140.0

2 files

2.139.0

2 files

2.138.0

2 files

2.137.2

2 files

2.137.1

2 files

2.137.0

2 files

2.136.0

2 files

2.135.0

2 files

2.134.0

2 files

2.133.3

2 files

2.133.2

2 files

2.133.1

2 files

2.133.0

2 files

2.132.1

2 files

2.132.0

2 files

2.131.0

2 files

2.130.0

2 files

2.129.0

2 files

2.128.0

2 files

2.127.1

2 files

2.127.0

2 files

2.126.0

2 files

2.125.2

2 files

2.125.1

2 files

2.125.0

2 files

2.124.0

2 files

2.123.6

2 files

2.123.5

2 files

2.123.4

2 files

2.123.3

2 files

2.123.2

2 files

2.123.1

2 files

2.123.0

2 files

2.122.2

2 files

2.122.1

2 files

2.122.0

2 files

2.121.0

2 files

2.120.1

2 files

2.120.0

2 files

2.119.0

2 files

2.118.4

2 files

2.118.3

2 files

2.118.2

2 files

2.118.1

2 files

2.118.0

2 files

2.117.0

2 files

2.116.0

2 files

2.115.1

2 files

2.115.0

2 files

2.114.0

2 files

2.113.1

2 files

2.113.0

2 files

This release

2.112.0 This release

2 files

2.111.0

2 files

2.110.3

2 files

2.110.2

2 files

2.110.1

2 files

2.110.0

2 files

2.109.0

2 files

2.108.6

2 files

2.108.5

2 files

2.108.4

2 files

2.108.1

2 files

2.108.0

2 files

2.107.1

2 files

2.107.0

2 files

2.106.8

2 files

2.106.7

2 files

2.106.6

2 files

2.106.5

2 files

2.106.4

2 files

2.106.3

2 files

2.106.2

2 files

2.106.1

2 files

2.106.0

2 files

2.105.0

2 files

2.104.1

2 files

2.104.0

2 files

2.103.0

2 files

2.102.0

2 files

2.101.0

2 files

2.100.0

2 files

2.99.5

2 files

2.99.4

2 files

2.99.3

2 files

2.99.2

2 files

2.99.1

2 files

2.99.0

2 files

2.98.0

2 files

2.97.1

2 files

2.97.0

2 files

2.96.1

2 files

2.96.0

2 files

2.95.1

2 files

2.95.0

2 files

2.94.0

2 files

2.93.2

2 files

2.93.1

2 files

2.93.0

2 files

2.92.1

2 files

2.92.0

2 files

2.91.4

2 files

2.91.3

2 files

2.91.2

2 files

2.91.1

2 files

2.91.0

2 files

2.90.3

2 files

2.90.2

2 files

2.90.1

2 files

2.90.0

2 files

2.89.1

2 files

2.89.0

2 files

2.88.3

2 files

2.88.2

2 files

2.88.1

2 files

2.88.0

2 files

2.87.9

2 files

2.87.8

2 files

2.87.7

2 files

2.87.6

2 files

2.87.5

2 files

2.87.4

2 files

2.87.3

2 files

2.87.2

2 files

2.87.1

2 files

2.87.0

2 files

2.86.5

2 files

2.86.4

2 files

2.86.3

2 files

2.86.2

2 files

2.86.1

2 files

2.86.0

2 files

2.85.16

2 files

2.85.15

2 files

2.85.14

2 files

2.85.13

2 files

2.85.12

2 files

2.85.11

2 files

2.85.10

2 files

2.85.9

2 files

2.85.8

2 files

2.85.7

2 files

2.85.6

2 files

2.85.5

2 files

2.85.4

2 files

2.85.3

2 files

2.85.2

2 files

2.85.1

2 files

2.85.0

2 files

2.84.4

2 files

2.84.3

2 files

2.84.2

2 files

2.84.1

2 files

2.84.0

2 files

2.83.1

2 files

2.83.0

2 files

2.82.11

2 files

2.82.10

2 files

2.82.9

2 files

2.82.8

2 files

2.82.7

2 files

2.82.6

2 files

2.82.5

2 files

2.82.4

2 files

2.82.3

2 files

2.82.2

2 files

2.82.1

2 files

2.82.0

2 files

2.81.0

2 files

2.80.1

2 files

2.80.0

2 files

2.79.1

2 files

2.79.0

2 files

2.78.0

2 files

2.77.4

2 files

2.77.3

2 files

2.77.2

2 files

2.77.1

2 files

2.77.0

2 files

2.76.5

2 files

2.76.4

2 files

2.76.3

2 files

2.76.2

2 files

2.76.1

2 files

2.76.0

2 files

2.75.3

2 files

2.75.2

2 files

2.75.1

2 files

2.75.0

2 files

2.74.2

2 files

2.74.1

2 files

2.74.0

2 files

2.73.0

2 files

2.72.2

2 files

2.72.1

2 files

2.72.0

2 files

2.71.4

2 files

2.71.3

2 files

2.71.2

2 files

2.71.1

2 files

2.71.0

2 files

2.70.6

2 files

2.70.5

2 files

2.70.4

2 files

2.70.3

2 files

2.70.2

2 files

2.70.1

2 files

2.70.0

2 files

2.69.0

2 files

2.68.0

2 files

2.67.3

2 files

2.67.2

2 files

2.67.1

2 files

2.67.0

2 files

2.66.0

2 files

2.65.2

2 files

2.65.1

2 files

2.65.0

2 files

2.64.1

2 files

2.64.0

2 files

2.63.4

2 files

2.63.3

2 files

2.63.2

2 files

2.63.1

2 files

2.63.0

2 files

2.62.5

2 files

2.62.4

2 files

2.62.3

2 files

2.62.2

2 files

2.62.1

2 files

2.62.0

2 files

2.61.6

2 files

2.61.5

2 files

2.61.4

2 files

2.61.3

2 files

2.61.2

2 files

2.61.1

2 files

2.61.0

2 files

2.60.2

2 files

2.60.1

2 files

2.60.0

2 files

2.59.4

2 files

2.59.3

2 files

2.59.2

2 files

2.59.1

2 files

2.59.0

2 files

2.58.4

2 files

2.58.3

2 files

2.58.2

2 files

2.58.1

2 files

2.58.0

2 files

2.57.2

2 files

2.57.1

2 files

2.57.0

2 files

2.56.11

2 files

2.56.10

2 files

2.56.9

2 files

2.56.8

2 files

2.56.7

2 files

2.56.6

2 files

2.56.5

2 files

2.56.4

2 files

2.56.3

2 files

2.56.2

2 files

2.56.1

2 files

2.56.0

2 files

2.55.9

2 files

2.55.8

2 files

2.55.7

2 files

2.55.6

2 files

2.55.5

2 files

2.55.4

2 files

2.55.3

2 files

2.55.2

2 files

2.55.1

2 files

2.55.0

2 files

2.54.8

2 files

2.54.7

2 files

2.54.6

2 files

2.54.5

2 files

2.54.4

2 files

2.54.3

2 files

2.52.0

2 files

2.51.24

2 files

2.51.23

2 files

2.51.2

2 files

2.51.1

2 files

2.51.0

2 files

2.50.11

2 files

2.50.10

2 files

2.50.9

2 files

2.50.8

2 files

2.50.7

2 files

2.50.6

2 files

2.50.5

2 files

2.50.4

2 files

2.50.3

2 files

2.50.2

2 files

2.50.1

2 files

2.50.0

2 files

2.49.4

2 files

2.49.3

2 files

2.49.2

2 files

2.49.1

2 files

2.49.0

2 files

2.48.5

2 files

2.48.4

2 files

2.48.3

2 files

2.48.2

2 files

2.48.1

2 files

2.48.0

2 files

2.47.0

2 files

2.46.4

2 files

2.46.3

2 files

2.46.2

2 files

2.46.1

2 files

2.46.0

2 files

2.45.4

2 files

2.45.3

2 files

2.45.2

2 files

2.45.1

2 files

2.45.0

2 files

2.44.1

2 files

2.44.0

2 files

2.43.1

2 files

2.43.0

2 files

2.42.19

2 files

2.42.18

2 files

2.42.17

2 files

2.42.16

2 files

2.42.15

2 files

2.42.14

2 files

2.42.13

2 files

2.42.12

2 files

2.42.11

2 files

2.42.10

2 files

2.42.9

2 files

2.42.8

2 files

2.42.7

2 files

2.42.6

2 files

2.42.5

2 files

2.42.4

2 files

2.42.3

2 files

2.42.2

2 files

2.42.1

2 files

2.41.1

2 files

2.41.0

2 files

2.40.6

2 files

2.40.5

2 files

2.40.4

2 files

2.40.3

2 files

2.40.2

2 files

2.40.1

2 files

2.40.0

2 files

2.39.2

2 files

2.39.1

2 files

2.39.0

2 files

2.38.1

2 files

2.38.0

2 files

2.37.32

2 files

2.37.30

2 files

2.37.29

2 files

2.37.28

2 files

2.37.27

2 files

2.37.26

2 files

2.37.25

2 files

2.37.24

2 files

2.37.23

2 files

2.37.22

2 files

2.37.21

2 files

2.37.20

2 files

2.37.19

2 files

2.37.18

2 files

2.37.17

2 files

2.37.16

2 files

2.37.15

2 files

2.37.14

2 files

2.37.13

2 files

2.37.12

2 files

2.37.11

2 files

2.37.10

2 files

2.37.9

2 files

2.37.8

2 files

2.37.7

2 files

2.37.6

2 files

2.37.5

2 files

2.37.4

2 files

2.37.3

2 files

2.37.2

2 files

2.37.1

2 files

2.37.0

2 files

2.36.1

2 files

2.36.0

2 files

2.35.29

2 files

2.35.28

2 files

2.35.27

2 files

2.35.26

2 files

2.35.25

2 files

2.35.24

2 files

2.35.23

2 files

2.35.22

2 files

2.35.21

2 files

2.35.20

2 files

2.35.19

2 files

2.35.18

2 files

2.35.17

2 files

2.35.16

2 files

2.35.15

2 files

2.35.14

2 files

2.35.13

2 files

2.35.12

2 files

2.35.11

2 files

2.35.10

2 files

2.35.9

2 files

2.35.8

2 files

2.35.7

2 files

2.35.6

2 files

2.35.5

2 files

2.35.4

2 files

2.35.3

2 files

2.35.2

2 files

2.35.1

2 files

2.35.0

2 files

2.34.4

2 files

2.34.3

2 files

2.34.2

2 files

2.34.1

2 files

2.34.0

2 files

2.33.0

2 files

2.32.7

2 files

2.32.6

2 files

2.32.5

2 files

2.32.4

2 files

2.32.3

2 files

2.32.2

2 files

2.32.1

2 files

2.32.0

2 files

2.31.10

2 files

2.31.9

2 files

2.31.8

2 files

2.31.7

2 files

2.31.6

2 files

2.31.5

2 files

2.31.4

2 files

2.31.3

2 files

2.31.2

2 files

2.31.1

2 files

2.31.0

2 files

2.30.1

2 files

2.30.0

2 files

2.29.1

2 files

2.29.0

2 files

2.28.4

2 files

2.28.3

2 files

2.28.2

2 files

2.28.1

2 files

2.28.0

2 files

2.27.2

2 files

2.27.1

2 files

2.27.0

2 files

2.26.3

2 files

2.26.2

2 files

2.26.1

2 files

2.26.0

2 files

2.25.9

2 files

2.25.8

2 files

2.25.7

2 files

2.25.6

2 files

2.25.5

2 files

2.25.4

2 files

2.25.3

2 files

2.25.2

2 files

2.25.1

2 files

2.25.0

2 files

2.24.1

2 files

2.24.0

2 files

2.23.0

2 files

2.22.3

2 files

2.22.2

2 files

2.22.1

2 files

2.22.0

2 files

2.21.0

2 files

2.20.1

2 files

2.20.0

2 files

2.19.0

2 files

2.18.0

2 files

2.17.1

2 files

2.17.0

2 files

2.16.4

2 files

2.16.3

2 files

2.16.2

2 files

2.16.1

2 files

2.16.0

2 files

2.15.0

2 files

2.14.8

2 files

2.14.7

2 files

2.14.6

2 files

2.14.4

2 files

2.14.3

2 files

2.14.2

2 files

2.14.1

2 files

2.14.0

2 files

2.13.1

2 files

2.13.0

2 files

2.12.15

2 files

2.12.14

2 files

2.12.13

2 files

2.12.12

2 files

2.12.11

2 files

2.12.10

2 files

2.12.9

2 files

2.12.8

2 files

2.12.7

2 files

2.12.6

2 files

2.12.5

2 files

2.12.4

2 files

2.12.3

2 files

2.12.2

2 files

2.12.1

2 files

2.12.0

2 files

2.11.6

2 files

2.11.5

2 files

2.11.4

2 files

2.11.3

2 files

2.11.2

2 files

2.11.1

2 files

2.10.6

2 files

2.10.5

2 files

2.10.4

2 files

2.10.3

2 files

2.10.2

2 files

2.10.1

2 files

2.10.0

2 files

2.9.3

2 files

2.9.2

2 files

2.9.1

2 files

2.9.0

2 files

2.8.8

2 files

2.8.7

2 files

2.8.6

2 files

2.8.5

2 files

2.8.4

2 files

2.8.3

2 files

2.8.2

2 files

2.8.1

2 files

2.8.0

2 files

2.7.9

2 files

2.7.8

2 files

2.7.7

2 files

2.7.6

2 files

2.7.5

2 files

2.7.4

2 files

2.7.3

2 files

2.7.2

2 files

2.7.1

2 files

2.7.0

2 files

2.6.2

2 files

2.6.1

2 files

2.6.0

2 files

2.5.1

2 files

2.5.0

2 files

2.4.2

2 files

2.4.1

2 files

2.4.0

2 files

2.3.11

2 files

2.3.10

2 files

2.3.8

2 files

2.3.7

2 files

2.3.6

2 files

2.3.5

2 files

2.3.4

2 files

2.3.3

2 files

2.3.2

2 files

2.3.1

2 files

2.3.0

2 files

2.2.4

2 files

2.2.3

2 files

2.2.2

2 files

2.2.1

2 files

2.1.17

2 files

2.1.16

2 files

2.1.15

2 files

2.1.14

2 files

2.1.13

2 files

2.1.12

2 files

2.1.11

2 files

2.1.10

2 files

2.1.9

2 files

2.1.8

2 files

2.1.7

2 files

2.1.6

2 files

2.1.5

2 files

2.1.4

2 files

2.1.3

2 files

2.1.2

2 files

2.1.0

2 files

2.0.66

2 files

2.0.65

2 files

2.0.64

2 files

2.0.63

2 files

2.0.62

2 files

2.0.61

2 files

2.0.60

2 files

2.0.59

2 files

2.0.58

2 files

2.0.57

2 files

2.0.56

2 files

2.0.55

2 files

2.0.54

2 files

2.0.53

2 files

2.0.52

2 files

2.0.50

2 files

2.0.49

2 files

2.0.48

2 files

2.0.47

2 files

2.0.46

2 files

2.0.44

2 files

2.0.43

2 files

2.0.42

2 files

2.0.41

2 files

2.0.40

2 files

2.0.39

2 files

2.0.38

2 files

2.0.37

2 files

2.0.36

2 files

2.0.35

2 files

2.0.34

2 files

2.0.33

2 files

2.0.31

2 files

2.0.30

2 files

2.0.29

2 files

2.0.28

2 files

2.0.27

2 files

2.0.26

2 files

2.0.25

2 files

2.0.24

2 files

2.0.23

2 files

2.0.22

2 files

2.0.21

2 files

2.0.20

2 files

2.0.19

2 files

2.0.18

2 files

2.0.17

2 files

2.0.16

2 files

2.0.15

2 files

2.0.13

2 files

2.0.12

2 files

2.0.11

2 files

2.0.10

2 files

2.0.9

2 files

2.0.8

2 files

2.0.7

2 files

2.0.6

2 files

2.0.5

2 files

2.0.4

2 files

2.0.3

2 files

2.0.2

2 files

2.0.1

2 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