{"id":13441250,"url":"https://github.com/google-deepmind/open_spiel","last_synced_at":"2025-05-14T06:06:17.182Z","repository":{"id":38355932,"uuid":"198232685","full_name":"google-deepmind/open_spiel","owner":"google-deepmind","description":"OpenSpiel is a collection of environments and algorithms for research in general reinforcement learning and search/planning in games.","archived":false,"fork":false,"pushed_at":"2025-05-03T12:28:03.000Z","size":30879,"stargazers_count":4506,"open_issues_count":28,"forks_count":981,"subscribers_count":104,"default_branch":"master","last_synced_at":"2025-05-03T13:25:31.223Z","etag":null,"topics":["cpp","games","multiagent","python","reinforcement-learning"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/google-deepmind.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,"zenodo":null}},"created_at":"2019-07-22T13:50:21.000Z","updated_at":"2025-05-03T08:44:45.000Z","dependencies_parsed_at":"2023-09-07T20:45:22.432Z","dependency_job_id":"cc127c55-8983-49bd-8896-1fb162718604","html_url":"https://github.com/google-deepmind/open_spiel","commit_stats":{"total_commits":3500,"total_committers":187,"mean_commits":18.71657754010695,"dds":0.7937142857142857,"last_synced_commit":"520fe93e87b5c669ca810f830a91ca115dbb7efe"},"previous_names":["google-deepmind/open_spiel","deepmind/open_spiel"],"tags_count":13,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/google-deepmind%2Fopen_spiel","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/google-deepmind%2Fopen_spiel/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/google-deepmind%2Fopen_spiel/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/google-deepmind%2Fopen_spiel/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/google-deepmind","download_url":"https://codeload.github.com/google-deepmind/open_spiel/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254079034,"owners_count":22011084,"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":["cpp","games","multiagent","python","reinforcement-learning"],"created_at":"2024-07-31T03:01:31.623Z","updated_at":"2025-05-14T06:06:17.150Z","avatar_url":"https://github.com/google-deepmind.png","language":"C++","readme":"\n# OpenSpiel: A Framework for Reinforcement Learning in Games\n\n[![Documentation Status](https://readthedocs.org/projects/openspiel/badge/?version=latest)](https://openspiel.readthedocs.io/en/latest/?badge=latest)\n![build_and_test](https://github.com/deepmind/open_spiel/workflows/build_and_test/badge.svg)\n\nOpenSpiel is a collection of environments and algorithms for research in general\nreinforcement learning and search/planning in games. OpenSpiel supports n-player\n(single- and multi- agent) zero-sum, cooperative and general-sum, one-shot and\nsequential, strictly turn-taking and simultaneous-move, perfect and imperfect\ninformation games, as well as traditional multiagent environments such as\n(partially- and fully- observable) grid worlds and social dilemmas. OpenSpiel\nalso includes tools to analyze learning dynamics and other common evaluation\nmetrics. Games are represented as procedural extensive-form games, with some\nnatural extensions. The core API and games are implemented in C++ and exposed to\nPython. Algorithms and tools are written both in C++ and Python.\n\nTo try OpenSpiel in Google Colaboratory, please refer to `open_spiel/colabs` subdirectory or start [here](https://colab.research.google.com/github/deepmind/open_spiel/blob/master/open_spiel/colabs/install_open_spiel.ipynb).\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"docs/_static/OpenSpielB.png\" alt=\"OpenSpiel visual asset\"\u003e\n\u003c/p\u003e\n\n# Index\n\nPlease choose among the following options:\n\n*   [Installing OpenSpiel](docs/install.md)\n*   [Introduction to OpenSpiel](docs/intro.md)\n*   [API Overview and First Example](docs/concepts.md)\n*   [API Reference](docs/api_reference.md)\n*   [Overview of Implemented Games](docs/games.md)\n*   [Overview of Implemented Algorithms](docs/algorithms.md)\n*   [Developer Guide](docs/developer_guide.md)\n*   [Using OpenSpiel as a C++ Library](docs/library.md)\n*   [Guidelines and Contributing](docs/contributing.md)\n*   [Authors](docs/authors.md)\n\nFor a longer introduction to the core concepts, formalisms, and terminology,\nincluding an overview of the algorithms and some results, please see\n[OpenSpiel: A Framework for Reinforcement Learning in Games](https://arxiv.org/abs/1908.09453).\n\nFor an overview of OpenSpiel and example uses of the core API, please check out\nour tutorials:\n\n*   [Motivation, Core API, Brief Intro to Replictor Dynamics and Imperfect\n    Information Games](https://www.youtube.com/watch?v=8NCPqtPwlFQ) by Marc\n    Lanctot.\n    [(slides)](http://mlanctot.info/files/OpenSpiel_Tutorial_KU_Leuven_2022.pdf)\n    [(colab)](https://colab.research.google.com/github/deepmind/open_spiel/blob/master/open_spiel/colabs/OpenSpielTutorial.ipynb)\n*   [Motivation, Core API, Implementing CFR and REINFORCE on Kuhn poker, Leduc\n    poker, and Goofspiel](https://www.youtube.com/watch?v=o6JNHoGUXCo) by Edward\n    Lockhart.\n    [(slides)](http://mlanctot.info/files/open_spiel_tutorial-mar2021-comarl.pdf)\n    [(colab)](https://colab.research.google.com/github/deepmind/open_spiel/blob/master/open_spiel/colabs/CFR_and_REINFORCE.ipynb)\n\nIf you use OpenSpiel in your research, please cite the paper using the following\nBibTeX:\n\n```bibtex\n@article{LanctotEtAl2019OpenSpiel,\n  title     = {{OpenSpiel}: A Framework for Reinforcement Learning in Games},\n  author    = {Marc Lanctot and Edward Lockhart and Jean-Baptiste Lespiau and\n               Vinicius Zambaldi and Satyaki Upadhyay and Julien P\\'{e}rolat and\n               Sriram Srinivasan and Finbarr Timbers and Karl Tuyls and\n               Shayegan Omidshafiei and Daniel Hennes and Dustin Morrill and\n               Paul Muller and Timo Ewalds and Ryan Faulkner and J\\'{a}nos Kram\\'{a}r\n               and Bart De Vylder and Brennan Saeta and James Bradbury and David Ding\n               and Sebastian Borgeaud and Matthew Lai and Julian Schrittwieser and\n               Thomas Anthony and Edward Hughes and Ivo Danihelka and Jonah Ryan-Davis},\n  year      = {2019},\n  eprint    = {1908.09453},\n  archivePrefix = {arXiv},\n  primaryClass = {cs.LG},\n  journal   = {CoRR},\n  volume    = {abs/1908.09453},\n  url       = {http://arxiv.org/abs/1908.09453},\n}\n```\n\n## Versioning\n\nWe use [Semantic Versioning](https://semver.org/).\n\n","funding_links":[],"categories":["C++","📋 Contents"],"sub_categories":["🧩 11. Specialized Domains"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgoogle-deepmind%2Fopen_spiel","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgoogle-deepmind%2Fopen_spiel","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgoogle-deepmind%2Fopen_spiel/lists"}