The Arimaa Engine Interface provides a standard method to communicate and control an Arimaa bot.
Python
Switch branches/tags
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
pyrimaa
.gitignore
LICENSE.txt
MANIFEST.in
aei-protocol.txt
analyze_example.cfg
example_position.txt
gameroom_example.cfg
readme.rst
roundrobin_example.cfg
setup.py
usage.rst

readme.rst

AEI Readme

This package provides a specification for the Arimaa Engine Interface (AEI). It also includes some tools for using engines that implement AEI. Including an interface to the arimaa.com gameroom. A full description of AEI can be found in the file aei-protocol.txt.

The scripts included for working with an AEI engine are:

analyze
A simple script that runs an engine and has it search a given position or move sequence.
gameroom
AEI controller that connects to the arimaa.com gameroom and plays a game.
postal_controller
Keeps a bot making moves as needed in any postal games it is a participant in.
roundrobin
Plays engines against each other in a round robin tournament.
simple_engine
Very basic AEI engine, just plays random step moves.

Basic examples of using the scripts can be found in the file usage.rst.

The pyrimaa package also includes modules implementing the controller side of the AEI protocol (aei.py), the Arimaa position representation (as bitboards in board.py and x88 in x88board.py), and a few utility functions for handling Arimaa timecontrols (util.py).

If you have python2 and pip on your machine you can install the latest release with:

pip install aei

On an operating system with a system supplied python you probably want to keep the aei install separate from your system installed packages. To accomplish that you can use either a virtualenv or user install. A user install is done simply by adding the --user option:

pip install --user aei

AEI may also be built and installed with

python setup.py install