Skip to content
Go to file

Latest commit

This ensures the tests are run in random order.

Git stats


Failed to load latest commit information.
Latest commit message
Commit time

DOI Join the chat at DOI

Nashpy: a python library for the computation of equilibria of 2 player strategic games.

This library implements the following algorithms for Nash equilibria on 2 player games:

  • Support enumeration
  • Best response polytope vertex enumeration
  • Lemke Howson algorithm

Nashpy has a simple set of Python dependencies: it only requires numpy and scipy so is straightforward to install on all operating systems.


By design Nashpy is easy to install: the easiest way to install is from pypi:

$ python -m pip install nashpy


Create bi matrix games by passing two 2 dimensional arrays/lists:

>>> import nashpy as nash
>>> A = [[1, 2], [3, 0]]
>>> B = [[0, 2], [3, 1]]
>>> game = nash.Game(A, B)
>>> for eq in game.support_enumeration():
...     print(eq)
(array([1., 0.]), array([0., 1.]))
(array([0., 1.]), array([1., 0.]))
(array([0.5, 0.5]), array([0.5, 0.5]))
>>> game[[0, 1], [1, 0]]
array([3, 3])


Full documentation is available here:

Other game theoretic software

  • Gambit is a library with a python api and support for more algorithms and more than 2 player games.
  • Game theory explorer a web interface to gambit useful for teaching.
  • Axelrod a research library aimed at the study of the Iterated Prisoners dilemma


To install a development version of this library:

$ python develop

To run the full test suite (install pytest: pip install pytest) and run:

$ pytest .

All contributions are welcome, although this is meant to be a simple library, for more detailed game theoretic contribution please see gambit.

Code of conduct

In the interest of fostering an open and welcoming environment, all contributors, maintainers and users are expected to abide by the Python code of conduct:

You can’t perform that action at this time.