Educational collection of 18 Jupyter Notebook implementations of RL algorithms in Python, focusing on fundamentals and readability. Includes a cheat sheet and step-by-step usage with uv tool for environment setup.
Collecting history — the radar snapshots this repo daily. The trend line appears after 3 days of data (1 so far).
What it is
This repository is a collection of Python implementations of various Reinforcement Learning (RL) algorithms. The primary goal is educational, to understand how these algorithms work under the hood. It includes a comprehensive cheat sheet (cheatsheet.md) and emphasizes readability over performance. The project lists 18 algorithm notebooks as part of updates.
How it works
Each algorithm has its own Jupyter Notebook file (.ipynb) with detailed explanations and implementations. The README outlines a learning guide that directs users from basics to advanced methods, and mentions that the A3C implementation uses a separate script (a3c_training.py) due to multiprocessing in notebooks. The repository uses basic libraries (NumPy, Matplotlib, PyTorch).
Getting started
Follow installation steps:
# Clone the repository
git clone https://github.com/fareedkhan-dev/all-rl-algorithms.git
cd all-rl-algorithms
# Create a virtual environment (using uv)
uv init
uv venv
Activate:
# Windows
.venv\Scripts\activate
# macOS / Linux
source .venv/bin/activate
Install dependencies:
uv add -r requirements.txt
Multiprocessing note for A3C:
# Run a3c_training.py from terminal
If uv is not installed:
pip install uv
Recent releases
- There are no releases listed in the repository metadata for latest version.
Traction
- Stars: 1889
Behind the repo
- Not applicable as no startup/company link is provided in the facts.
Caveats
- License: MIT
- Created: 2025-03-30
- Last push: 2025-08-29
- Language: Jupyter Notebook
- Open issues: 1
- Note: This repository is described as not a performance-optimized library; emphasis is on educational clarity. Some notebooks (e.g., HAC) may contain bugs or incomplete implementations according to the README.






