The Arcade Learning Environment
<a href="#the-arcade-learning-environment">
<img alt="Arcade Learning Environment" align="right" width=75 src="https://github.com/Farama-Foundation/Arcade-Learning-Environment/blob/master/docs/_static/img/ale.svg" />
</a>
===============================
[](https://badge.fury.io/py/ale-py)
[](https://pypi.org/project/ale-py)
**The Arcade Learning Environment (ALE) is a simple framework that allows researchers and hobbyists to develop AI agents for Atari 2600 games.**
It is built on top of the Atari 2600 emulator [Stella](https://stella-emu.github.io) and separates the details of emulation from agent design.
This [video](https://www.youtube.com/watch?v=nzUiEkasXZI) depicts over 50 games currently supported in the ALE.
For an overview of our goals for the ALE read [The Arcade Learning Environment: An Evaluation Platform for General Agents](https://jair.org/index.php/jair/article/view/10819).
If you use ALE in your research, we ask that you please cite this paper in reference to the environment. See the [Citing](#Citing) section for BibTeX entries.
Features
--------
- Object-oriented framework with support to add agents and games.
- Emulation core uncoupled from rendering and sound generation modules for fast emulation with minimal library dependencies.
- Automatic extraction of game score and end-of-game signal for more than 100 Atari 2600 games.
- Multi-platform code (compiled and tested under macOS, Windows, and several Linux distributions).
- Python bindings through [pybind11](https://github.com/pybind/pybind11).
- Native support for [Gymnasium](http://github.com/farama-Foundation/gymnasium), a maintained fork of OpenAI Gym.
- Visualization tools.
- Atari roms are packaged within the pip package
Quick Start
===========
The ALE currently supports three different interfaces: C++, Python, and Gymnasium.
Python
------
You simply need to install the `ale-py` package distributed via PyPI:
```shell
pip install ale-py
```
Note: Make sure you're using an up-to-date version of `pip` or the installation may fail.
You can now import the ALE in your Python projects with providing a direct interface to Stella for interacting with games
```python
from ale_py import ALEInterface, roms
ale = ALEInterface()
ale.loadROM(roms.get_rom_path("breakout"))
ale.reset_game()
reward = ale.act(0) # noop
screen_obs = ale.getScreenRGB()
```
## Gymnasium
For simplicity for installing ale-py with Gymnasium, `pip install "gymnasium[atari]"` shall install all necessary modules and ROMs. See Gymnasium [introductory page](https://gymnasium.farama.org/main/introduction/basic_usage/) for description of the API to interface with the environment.
```py
import gymnasium as gym
import ale_py
gym.register_envs(ale_py) # unnecessary but helpful for IDEs
env = gym.make('ALE/Breakout-v5', render_mode="human") # remove render_mode in training
obs, info = env.reset()
episode_over = False
while not episode_over:
action = policy(obs) # to implement - use `env.action_space.sample()` for a random policy
obs, reward, terminated, truncated, info = env.step(action)
episode_over = terminated or truncated
env.close()
```
To run with continuous actions, you can simply modify the call to `gym.make` above with:
```python
env = gym.make('ALE/Breakout-v5', continuous=True, render_mode="human")
```
For all the environments available and their description, see [gymnasium atari page](https://gymnasium.farama.org/environments/atari/).
C++
---
The following instructions will assume you have a valid C++17 compiler and [`vcpkg`](https://github.com/microsoft/vcpkg) installed.
We use CMake as a first class citizen, and you can use the ALE directly with any CMake project.
To compile and install the ALE you can run
```sh
mkdir build && cd build
cmake ../ -DCMAKE_BUILD_TYPE=Release
cmake --build . --target install
```
There are optional flags `-DSDL_SUPPORT=ON/OFF` to toggle SDL support (i.e., `display_screen` and `sound` support; `OFF` by default), `-DBUILD_CPP_LIB=ON/OFF` to build
the `ale-lib` C++ target (`ON` by default), and `-DBUILD_PYTHON_LIB=ON/OFF` to build the pybind11 wrapper (`ON` by default).
Finally, you can link against the ALE in your own CMake project as follows
```cmake
find_package(ale REQUIRED)
target_link_libraries(YourTarget ale::ale-lib)
```
Citing
======
If you use the ALE in your research, we ask that you please cite the following.
*M. G. Bellemare, Y. Naddaf, J. Veness and M. Bowling. The Arcade Learning Environment: An Evaluation Platform for General Agents, Journal of Artificial Intelligence Research, Volume 47, pages 253-279, 2013.*
In BibTeX format:
```bibtex
@Article{bellemare13arcade,
author = {{Bellemare}, M.~G. and {Naddaf}, Y. and {Veness}, J. and {Bowling}, M.},
title = {The Arcade Learning Environment: An Evaluation Platform for General Agents},
journal = {Journal of Artificial Intelligence Research},
year = "2013",
month = "jun",
volume = "47",
pages = "253--279",
}
```
If you use the ALE with sticky actions (flag ``repeat_action_probability``), or if
you use the different game flavours (mode and difficulty switches), we ask you
that you also cite the following:
*M. C. Machado, M. G. Bellemare, E. Talvitie, J. Veness, M. J. Hausknecht, M. Bowling. Revisiting the Arcade Learning Environment: Evaluation Protocols and Open Problems for General Agents, Journal of Artificial Intelligence Research, Volume 61, pages 523-562, 2018.*
In BibTex format:
```bibtex
@Article{machado18arcade,
author = {Marlos C. Machado and Marc G. Bellemare and Erik Talvitie and Joel Veness and Matthew J. Hausknecht and Michael Bowling},
title = {Revisiting the Arcade Learning Environment: Evaluation Protocols and Open Problems for General Agents},
journal = {Journal of Artificial Intelligence Research},
volume = {61},
pages = {523--562},
year = {2018}
}
```
If you use the CALE (Continuous ALE), we ask you that you also cite the following:
*Jesse Farebrother and Pablo Samuel Castro. Cale: Continuous arcade learning environment.Ad-vances in Neural Information Processing Systems, 2024.*
In BibTex format:
```bibtex
@article{farebrother2024cale,
title={C{ALE}: Continuous Arcade Learning Environment},
author={Jesse Farebrother and Pablo Samuel Castro},
journal={Advances in Neural Information Processing Systems},
year={2024}
}
```
Raw data
{
"_id": null,
"home_page": null,
"name": "ale-py",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.9",
"maintainer_email": "Farama Foundation <contact@farama.org>, Jesse Farebrother <jfarebro@cs.mcgill.ca>",
"keywords": "reinforcement-learning, arcade-learning-environment, atari",
"author": "Marc G. Bellemare, Yavar Naddaf, Joel Veness, Michael Bowling",
"author_email": null,
"download_url": null,
"platform": null,
"description": "The Arcade Learning Environment\n<a href=\"#the-arcade-learning-environment\">\n <img alt=\"Arcade Learning Environment\" align=\"right\" width=75 src=\"https://github.com/Farama-Foundation/Arcade-Learning-Environment/blob/master/docs/_static/img/ale.svg\" />\n</a>\n===============================\n\n[](https://badge.fury.io/py/ale-py)\n[](https://pypi.org/project/ale-py)\n\n**The Arcade Learning Environment (ALE) is a simple framework that allows researchers and hobbyists to develop AI agents for Atari 2600 games.**\nIt is built on top of the Atari 2600 emulator [Stella](https://stella-emu.github.io) and separates the details of emulation from agent design.\nThis [video](https://www.youtube.com/watch?v=nzUiEkasXZI) depicts over 50 games currently supported in the ALE.\n\nFor an overview of our goals for the ALE read [The Arcade Learning Environment: An Evaluation Platform for General Agents](https://jair.org/index.php/jair/article/view/10819).\nIf you use ALE in your research, we ask that you please cite this paper in reference to the environment. See the [Citing](#Citing) section for BibTeX entries.\n\nFeatures\n--------\n\n- Object-oriented framework with support to add agents and games.\n- Emulation core uncoupled from rendering and sound generation modules for fast emulation with minimal library dependencies.\n- Automatic extraction of game score and end-of-game signal for more than 100 Atari 2600 games.\n- Multi-platform code (compiled and tested under macOS, Windows, and several Linux distributions).\n- Python bindings through [pybind11](https://github.com/pybind/pybind11).\n- Native support for [Gymnasium](http://github.com/farama-Foundation/gymnasium), a maintained fork of OpenAI Gym.\n- Visualization tools.\n- Atari roms are packaged within the pip package\n\nQuick Start\n===========\n\nThe ALE currently supports three different interfaces: C++, Python, and Gymnasium.\n\nPython\n------\n\nYou simply need to install the `ale-py` package distributed via PyPI:\n\n```shell\npip install ale-py\n```\nNote: Make sure you're using an up-to-date version of `pip` or the installation may fail.\n\nYou can now import the ALE in your Python projects with providing a direct interface to Stella for interacting with games\n```python\nfrom ale_py import ALEInterface, roms\n\nale = ALEInterface()\nale.loadROM(roms.get_rom_path(\"breakout\"))\nale.reset_game()\n\nreward = ale.act(0) # noop\nscreen_obs = ale.getScreenRGB()\n```\n\n## Gymnasium\n\nFor simplicity for installing ale-py with Gymnasium, `pip install \"gymnasium[atari]\"` shall install all necessary modules and ROMs. See Gymnasium [introductory page](https://gymnasium.farama.org/main/introduction/basic_usage/) for description of the API to interface with the environment.\n\n```py\nimport gymnasium as gym\nimport ale_py\n\ngym.register_envs(ale_py) # unnecessary but helpful for IDEs\n\nenv = gym.make('ALE/Breakout-v5', render_mode=\"human\") # remove render_mode in training\nobs, info = env.reset()\nepisode_over = False\nwhile not episode_over:\n action = policy(obs) # to implement - use `env.action_space.sample()` for a random policy\n obs, reward, terminated, truncated, info = env.step(action)\n\n episode_over = terminated or truncated\nenv.close()\n```\n\nTo run with continuous actions, you can simply modify the call to `gym.make` above with:\n```python\nenv = gym.make('ALE/Breakout-v5', continuous=True, render_mode=\"human\")\n```\n\nFor all the environments available and their description, see [gymnasium atari page](https://gymnasium.farama.org/environments/atari/).\n\nC++\n---\n\nThe following instructions will assume you have a valid C++17 compiler and [`vcpkg`](https://github.com/microsoft/vcpkg) installed.\n\nWe use CMake as a first class citizen, and you can use the ALE directly with any CMake project.\nTo compile and install the ALE you can run\n\n```sh\nmkdir build && cd build\ncmake ../ -DCMAKE_BUILD_TYPE=Release\ncmake --build . --target install\n```\n\nThere are optional flags `-DSDL_SUPPORT=ON/OFF` to toggle SDL support (i.e., `display_screen` and `sound` support; `OFF` by default), `-DBUILD_CPP_LIB=ON/OFF` to build\nthe `ale-lib` C++ target (`ON` by default), and `-DBUILD_PYTHON_LIB=ON/OFF` to build the pybind11 wrapper (`ON` by default).\n\nFinally, you can link against the ALE in your own CMake project as follows\n\n```cmake\nfind_package(ale REQUIRED)\ntarget_link_libraries(YourTarget ale::ale-lib)\n```\n\nCiting\n======\n\nIf you use the ALE in your research, we ask that you please cite the following.\n\n*M. G. Bellemare, Y. Naddaf, J. Veness and M. Bowling. The Arcade Learning Environment: An Evaluation Platform for General Agents, Journal of Artificial Intelligence Research, Volume 47, pages 253-279, 2013.*\n\nIn BibTeX format:\n\n```bibtex\n@Article{bellemare13arcade,\n author = {{Bellemare}, M.~G. and {Naddaf}, Y. and {Veness}, J. and {Bowling}, M.},\n title = {The Arcade Learning Environment: An Evaluation Platform for General Agents},\n journal = {Journal of Artificial Intelligence Research},\n year = \"2013\",\n month = \"jun\",\n volume = \"47\",\n pages = \"253--279\",\n}\n```\n\nIf you use the ALE with sticky actions (flag ``repeat_action_probability``), or if\nyou use the different game flavours (mode and difficulty switches), we ask you\nthat you also cite the following:\n\n*M. C. Machado, M. G. Bellemare, E. Talvitie, J. Veness, M. J. Hausknecht, M. Bowling. Revisiting the Arcade Learning Environment: Evaluation Protocols and Open Problems for General Agents, Journal of Artificial Intelligence Research, Volume 61, pages 523-562, 2018.*\n\nIn BibTex format:\n\n```bibtex\n@Article{machado18arcade,\n author = {Marlos C. Machado and Marc G. Bellemare and Erik Talvitie and Joel Veness and Matthew J. Hausknecht and Michael Bowling},\n title = {Revisiting the Arcade Learning Environment: Evaluation Protocols and Open Problems for General Agents},\n journal = {Journal of Artificial Intelligence Research},\n volume = {61},\n pages = {523--562},\n year = {2018}\n}\n```\n\nIf you use the CALE (Continuous ALE), we ask you that you also cite the following:\n\n*Jesse Farebrother and Pablo Samuel Castro. Cale: Continuous arcade learning environment.Ad-vances in Neural Information Processing Systems, 2024.*\n\nIn BibTex format:\n\n```bibtex\n@article{farebrother2024cale,\n title={C{ALE}: Continuous Arcade Learning Environment},\n author={Jesse Farebrother and Pablo Samuel Castro},\n journal={Advances in Neural Information Processing Systems},\n year={2024}\n}\n```\n",
"bugtrack_url": null,
"license": "GPLv2",
"summary": "The Arcade Learning Environment (ALE) - a platform for AI research.",
"version": "0.10.2",
"project_urls": {
"changelog": "https://github.com/Farama-Foundation/Arcade-Learning-Environment/blob/master/CHANGELOG.md",
"documentation": "https://github.com/Farama-Foundation/Arcade-Learning-Environment/tree/master/docs",
"homepage": "https://github.com/Farama-Foundation/Arcade-Learning-Environment"
},
"split_keywords": [
"reinforcement-learning",
" arcade-learning-environment",
" atari"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "167df449dd8086e6559d90ff365bc80ef44820415bff08596455714984050731",
"md5": "789cfc9af5a066c99aa062c56e4cbb58",
"sha256": "9659a0926f2e25a776fc9daab79e5f398096466f5a079caef370369d38309429"
},
"downloads": -1,
"filename": "ale_py-0.10.2-cp310-cp310-macosx_10_15_x86_64.whl",
"has_sig": false,
"md5_digest": "789cfc9af5a066c99aa062c56e4cbb58",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.9",
"size": 1677970,
"upload_time": "2025-02-15T13:03:32",
"upload_time_iso_8601": "2025-02-15T13:03:32.269425Z",
"url": "https://files.pythonhosted.org/packages/16/7d/f449dd8086e6559d90ff365bc80ef44820415bff08596455714984050731/ale_py-0.10.2-cp310-cp310-macosx_10_15_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "252363ff036acf5cb52f9c4068b02ada44d054114711c3d79e181b03518f1430",
"md5": "b691656a7b4247695e85eb3349d7fc38",
"sha256": "ef90b4416807b35a3a701548a8e5c1ef54bb4728665c4a74275de64ef41ff11f"
},
"downloads": -1,
"filename": "ale_py-0.10.2-cp310-cp310-macosx_11_0_arm64.whl",
"has_sig": false,
"md5_digest": "b691656a7b4247695e85eb3349d7fc38",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.9",
"size": 1583146,
"upload_time": "2025-02-15T13:03:35",
"upload_time_iso_8601": "2025-02-15T13:03:35.382048Z",
"url": "https://files.pythonhosted.org/packages/25/23/63ff036acf5cb52f9c4068b02ada44d054114711c3d79e181b03518f1430/ale_py-0.10.2-cp310-cp310-macosx_11_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "1e74a989e287b2a3822f636e2bd80beb3605bc026fa50b05b8969d4c4a0f0e7e",
"md5": "4cb01e95928a4a552d5572a24b72fde6",
"sha256": "cba2a904ab80670b9db8965d95dad3d978b4a133595c04b1be42f86c0371fdde"
},
"downloads": -1,
"filename": "ale_py-0.10.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "4cb01e95928a4a552d5572a24b72fde6",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.9",
"size": 2229037,
"upload_time": "2025-02-15T13:03:39",
"upload_time_iso_8601": "2025-02-15T13:03:39.307067Z",
"url": "https://files.pythonhosted.org/packages/1e/74/a989e287b2a3822f636e2bd80beb3605bc026fa50b05b8969d4c4a0f0e7e/ale_py-0.10.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "e2e200edaa58d86ad665e162214c06d47b0a671ae6f3b40c56f408e359a5dd18",
"md5": "0f339f42c6b48a1e8f63aeeaf6ba3d31",
"sha256": "13764f641117c5c4d629272aa303ef5ad21a75870318245d2e39d5fb5afac73b"
},
"downloads": -1,
"filename": "ale_py-0.10.2-cp310-cp310-win_amd64.whl",
"has_sig": false,
"md5_digest": "0f339f42c6b48a1e8f63aeeaf6ba3d31",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.9",
"size": 1487344,
"upload_time": "2025-02-15T13:03:41",
"upload_time_iso_8601": "2025-02-15T13:03:41.664033Z",
"url": "https://files.pythonhosted.org/packages/e2/e2/00edaa58d86ad665e162214c06d47b0a671ae6f3b40c56f408e359a5dd18/ale_py-0.10.2-cp310-cp310-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "a0e99d9654315b173a8a2e1e0075dd374a1b1a4f4a8c8ff9f92a8da8effe6f3b",
"md5": "753b52f1f8d87fee36d35fd96a7e7722",
"sha256": "389440a842678041e4fccca9be3f4da3426e2eac64c7c53c2e7a7de9e73cbdc9"
},
"downloads": -1,
"filename": "ale_py-0.10.2-cp311-cp311-macosx_10_15_x86_64.whl",
"has_sig": false,
"md5_digest": "753b52f1f8d87fee36d35fd96a7e7722",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.9",
"size": 1679239,
"upload_time": "2025-02-15T13:03:43",
"upload_time_iso_8601": "2025-02-15T13:03:43.748952Z",
"url": "https://files.pythonhosted.org/packages/a0/e9/9d9654315b173a8a2e1e0075dd374a1b1a4f4a8c8ff9f92a8da8effe6f3b/ale_py-0.10.2-cp311-cp311-macosx_10_15_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "82ad1c346b6866df80bd93532817332221aef581c6adf3525ff8dc2cb5043911",
"md5": "aaf6e7a6a518d61f0acea2865a819db0",
"sha256": "4cbd01bce19c8fcfa109537ee461932e5b3bc3bf2d832072e2670ca6cb5912a1"
},
"downloads": -1,
"filename": "ale_py-0.10.2-cp311-cp311-macosx_11_0_arm64.whl",
"has_sig": false,
"md5_digest": "aaf6e7a6a518d61f0acea2865a819db0",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.9",
"size": 1584492,
"upload_time": "2025-02-15T13:03:46",
"upload_time_iso_8601": "2025-02-15T13:03:46.541643Z",
"url": "https://files.pythonhosted.org/packages/82/ad/1c346b6866df80bd93532817332221aef581c6adf3525ff8dc2cb5043911/ale_py-0.10.2-cp311-cp311-macosx_11_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "64ad248269043741db244fd7bd6402b7f9efcf0409228e29b7978e64a2300899",
"md5": "c4acf3ef1ad500ba5abfe14416a96098",
"sha256": "3b4f7f03e9ff18cc545f691105fb32a3ac5381543a97237ef8d2bdb6a38b7b4a"
},
"downloads": -1,
"filename": "ale_py-0.10.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "c4acf3ef1ad500ba5abfe14416a96098",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.9",
"size": 2229943,
"upload_time": "2025-02-15T13:03:49",
"upload_time_iso_8601": "2025-02-15T13:03:49.382126Z",
"url": "https://files.pythonhosted.org/packages/64/ad/248269043741db244fd7bd6402b7f9efcf0409228e29b7978e64a2300899/ale_py-0.10.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "195ca43399dafe40e4e3db45e95c08f1ea94be03565cf02e1cee00338fa2ab6d",
"md5": "c26926901390078b9accc37a8a262e64",
"sha256": "b1fab6fdf3b8f2e958427f1aecfce6aa29b9acb634882c365dbb953f1f93e4d3"
},
"downloads": -1,
"filename": "ale_py-0.10.2-cp311-cp311-win_amd64.whl",
"has_sig": false,
"md5_digest": "c26926901390078b9accc37a8a262e64",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.9",
"size": 1488881,
"upload_time": "2025-02-15T13:03:51",
"upload_time_iso_8601": "2025-02-15T13:03:51.716709Z",
"url": "https://files.pythonhosted.org/packages/19/5c/a43399dafe40e4e3db45e95c08f1ea94be03565cf02e1cee00338fa2ab6d/ale_py-0.10.2-cp311-cp311-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "6009c0f24b5ac526b484aff78dc2e84fa398cc7040d54f196325238a8cfe6ff5",
"md5": "d63e3b8f35d3f5f998a778d0a4348bb0",
"sha256": "fe65028081b233572c143b58d5e3427c9a0f58dbee8367b2c9c658a1b9dae5e0"
},
"downloads": -1,
"filename": "ale_py-0.10.2-cp312-cp312-macosx_10_15_x86_64.whl",
"has_sig": false,
"md5_digest": "d63e3b8f35d3f5f998a778d0a4348bb0",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": ">=3.9",
"size": 1679789,
"upload_time": "2025-02-15T13:03:54",
"upload_time_iso_8601": "2025-02-15T13:03:54.469259Z",
"url": "https://files.pythonhosted.org/packages/60/09/c0f24b5ac526b484aff78dc2e84fa398cc7040d54f196325238a8cfe6ff5/ale_py-0.10.2-cp312-cp312-macosx_10_15_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "3baba259e1e9a451f0f27fa45cc5f4e2e1e0b5ba5cafcc09886ab4f5da8095a6",
"md5": "b99d4ad951f87cb536e77666f020c469",
"sha256": "791f68cb665d8ddd1c3afa2eb0ce47a9441c8af2fad03abfd8f9bc0d7772650d"
},
"downloads": -1,
"filename": "ale_py-0.10.2-cp312-cp312-macosx_11_0_arm64.whl",
"has_sig": false,
"md5_digest": "b99d4ad951f87cb536e77666f020c469",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": ">=3.9",
"size": 1584132,
"upload_time": "2025-02-15T13:03:57",
"upload_time_iso_8601": "2025-02-15T13:03:57.296838Z",
"url": "https://files.pythonhosted.org/packages/3b/ab/a259e1e9a451f0f27fa45cc5f4e2e1e0b5ba5cafcc09886ab4f5da8095a6/ale_py-0.10.2-cp312-cp312-macosx_11_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "c28875e7f1b86fe0fd502a6db4727bff18019b83e81c115d6d67f5f0e4689e22",
"md5": "91adfa34651496d596ba5a1b3a626143",
"sha256": "744f623829d5bd8b105aac428249c27472fdf53f3822a3ceadea3c8cab27b161"
},
"downloads": -1,
"filename": "ale_py-0.10.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "91adfa34651496d596ba5a1b3a626143",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": ">=3.9",
"size": 2230853,
"upload_time": "2025-02-15T13:04:00",
"upload_time_iso_8601": "2025-02-15T13:04:00.814349Z",
"url": "https://files.pythonhosted.org/packages/c2/88/75e7f1b86fe0fd502a6db4727bff18019b83e81c115d6d67f5f0e4689e22/ale_py-0.10.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "7924828c102ce115289fc30ce6bb5f903835c8dd59c3416c88a6971bed79641e",
"md5": "08cd214f17ee52ca3acef88236af056b",
"sha256": "d5312b5a2be4867ea25152b68896651a8ed514ffbf221b1c7d3f6141d9009087"
},
"downloads": -1,
"filename": "ale_py-0.10.2-cp312-cp312-win_amd64.whl",
"has_sig": false,
"md5_digest": "08cd214f17ee52ca3acef88236af056b",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": ">=3.9",
"size": 1489234,
"upload_time": "2025-02-15T13:04:03",
"upload_time_iso_8601": "2025-02-15T13:04:03.603990Z",
"url": "https://files.pythonhosted.org/packages/79/24/828c102ce115289fc30ce6bb5f903835c8dd59c3416c88a6971bed79641e/ale_py-0.10.2-cp312-cp312-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "651b57afb76eb38203b4ceb7bb2ff23091a07eba64754e8c3c883c7747991645",
"md5": "ee5acaa6161f859bbabe98b4715819bc",
"sha256": "4f1af4da243bd369cd74296b32fd952b27f72e5f55fcd090caf06b93e15608e3"
},
"downloads": -1,
"filename": "ale_py-0.10.2-cp313-cp313-macosx_10_15_x86_64.whl",
"has_sig": false,
"md5_digest": "ee5acaa6161f859bbabe98b4715819bc",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": ">=3.9",
"size": 1679825,
"upload_time": "2025-02-15T13:04:06",
"upload_time_iso_8601": "2025-02-15T13:04:06.414706Z",
"url": "https://files.pythonhosted.org/packages/65/1b/57afb76eb38203b4ceb7bb2ff23091a07eba64754e8c3c883c7747991645/ale_py-0.10.2-cp313-cp313-macosx_10_15_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "f8cfb7f4c29d69ec53a389e0bbe7d9a3d9568ee4392603965374feb806b07e11",
"md5": "ab83be93aac9ac5617f014d122b11693",
"sha256": "7649911c311649b2dcfa4046d549b3f5cb5d8fc354fee01a73bd7762d97572a0"
},
"downloads": -1,
"filename": "ale_py-0.10.2-cp313-cp313-macosx_11_0_arm64.whl",
"has_sig": false,
"md5_digest": "ab83be93aac9ac5617f014d122b11693",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": ">=3.9",
"size": 1584148,
"upload_time": "2025-02-15T13:04:08",
"upload_time_iso_8601": "2025-02-15T13:04:08.418505Z",
"url": "https://files.pythonhosted.org/packages/f8/cf/b7f4c29d69ec53a389e0bbe7d9a3d9568ee4392603965374feb806b07e11/ale_py-0.10.2-cp313-cp313-macosx_11_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "b2a422229b10b4b62c0204a22d5c1b67d89573d84d11aee3556d4e580c2cdfc8",
"md5": "592aa01020e90c91f8288cb91db360a2",
"sha256": "e68297eda2681f8b5591c251a617c19c20a1e1af6a7d06ca1e32e6cca7fcede5"
},
"downloads": -1,
"filename": "ale_py-0.10.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "592aa01020e90c91f8288cb91db360a2",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": ">=3.9",
"size": 2230651,
"upload_time": "2025-02-15T13:04:11",
"upload_time_iso_8601": "2025-02-15T13:04:11.473860Z",
"url": "https://files.pythonhosted.org/packages/b2/a4/22229b10b4b62c0204a22d5c1b67d89573d84d11aee3556d4e580c2cdfc8/ale_py-0.10.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "06839ab982c576fb31d236739bbfc37f0b4720de80dabda47021263b4f614057",
"md5": "de4bf13e3266e0fb2d3fa7de51eb4537",
"sha256": "6e057557bbc13bf6eff2797a09070755d69d6fb9e54733e11a5e612fdf60117f"
},
"downloads": -1,
"filename": "ale_py-0.10.2-cp313-cp313-win_amd64.whl",
"has_sig": false,
"md5_digest": "de4bf13e3266e0fb2d3fa7de51eb4537",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": ">=3.9",
"size": 1489359,
"upload_time": "2025-02-15T13:04:14",
"upload_time_iso_8601": "2025-02-15T13:04:14.160147Z",
"url": "https://files.pythonhosted.org/packages/06/83/9ab982c576fb31d236739bbfc37f0b4720de80dabda47021263b4f614057/ale_py-0.10.2-cp313-cp313-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "e9d6e080d5f673614480da099931826b801b0e23cded492769a4755ffa7f1854",
"md5": "49198be98cc50d95902e045128ab0135",
"sha256": "be9c877ae53ab455c3d3639481e439df5c4b1e3312482f1efcd64e40d5d924ee"
},
"downloads": -1,
"filename": "ale_py-0.10.2-cp39-cp39-macosx_10_15_x86_64.whl",
"has_sig": false,
"md5_digest": "49198be98cc50d95902e045128ab0135",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": ">=3.9",
"size": 1678004,
"upload_time": "2025-02-15T13:04:17",
"upload_time_iso_8601": "2025-02-15T13:04:17.504758Z",
"url": "https://files.pythonhosted.org/packages/e9/d6/e080d5f673614480da099931826b801b0e23cded492769a4755ffa7f1854/ale_py-0.10.2-cp39-cp39-macosx_10_15_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "ab053ee1b2fc73dad87676a7069a8f9f8b22a9d04a2459023f6fa196020a523c",
"md5": "16e168104789287ac244592bb7731213",
"sha256": "62029caaed2cb09381b3d8ca488ad7ac8a0d8e1193bb5f6e1ff75a8cd4d14634"
},
"downloads": -1,
"filename": "ale_py-0.10.2-cp39-cp39-macosx_11_0_arm64.whl",
"has_sig": false,
"md5_digest": "16e168104789287ac244592bb7731213",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": ">=3.9",
"size": 1583240,
"upload_time": "2025-02-15T13:04:20",
"upload_time_iso_8601": "2025-02-15T13:04:20.329662Z",
"url": "https://files.pythonhosted.org/packages/ab/05/3ee1b2fc73dad87676a7069a8f9f8b22a9d04a2459023f6fa196020a523c/ale_py-0.10.2-cp39-cp39-macosx_11_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "35c77cc3493348e50f37432b9e633b48316f0f7423ddc431ac4569d1720dcd61",
"md5": "3e960d72340dc6b4d8c7389c4a5d5ec3",
"sha256": "88248f41463f0f05095aa58d45212e6948151fd86d885e3d655aaeb69e95e9b3"
},
"downloads": -1,
"filename": "ale_py-0.10.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "3e960d72340dc6b4d8c7389c4a5d5ec3",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": ">=3.9",
"size": 2229716,
"upload_time": "2025-02-15T13:04:22",
"upload_time_iso_8601": "2025-02-15T13:04:22.765545Z",
"url": "https://files.pythonhosted.org/packages/35/c7/7cc3493348e50f37432b9e633b48316f0f7423ddc431ac4569d1720dcd61/ale_py-0.10.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "f94b1c9c2410a95e3404d89083efdb95277c18c4244df44104235aa2dc8fb9d8",
"md5": "0f50501c2e3566f88bcb42ec3b58fa83",
"sha256": "813c38da130dd6d4c91980f2fd8060d10ca8b52054677af1a41f8bcc97c22072"
},
"downloads": -1,
"filename": "ale_py-0.10.2-cp39-cp39-win_amd64.whl",
"has_sig": false,
"md5_digest": "0f50501c2e3566f88bcb42ec3b58fa83",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": ">=3.9",
"size": 1487454,
"upload_time": "2025-02-15T13:04:25",
"upload_time_iso_8601": "2025-02-15T13:04:25.407128Z",
"url": "https://files.pythonhosted.org/packages/f9/4b/1c9c2410a95e3404d89083efdb95277c18c4244df44104235aa2dc8fb9d8/ale_py-0.10.2-cp39-cp39-win_amd64.whl",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-02-15 13:03:32",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "Farama-Foundation",
"github_project": "Arcade-Learning-Environment",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "ale-py"
}