Skip to main content

plato-core

Plato Engine Block — a sub-400-line room runtime for agent-space interaction.

Foundation types and mesh registry for the PLATO (Protocol for Layered Agent Tile Orchestration) ecosystem. Zero external dependencies — everything else builds on top.

Install

pip install plato-core

Quick Start

from plato_core import TrainingTile, TileType, content_hash, LamportClock

# Create a tile — the atomic unit of work in PLATO
tile = TrainingTile(
    tile_id="chk-001",
    tile_type=TileType.CHECKPOINT,
    name="my-model-v1",
)

# Lamport clock for causal ordering across distributed rooms
clock = LamportClock()
tile.lamport = clock.tick()

# Content-addressable hash (SHA-256)
h = content_hash(b"some weights data")
print(h)  # 64-char hex string

The Mesh Registry

PLATO rooms auto-discover each other through the mesh registry. Any installed package that declares an entry point is found automatically:

from plato_core import MeshRegistry

registry = MeshRegistry()
matchers = registry.get_matchers()      # from plato-matcher
compressors = registry.get_compressors()  # from plato-compress
trainers = registry.get_trainers()       # from plato-training

Registering a Plugin

  1. Add plato-core as a dependency
  2. Declare an entry point in pyproject.toml:
[project.entry-points."superinstance.plugins"]
my-plugin = "my_package._mesh:register"
  1. Implement the register function:
# my_package/_mesh.py
def register(registry):
    registry.register("matchers", "my_matcher", lambda: MyMatcher)

That's it. The mesh finds it automatically.

Key Concepts

Tiles are the atomic unit of work — signed, content-addressed artifacts that flow between rooms. Every tile has a lifecycle (Active → Superseded → Retracted) and a Lamport timestamp for ordering.

Rooms are agents. Each agent is a PLATO room that produces and consumes tiles. Rooms discover each other through the mesh registry.

Lamport clocks provide causal ordering without a central coordinator. When two rooms exchange tiles, they merge clocks — enabling distributed ordering.

What's Provided

  • TrainingTile, TileType — tile data model
  • TileLifecycle — Active / Superseded / Retracted
  • LamportClock — distributed causal ordering
  • TrainingConfig, AdapterConfig, TrainingMetrics — ML config types
  • content_hash() — SHA-256 content addressing
  • MeshRegistry — auto-discovery of ecosystem packages

Architecture

plato-core (this)       ← base types + mesh registry
  ├── plato-types       ← protocol-level type definitions
  ├── plato-training    ← training rooms, micro models
  ├── plato-mcp         ← MCP server (expose rooms as tools)
  ├── plato-matcher     ← semantic matching
  ├── plato-compress    ← compression / quantization
  └── ...               ← any future PLATO package

Documentation

PLATO Engine Block Family

Plato Core is the Python foundation layer of the broader PLATO ecosystem:

Component Language Repo Focus
Python Core ← you are here Python plato-core Foundation types, mesh registry, training tiles
C Reference C99 plato-engine-block-c Embedded, bare-metal, zero heap alloc
Rust (Original) Rust plato-engine-block no_std + alloc, builder pattern, tokio server
Elixir/OTP Elixir plato-engine-block-elixir BEAM supervision trees, fault tolerance, hot reload
Zig Zig plato-engine-block-zig Comptime ternary packing, cross-compile
Runtime Kernel Rust plato-runtime-kernel Spatial model: tensor grid, batons, assertion traps
Server Python plato-server Knowledge tiles, fleet sync via Matrix, HTTP API

Specs & Guides:

Metadata

Release files for plato-core 0.2.0

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-core 0.2.0
File Size Uploaded Provenance Actions
plato_core-0.2.0.tar.gz 11.6 kB Without provenance Details for plato_core-0.2.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for plato-core 0.2.0
File Interpreter ABI Platform Actions
plato_core-0.2.0-py3-none-any.whl Python 3 none any Details for plato_core-0.2.0-py3-none-any.whl

Total release size: 20.0 kB

Release files / plato_core-0.2.0.tar.gz

Download URL plato_core-0.2.0.tar.gz
Size 11.6 kB
Tags Source
SHA-256 checksum
How to use checksums
b011a4551579d4866e965af463fe5a203b5ec5d8f5ae6bc9799369cbeccc6d9b
BLAKE2b-256 checksum
How to use checksums
44f0dbf53dc6d7e9b37acc677faf4e9d6e8f70700e96c1ccdfd4c1f80560f1ff
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.15

Release files / plato_core-0.2.0-py3-none-any.whl

Download URL plato_core-0.2.0-py3-none-any.whl
Size 8.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
14a2dcfbf653d0bcabfdb30fb2d34dc8d5d1179b2d6eb03986d1f428ffd1cf53
BLAKE2b-256 checksum
How to use checksums
3d98a4872ba1d12b78e776b3dac833eadc70573193068c5dfccad303d3f7ef1d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.15

Security for plato-core 0.2.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.2.0 This release

2 release files No provenance

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