Skip to main content

SHRDLU World

Small standalone tabletop blocks-world simulator. It can run as a Python object, a headless HTTP service, or a browser viewer for manual control.

Install

pip install shrdlu-world

For local development:

cd ~/shrdlu-block-world
python -m pip install -e .

Run

# Browser viewer at http://127.0.0.1:18123/
shrdlu-simulator

# Equivalent module entrypoint
python3 -m shrdlu_blocks.simulator

# API only
shrdlu-simulator --headless

# Equivalent module entrypoint
python3 -m shrdlu_blocks.simulator --headless

Useful options:

  • --host HOST
  • --port PORT
  • --open-browser

Interface

Running python3 -m shrdlu_blocks.simulator starts a small browser UI for manual control of the scene.

Browser interface

The viewer includes:

  • a central canvas showing the current blocks-world scene
  • Select and Move modes for interacting with objects in the canvas
  • zoom controls and a reset button in the top bar
  • direct x and y inputs for move_grasper
  • buttons for raise_grasper, lower_grasper, open_grasper, and close_grasper
  • an object list for selecting the active object
  • highlight and unhighlight controls for the selected object
  • an event log showing recent actions and simulator responses

This UI is served from the same HTTP server as the JSON API, so the browser viewer and programmatic API stay in sync.

Python API

from shrdlu_blocks import ShrdluBlocksEnv

env = ShrdluBlocksEnv()
env.execute_action({"name": "move_grasper", "args": {"x": -0.1, "y": 0.4}})
env.execute_action({"name": "lower_grasper", "args": {}})
print(env.snapshot_text())

HTTP API

  • GET /api/state
  • POST /api/action
  • POST /api/reset

POST /api/action expects an action object:

{
  "action": {
    "name": "move_grasper",
    "args": {"x": -0.1, "y": 0.4}
  }
}

Supported action names:

  • move_grasper with x and y
  • lower_grasper
  • raise_grasper
  • close_grasper
  • open_grasper
  • highlight_object
  • unhighlight_object

Configuration

export SHRDLU_SIMULATOR_HOST=0.0.0.0
export SHRDLU_SIMULATOR_PORT=18123
export SHRDLU_WEB_OPEN_BROWSER=1

For remote use, forward the viewer port and open http://localhost:18123:

ssh -L 18123:localhost:18123 user@remote-host

Layout

  • shrdlu_blocks/simulator/: environment, controller, scene model, and HTTP server
  • shrdlu_blocks/viewer/: browser viewer and static assets
  • shrdlu_blocks/client.py: small HTTP client for a running service

Metadata

Release files for shrdlu-world 0.1.2

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

Source distribution (sdist)

Source distribution for shrdlu-world 0.1.2
File Size Uploaded Provenance
shrdlu_world-0.1.2.tar.gz 29.6 kB With provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for shrdlu-world 0.1.2
File Interpreter ABI Platform
shrdlu_world-0.1.2-py3-none-any.whl Python 3 none any Details

Total release size: 63.7 kB

Release files / shrdlu_world-0.1.2.tar.gz

Download URL shrdlu_world-0.1.2.tar.gz
Size 29.6 kB
Tags Source
SHA-256 checksum
How to use checksums
48b435082427b79ec55a5912906b0b8a270fb15f9f3fd6a16402de6a396f2ed6
BLAKE2b-256 checksum
How to use checksums
e204449b80b12393110fcb3fa2f14e170a9fd94184c2d93bf2c6f7e8136d3344
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 Jun 29, 2026.

Transparency log

Release files / shrdlu_world-0.1.2-py3-none-any.whl

Download URL shrdlu_world-0.1.2-py3-none-any.whl
Size 34.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
7aa8b2f523af7c72d0a666d54f9e7a8328b38be03a6b2c97534bd4edcf03bce8
BLAKE2b-256 checksum
How to use checksums
09ae4f2f687030c1256c28bda65a97ce6b23e4972f01eb12392a337af6c215d0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 Jun 29, 2026.

Transparency log

Security for shrdlu-world 0.1.2

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.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for shrdlu_world-0.1.2.tar.gz

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 Jun 29, 2026.

Transparency log

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.

Release history Release notifications | RSS feed

This release

0.1.2 This release

2 release files Full 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