Top AI Repos — open-source AI, indexed and scored
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
A simple framework that allows researchers and hobbyists to develop AI agents for Atari 2600 games
| Date | Stars |
|---|---|
| 2026-07-31 | 2437 |
| 2026-08-04 | 2436 |
| 2026-08-06 | 2436 |
| 2026-08-13 | 2441 |
| 2026-08-18 | 2445 |
| 2026-08-23 | 2447 |
| 2026-08-24 | 2448 |
| 2026-08-30 | 2449 |
| 2026-09-03 | 2450 |
| 2026-09-04 | 2451 |
| 2026-09-05 | 2451 |
| 2026-09-06 | 2451 |
| 2026-09-07 | 2451 |
| 2026-09-08 | 2452 |
| 2026-09-14 | 2451 |
| 2026-09-16 | 2451 |
| 2026-09-18 | 2450 |
| 2026-09-20 | 2450 |
Today
— stars today
This week
-2 stars this week
This month
+5 stars this month
Momentum
15.0
growth rate 0.00%/day
[](https://badge.fury.io/py/ale-py)
[](https://pypi.org/project/ale-py)
<p align="center">
<a href="https://ale.farama.org/" target = "_blank">
<img src="ale-text-v2-centered.png" width="500px" />
</a>
**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 [nanobind](https://github.com/wjakob/nanobind).
- Native support for [Gymnasium](http://github.com/farama-Foundation/gymnasium), the maintained fork of OpenAI Gym.
- Atari roms are packaged within the pip package.
- C++ based vectorizer for acting in multiple ROMs at the same time.
- WebAssembly support for running ALE in the Browser
Quick Start
===========
The ALE currently supports three different interfaces: C++, Python, Gymnasium and WASM.
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.
Note: Free-threaded CPython (the `t` ABI, e.g. `python3.14t`) aren't supported as OpenCV doesn't build compatible wheels on any system which is necessary for preprocessing. We will look to add support when OpenCV does.
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/).
A vectorized environment with preprocessing, written in C++, is also available with `gym.make_vec("ALE/Breakout-v5", num_envs=10)`.
See [vector-environment](https://ale.farama.org/vector-environment/) for Excerpt of 7,750 characters
Read on GitHub288
Jesse Farebrother · @mila-iqia · United Kingdom
159
156
112
Mark Towers · Anyscale · United Kingdom
68
Thomas Köppe · Google · United Kingdom
58
33
24
Jordan Terry
19
15
15
12
Evan Shelhamer · UBC / Vector · United States
8
7
Jeremy Fix · CentraleSupélec
5
Xiaochen Lian · ByteDance
4
Ehud Ben-Reuven
4
Jet · @eluve-inc
3
Benjamin Black
3
3
Would you bet a product on this? Bounded 0–100 and slow moving.
matched fp:d280fb760eda634a, desc:ai agents