Metadata-Version: 2.1
Name: zero-play
Version: 0.1.1
Summary: Play board games using the techniques from AlphaZero
Home-page: https://donkirkby.github.io/zero-play/
Author: Don Kirkby
License: UNKNOWN
Project-URL: Bug Reports, https://github.com/donkirkby/zero-play/issues
Project-URL: Source, https://github.com/donkirkby/zero-play
Keywords: boardgames alphazero machine learning mcts
Platform: UNKNOWN
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: Topic :: Games/Entertainment :: Board Games
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3.8
Description-Content-Type: text/markdown
Requires-Dist: numpy
Requires-Dist: tensorflow
Requires-Dist: PySide2
Provides-Extra: dev
Requires-Dist: seaborn ; extra == 'dev'
Requires-Dist: matplotlib ; extra == 'dev'
Requires-Dist: numpy ; extra == 'dev'
Requires-Dist: pytest ; extra == 'dev'
Requires-Dist: coverage ; extra == 'dev'
Requires-Dist: mypy ; extra == 'dev'
Provides-Extra: gpu
Requires-Dist: tensorflow-gpu ; extra == 'gpu'

# Zero Play [![Build Status Badge]][latest build] [![Code Coverage]][codecov] #
## Teach a computer to play any game. ##

[Build Status Badge]: https://travis-ci.org/donkirkby/zero-play.svg?branch=master
[latest build]: https://travis-ci.org/donkirkby/zero-play
[Code Coverage]: https://codecov.io/github/donkirkby/zero-play/coverage.svg?branch=master
[codecov]: https://codecov.io/github/donkirkby/zero-play?branch=master

The zero play library is based on the ideas in the [AlphaGo Zero paper] and the
example Python code in the [alpha-zero-general project]. The goal of this
project is to make a reusable Python library that other projects can build on
to make powerful computer opponents for many different board games. An example
project that uses this library is [Shibumi Games].

It includes a graphical display that you can use to play against the computer
opponent or another human.

![screenshot]

[AlphaGo Zero paper]: https://deepmind.com/blog/alphago-zero-learning-scratch/
[alpha-zero-general project]: https://github.com/suragnair/alpha-zero-general
[Shibumi Games]: https://donkirkby.github.io/shibumi-games/

## Installing Zero Play
Even though Zero Play has a graphical display, it is a regular Python package,
so you can install it with `pip install zero-play`. If you haven't installed
Python packages before, read Brett Cannon's [quick-and-dirty guide].

Then run it with the `zero_play_gui` command.

The default installation generates some errors about `bdist_wheel` that don't
seem to actually cause any problems. You can either ignore them, or install
`wheel` before installing Zero Play.

    pip install wheel
    pip install zero-play
    zero_play_gui

Known bug on Ubuntu 20.04:

> qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even though
> it was found.

This is a [PySide2 bug] that is missing some dependencies. You can work around
it by installing those dependencies like this:

    sudo apt install libxcb-xinerama0

[quick-and-dirty guide]: https://snarky.ca/a-quick-and-dirty-guide-on-how-to-install-packages-for-python/
[PySide2 bug]: https://bugreports.qt.io/browse/QTBUG-84749

## More Information
If you'd like to help out with the project, or add your own games, see the
`CONTRIBUTING.md` file in the source code. For all the details, look through the
design [journal] for the project.

[journal]: docs/journal
[screenshot]: https://donkirkby.github.io/zero-play/images/screenshot.png


