{"id":15683990,"url":"https://github.com/donkirkby/zero-play","last_synced_at":"2025-10-06T19:08:33.854Z","repository":{"id":39841467,"uuid":"159283581","full_name":"donkirkby/zero-play","owner":"donkirkby","description":"Teach a computer to play any game.","archived":false,"fork":false,"pushed_at":"2025-04-12T15:02:39.000Z","size":2422,"stargazers_count":10,"open_issues_count":18,"forks_count":1,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-04-12T16:23:00.539Z","etag":null,"topics":["alphazero","board-game-framework","board-games","machine-learning"],"latest_commit_sha":null,"homepage":"https://donkirkby.github.io/zero-play/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/donkirkby.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-11-27T05:56:31.000Z","updated_at":"2025-04-12T15:02:36.000Z","dependencies_parsed_at":"2023-02-18T04:01:14.397Z","dependency_job_id":"59e688b1-b01b-4cec-8397-f006d8cb91c3","html_url":"https://github.com/donkirkby/zero-play","commit_stats":null,"previous_names":[],"tags_count":7,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/donkirkby%2Fzero-play","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/donkirkby%2Fzero-play/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/donkirkby%2Fzero-play/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/donkirkby%2Fzero-play/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/donkirkby","download_url":"https://codeload.github.com/donkirkby/zero-play/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248595252,"owners_count":21130490,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["alphazero","board-game-framework","board-games","machine-learning"],"created_at":"2024-10-03T17:09:26.772Z","updated_at":"2025-10-06T19:08:28.821Z","avatar_url":"https://github.com/donkirkby.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Zero Play [![Build Badge]][build] [![Coverage Badge]][codecov] [![PyPI Badge]][pypi]\n### Teach a computer to play any game\n\n[Build Badge]: https://github.com/donkirkby/zero-play/actions/workflows/py-build.yml/badge.svg?branch=master\n[build]: https://github.com/donkirkby/zero-play/actions\n[Coverage Badge]: https://codecov.io/github/donkirkby/zero-play/coverage.svg?branch=master\n[codecov]: https://codecov.io/github/donkirkby/zero-play?branch=master\n[PyPI Badge]: https://badge.fury.io/py/zero-play.svg\n[pypi]: https://badge.fury.io/py/zero-play\n[journal]: docs/journal\n[screenshot]: https://donkirkby.github.io/zero-play/images/screenshot.png\n\nThe zero play library is based on the ideas in the [AlphaGo Zero paper] and the\nexample Python code in the [alpha-zero-general project]. The goal of this\nproject is to make a reusable Python library that other projects can build on\nto make powerful computer opponents for many different board games. An example\nproject that uses this library is [Shibumi Games].\n\nIt includes a graphical display that you can use to play against the computer\nopponent or another human.\n\n![screenshot]\n\n[AlphaGo Zero paper]: https://deepmind.com/blog/alphago-zero-learning-scratch/\n[alpha-zero-general project]: https://github.com/suragnair/alpha-zero-general\n[Shibumi Games]: https://donkirkby.github.io/shibumi-games/\n\n## Installing Zero Play\nEven though Zero Play has a graphical display, it is a regular Python package,\nso you can install it with `pip install zero-play`. If you haven't installed\nPython packages before, read Brett Cannon's [quick-and-dirty guide].\n\nThen run it with the `zero_play` command.\n\nThe default installation generates some errors about `bdist_wheel` that don't\nseem to actually cause any problems. You can either ignore them, or install\n`wheel` before installing Zero Play.\n\n    pip install wheel\n    pip install zero-play\n    zero_play\n\nKnown bug on Ubuntu 20.04:\n\n\u003e qt.qpa.plugin: Could not load the Qt platform plugin \"xcb\" in \"\" even though\n\u003e it was found.\n\nThis is a [PySide bug] that is missing some dependencies. You can work around\nit by installing those dependencies like this:\n\n    sudo apt install libxcb-xinerama0\n\n[quick-and-dirty guide]: https://snarky.ca/a-quick-and-dirty-guide-on-how-to-install-packages-for-python/\n[PySide bug]: https://bugreports.qt.io/browse/QTBUG-84749\n\n## More Information\nIf you'd like to help out with the project, or add your own games, see the\n`CONTRIBUTING.md` file in the source code. For all the details, look through the\ndesign [journal] for the project.\n\n## Related Projects\nHere are some similar projects for inspiration or collaboration:\n\n* I already mentioned the [alpha-zero-general project]. It was a big inspiration, but I'm trying to build something\n    that's easier to add new games to, or use as a library within another project.\n* [Galvanise] looks interesting. It's a mix of Python and C++, using Tensorflow. As of 2020, it looks like a single\n    developer, without much documentation. The games are defined with GDL, not Python code.\n\n[Galvanise]: https://github.com/richemslie/galvanise_zero\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdonkirkby%2Fzero-play","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdonkirkby%2Fzero-play","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdonkirkby%2Fzero-play/lists"}