GitHub logo

GitHub

Free

Multi-agent simulation library in Python

FreeFree tier
Type
Open Source

About GitHub

Westworld is a multi-agent simulation library written in Python, inspired by Unity ML Agents. It enables simulation of environments for logistics, retail, and epidemiology with pre-coded spatial environments, agent communication, and optimization via heuristics or reinforcement learning. The library is currently experimental and in alpha-release, with features including easy creation of grid and non-grid environments, predefined object types (agents, obstacles, collectibles, triggers), subclassing for custom objects, random object spawning, basic rigid body physics, simple agent behaviors (pathfinding, wandering, fleeing, vision), automatic maze generation, and simulation visualization/export (GIF or video).

Key Features

Easy creation of Grid and non-grid environments
Objects (Agents, Obstacles, Collectibles, Triggers) with subclassing
Spawner to generate objects randomly in the environment
Basic rigid body system for all objects
Simple agent behaviors (pathfinding, wandering, random walk, fleeing, vision range)
Automatic maze generation
Layer integration to convert image to obstacle and snap to grid
Simulation visualization, replay and export (gif or video)
Pre-coded sample simulations and agents
Installable via pip (westworld)

Pros & Cons

Pros
  • Open source with MIT license
  • Easy to install via pip
  • Provides pre-built environments and agent behaviors
  • Supports visualization and export of simulations
  • Allows customization through subclassing and custom objects
  • Potential for RL integration with Stable Baselines
Cons
  • Extremely experimental and in alpha-phase; not production-ready
  • Documentation may not be up-to-date
  • Not all features are fully tested
  • Limited to Python; no official web interface without external tools
  • Pathfinding and behaviors are described as 'simple'

Best For

Simulation of logistics systems with multiple agentsRetail environment simulation and optimizationEpidemiological modeling and spread simulationReinforcement learning training environmentsMulti-agent system research and prototyping

FAQ

What is Westworld?
Westworld is a multi-agent simulation library in Python, inspired by Unity ML Agents. It can simulate environments with multiple interacting agents in domains like logistics, retail, and epidemiology.
How do I install Westworld?
You can install the library via pip: `pip install westworld`. For development, clone the repository and use Poetry.
Is Westworld production-ready?
No, the library is extremely experimental, under active development, and in alpha-release. Documentation may not be complete and not all features are tested.
What are the main features of Westworld?
Features include grid/non-grid environments, objects with rigid body physics, agent behaviors (pathfinding, wandering, fleeing), maze generation, and simulation visualization/export.