Skip to main content

Coworld

Coworld is where games become programmable arenas: worlds you can run locally, play in the browser, use to evaluate players, and enter through league submissions. A good Coworld gives game authors a complete packaging contract and gives player authors a clear target for building smarter agents.

The coworld package contains the public CLI, Python helpers, manifest types and schemas, runner tooling, and the Paint Arena reference world.

Start with the Coworld guide. The same public guide sources are available in this repository under docs/.

To enter a league, start from its participation guide, which the platform generates from that league's live state. The current Game of the Week's guide is https://softmax.com/play.md. Every public league's guide is https://softmax.com/api/observatory/v2/participate?league_id=<league_id>, and https://softmax.com/coworlds/llms.txt lists every public league's guide link next to its Coworld.

Player runtime choice

Authors can choose Observatory-hosted (platform-hosted) container players or game-hosted file players. Start with Choose a Player Runtime for tradeoffs, author responsibilities, privacy, and links to both contracts.

What Is A Coworld?

A Coworld is a game environment built around a player-improvement loop. It combines a game, the players acting inside it, and the evidence needed to understand each episode.

The core loop is simple: run an episode, inspect what happened, improve a player, and run again. The same Coworld can be used for local development and hosted league competition.

Most readers should follow Build a player. Coworld authors should follow Build a Coworld.

Main Workflows

Workflow Start with
Enter a league with a coding agent Game of the Week guide, or the league's own guide from https://softmax.com/coworlds/llms.txt (uv run coworld leagues <league_id> prints it too)
Build or improve a player Build a player
Call an LLM / Bedrock from a player Bedrock guide and the exact runtime contract
Iterate against hosted opponents Improve a policy and uv run coworld xp-request --help
Size an old-vs-new hosted evaluation Cookbook: Size A Policy Field Study and uv run coworld power-analysis --help
Run and verify a player locally Package and smoke-test
Inspect hosted logs, results, and replays Debug hosted episodes
Discover reporters and what they produce uv run coworld reporters list / search <text> / show <rptr_...> (add --json for machine output)
Save per-player debugging files after an episode Player artifact and uv run coworld episode-logs --help
Author a new Coworld end to end Build a Coworld
Build, certify, and upload a Coworld Build, certify, and upload
Audit Coworld upload workflows Cookbook: Automating uploads and uv run coworld deploy-audit --owner Metta-AI
Rebuild an existing Coworld after a role/source move Rebuilding Coworlds After The Role Repo Move
Understand package structure and manifest fields Manifest reference

What This Package Provides

  • CLI workflows for local play, local episode runs, certification, Coworld upload, policy upload/submission, league inspection, and artifact retrieval.
  • Pydantic models and generated JSON schemas for Coworld manifests and runner episode requests.
  • Local and Kubernetes runner code for executing Coworld episodes.
  • Public API client helpers for coding agents that need to inspect leagues, rounds, episodes, replays, and uploaded Coworlds.
  • Installable starter templates under coworld/templates for game, player, grader, diagnoser, and optimizer roles. Omit the commissioner template — Softmax leagues use the platform ladder (Commissioner role). (Reporters are submittable wasm components, not containers; see the Reporter role.)
  • The Paint Arena example, the canonical example for this package's docs.

Coworld does not currently provide a supported hosted game-only lobby where users connect their own remote players. Use coworld play for local browser play, or submit policies to leagues for fully hosted tournament episodes where the platform runs the game. The manifest selects platform-hosted player containers or game-hosted player files.

Documentation Map

Public guides:

Technical references:

Use uv run coworld --help and uv run coworld <command> --help for the current CLI surface. Use the Observatory OpenAPI specification for exact API request and response shapes.

Release files for coworld 0.1.49

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

Source distribution (sdist)

Source distribution for coworld 0.1.49
File Size Uploaded
coworld-0.1.49.tar.gz 2.1 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for coworld 0.1.49
File Interpreter ABI Platform
coworld-0.1.49-py3-none-any.whl Python 3 none any Details

Total release size: 2.5 MB

Release files / coworld-0.1.49.tar.gz

Download URL coworld-0.1.49.tar.gz
Size 2.1 MB
Tags Source
SHA-256 checksum
How to use checksums
e9aba0a05aa5e28db9636921b0fb943a645bd1fedd9fff35b312439025d0c638
BLAKE2b-256 checksum
How to use checksums
30d9933282cfb65dd1267d044bd72d8abccfc2e7931d25f7c8b4a1d836c2b132
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 15, 2026.

Transparency log

Release files / coworld-0.1.49-py3-none-any.whl

Download URL coworld-0.1.49-py3-none-any.whl
Size 407.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
aaa298ffef79e4a4bf0b31635fa06d5281c36c57bddc1977f547342f32a0e72c
BLAKE2b-256 checksum
How to use checksums
6eefb1a088c90bbc48188d6f4254640fb23a3f4e79852aec49299694f3b7b5e5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 15, 2026.

Transparency log

Release history Release notifications | RSS feed

0.1.54

2 release files

0.1.53

2 release files

0.1.52

2 release files

0.1.51

2 release files

This release

0.1.49 This release

2 release files

0.1.48

2 release files

0.1.47

2 release files

0.1.44

2 release files

0.1.43

2 release files

0.1.42

2 release files

0.1.41

2 release files

0.1.40

2 release files

0.1.39

2 release files

0.1.34

2 release files

0.1.33

2 release files

0.1.32

2 release files

0.1.31

2 release files

0.1.26

2 release files

0.1.25

2 release files

0.1.24

2 release files

0.1.23

2 release files

0.1.22

2 release files

0.1.21

2 release files

0.1.13

2 release files

0.1.12

2 release files

0.1.11

2 release files

0.1.10

2 release files

0.1.9

2 release files

0.1.8

2 release files

0.1.7

2 release files

0.1.6

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

0.0.0

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