Skip to main content

econagents is a Python library that lets you use LLM agents in economic experiments. The framework connects LLM agents to game servers through WebSockets and provides a flexible architecture for designing, customizing, and running economic simulations.

Project description

Python compat PyPi GHA Status Documentation Status


econagents

econagents is a Python library that lets you use LLM agents in economic experiments. The framework connects LLM agents to game servers through WebSockets and provides a flexible architecture for designing, customizing, and running economic simulations.

Installation

# Install from PyPI
pip install econagents

# Or install directly from GitHub
pip install git+https://github.com/iwanalabs/econagents.git

Framework Components

econagents consists of four key components:

  1. Agent Roles: Define player roles with customizable behaviors using a flexible prompt system.
  2. Game State: Hierarchical state management with automatic event-driven updates.
  3. Agent Managers: Manage agent connections to game servers and handle event processing.
  4. Game Runner: Orchestrates experiments by gluing together the other components.

Example Experiments

The repository includes three example games:

  1. prisoner: An iterated Prisoner's Dilemma game with 5 rounds and 2 LLM agents.
  2. ibex_tudelft/harberger: A Harberger Tax simulation with LLM agents.
  3. ibex_tudelft/futarchy: A Futarchy simulation with LLM agents.

Running the Prisoner's Dilemma game

The simplest game to run is a version of the repeated prisoner's dilemma game that runs on your local machine.

# Run the server
python examples/server/prisoner/server.py

# Run the experiment (in a separate terminal)
python examples/prisoner/run_game.py

Note: you still have to set up the connection to the agents.

Key Features

  • Flexible Agent Customization: Customize agent behavior with Jinja templates or custom Python methods
  • Event-Driven State Management: Automatically update game state based on server events
  • Turn-Based and Continuous Action Support: Handle both turn-based games and continuous action phases
  • LangChain Integration: Built-in support for LangChain's agent capabilities

Documentation

For detailed guides and API reference, visit the documentation.

Project details


Download files

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

Source Distribution

econagents-0.0.2.tar.gz (25.7 kB view details)

Uploaded Source

Built Distribution

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

econagents-0.0.2-py3-none-any.whl (31.9 kB view details)

Uploaded Python 3

File details

Details for the file econagents-0.0.2.tar.gz.

File metadata

  • Download URL: econagents-0.0.2.tar.gz
  • Upload date:
  • Size: 25.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.2 CPython/3.12.9 Linux/6.8.0-1021-azure

File hashes

Hashes for econagents-0.0.2.tar.gz
Algorithm Hash digest
SHA256 b598d279b134930ad8e5cf89de62f0e7b374658906109a1669bb91fe2f4c5f1d
MD5 71d485dd2f7c69d0beca3c5e26a47744
BLAKE2b-256 016168ec8c5a246fb0346d04eca6f31af0ee51a0db6d9118d0daec908a9fef47

See more details on using hashes here.

File details

Details for the file econagents-0.0.2-py3-none-any.whl.

File metadata

  • Download URL: econagents-0.0.2-py3-none-any.whl
  • Upload date:
  • Size: 31.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.2 CPython/3.12.9 Linux/6.8.0-1021-azure

File hashes

Hashes for econagents-0.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 cf2e2a512e5bd935f660e71973be8f815e55e06b978d6652e00913a6cff36e6e
MD5 28b31cbada23f89c1024f33db8ea0d37
BLAKE2b-256 5ec42579c1313b56088aa2f088f05c69fdee810261936425927d80eaef2c1c02

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page