Clone or download
Latest commit 717f17a Jul 9, 2018
Failed to load latest commit information.
axelrod Release v4.2.1 Jul 9, 2018
docs add implementation of a generic memory two + 2 strategies (#1171) Apr 6, 2018
test_outputs Re write the result set Feb 3, 2018
.editorconfig adds further file types to editorconfig Mar 10, 2015
.gitattributes Letting git merge hypothesis db files Dec 15, 2015
.gitignore Re write the result set Feb 3, 2018
.mailmap Revert "corrects Owen Campbell email address" Oct 15, 2015 [#647] Add instructions for graphical git client Jun 28, 2016
.travis.yml Increase timeout. Sep 4, 2017 Release v4.2.1 Jul 9, 2018
CITATION.rst Add a minor fix to the CITATION.rst Apr 11, 2017
CONTRIBUTING.rst Create contributing.rst Mar 28, 2017
LICENSE.txt Change copyright holders to project team members Jun 4, 2016 Fix data file inclusion in Jan 5, 2017
README.rst Correct README for python version. Jan 9, 2018
appveyor.yml Change build command for appveyor May 21, 2017 Update docs, rework simulate play and some test internals, add warnin… Jan 16, 2017
requirements.txt Sort requirements.tex Jul 9, 2018 to, note possible typos in docs/reference/over..… Jul 7, 2017 Use pathlib with strategy indexer. Apr 20, 2017
setup.cfg Add setup.cfg for wheel distribution Sep 9, 2016 Fix the long description for new pypi May 26, 2018
test Move filename back to and add build_results. Update t… May 8, 2016


Join the chat at



A Python library with the following principles and goals:

  1. Enabling the reproduction of previous Iterated Prisoner's Dilemma research as easily as possible.
  2. Creating the de-facto tool for future Iterated Prisoner's Dilemma research.
  3. Providing as simple a means as possible for anyone to define and contribute new and original Iterated Prisoner's Dilemma strategies.
  4. Emphasizing readability along with an open and welcoming community that is accommodating for developers and researchers of a variety of skill levels.


With Axelrod you:

The library has 100% test coverage and is extensively documented. See the documentation for details and examples of all the features:

An open reproducible framework for the study of the iterated prisoner's dilemma: a peer reviewed paper introducing the library (22 authors).


The library requires Python 3.5 or greater.

The simplest way to install is:

$ pip install axelrod

To install from source:

$ git clone
$ cd Axelrod
$ python install

Quick Start

The following runs a basic tournament:

>>> import axelrod as axl
>>> axl.seed(0)  # Set a seed
>>> players = [s() for s in axl.demo_strategies]  # Create players
>>> tournament = axl.Tournament(players)  # Create a tournament
>>> results =  # Play the tournament
>>> results.ranked_names
['Defector', 'Grudger', 'Tit For Tat', 'Cooperator', 'Random: 0.5']



All contributions are welcome!

You can find helpful instructions about contributing in the documentation:



The library has had many awesome contributions from many great contributors. The Core developers of the project are: