.. image:: https://img.shields.io/pypi/v/Axelrod.svg :target: https://pypi.python.org/pypi/Axelrod
.. image:: https://zenodo.org/badge/19509/Axelrod-Python/Axelrod.svg :target: https://zenodo.org/badge/latestdoi/19509/Axelrod-Python/Axelrod
.. image:: https://github.com/Axelrod-Python/Axelrod/workflows/CI/badge.svg :target: https://github.com/Axelrod-Python/Axelrod/actions
A Python library with the following principles and goals:
With Axelrod you:
have access to over 200 strategies <https://axelrod.readthedocs.io/en/stable/reference/strategy_index.html>
_, including original and classics like Tit
For Tat and Win Stay Lose Shift. These are extendable through parametrization
and a collection of strategy transformers.
can create head to head matches <https://axelrod.readthedocs.io/en/stable/tutorials/new_to_game_theory_and_or_python/match.html>
_ between pairs of strategies.
can create tournaments <https://axelrod.readthedocs.io/en/stable/tutorials/new_to_game_theory_and_or_python/tournament.html>
_ over a number of strategies.
can study population dynamics through Moran processes <https://axelrod.readthedocs.io/en/stable/tutorials/new_to_game_theory_and_or_python/moran.html>
_ and an infinite population model <https://axelrod.readthedocs.io/en/stable/how-to/run_axelrods_ecological_variant.html>
_.
can analyse detailed results of tournaments <https://axelrod.readthedocs.io/en/stable/tutorials/new_to_game_theory_and_or_python/summarising_tournaments.html>
_ and matches.
can visualise results <https://axelrod.readthedocs.io/en/stable/tutorials/new_to_game_theory_and_or_python/visualising_results.html>
_ of tournaments.
.. image:: http://axelrod.readthedocs.io/en/stable/_images/demo_strategies_boxplot.svg :height: 300 px :align: center
can reproduce a number of contemporary research topics such as fingerprinting <https://axelrod.readthedocs.io/en/stable/how-to/fingerprint.html>
_ of
strategies and morality metrics <https://axelrod.readthedocs.io/en/stable/how-to/calculate_morality_metrics.html>
_.
.. image:: https://github.com/Axelrod-Python/Axelrod-fingerprint/raw/master/assets/Tricky_Defector.png :height: 300 px :align: center
The library has 100% test coverage and is extensively documented. See the documentation for details and examples of all the features: http://axelrod.readthedocs.org/
An open reproducible framework for the study of the iterated prisoner's dilemma <http://openresearchsoftware.metajnl.com/article/10.5334/jors.125/>
_:
a peer reviewed paper introducing the library (22 authors).
The library is tested on Python versions 3.8, 3.9, and 3.10.
The simplest way to install is::
$ pip install axelrod
To install from source::
$ git clone https://github.com/Axelrod-Python/Axelrod.git
$ cd Axelrod
$ python setup.py install
The following runs a basic tournament::
>>> import axelrod as axl
>>> players = [s() for s in axl.demo_strategies] # Create players
>>> tournament = axl.Tournament(players, seed=1) # Create a tournament
>>> results = tournament.play() # 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: https://axelrod.readthedocs.io/en/stable/how-to/contributing/index.html
You can find a list of publications that make use of or cite the library
on the citations <https://github.com/Axelrod-Python/Axelrod/blob/master/citations.md>
_ page.
The library has had many awesome contributions from many great contributors <https://github.com/Axelrod-Python/Axelrod/graphs/contributors>
_.
The Core developers of the project are:
drvinceknight <https://github.com/drvinceknight>
_gaffney2010 <https://github.com/gaffney2010>
_marcharper <https://github.com/marcharper>
_meatballs <https://github.com/meatballs>
_nikoleta-v3 <https://github.com/Nikoleta-v3>
_.. |Join the chat at https://gitter.im/Axelrod-Python/Axelrod| image:: https://badges.gitter.im/Join%20Chat.svg :target: https://gitter.im/Axelrod-Python/Axelrod?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge