Metadata-Version: 2.4
Name: drl-wizard
Version: 0.1.2
Summary: Deep Reinforcement Learning training platform
Author: Amin Lotfolahi
License: MIT
Project-URL: Homepage, https://github.com/amin-lotf/DRL-Wizard
Requires-Python: >=3.9
Description-Content-Type: text/markdown
Requires-Dist: sqlalchemy>=2.0
Requires-Dist: aiosqlite>=0.20
Requires-Dist: tensorboard>=2.14
Requires-Dist: gymnasium[atari,mujoco]>=0.29
Requires-Dist: gymnasium-robotics>=1.2
Requires-Dist: mpe2>=0.0.1
Requires-Dist: fastapi[standard]>=0.115
Requires-Dist: uvicorn[standard]>=0.30
Requires-Dist: pandas>=2.2
Requires-Dist: stable-baselines3>=2.3
Requires-Dist: ale-py>=0.10
Requires-Dist: opencv-python>=4.9
Provides-Extra: ui
Requires-Dist: streamlit>=1.38; extra == "ui"
Requires-Dist: pandas-stubs>=2.2; extra == "ui"
Provides-Extra: dev
Requires-Dist: pytest>=8; extra == "dev"
Requires-Dist: pytest-asyncio>=0.23; extra == "dev"
Requires-Dist: ruff>=0.6; extra == "dev"
Requires-Dist: mypy>=1.10; extra == "dev"

# DRL Wizard

**DRL Wizard** is a lightweight, modular Deep Reinforcement Learning toolkit for training, comparing, and understanding modern RL algorithms across diverse environments. It provides a clean workflow with a FastAPI backend, Streamlit UI, structured logging, and support for multiple concurrent training jobs.

---

## 🚀 Features

- **Built-in Algorithms**  
  PPO, TRPO, DQN, Double DQN, Dueling DQN, SAC — with more on the way.

- **Environment Support**  
  Works with Gymnasium environments, Atari (ALE), image-based observations, multi-discrete action spaces, and custom environments.

- **Modern Architecture**  
  - FastAPI backend for job orchestration & real-time streaming  
  - Streamlit UI for configuration, dashboards, and experiment comparison  
  - SQLAlchemy repository layer with clean separation of concerns  
  - Pydantic-based configuration system with auto-generated forms  

- **Experiment Management**  
  - Run multiple simulations concurrently  
  - Graceful stop/resume handling  
  - NDJSON logging (train/eval segments)  
  - Manifest tracking and TensorBoard-compatible metrics  
  - Downloadable job archives

- **Extensible**  
  Add new algorithms, environments, or visualization components with minimal boilerplate.

---

## 📦 Installation

```bash
pip install drl-wizard
```

Install with UI:
```bash
pip install drl-wizard[ui]
```

Install with Development:
```bash
pip install drl-wizard[dev]
```

## 🖥️ Running
 - **Running the UI & Backend:**
```bash
drl-wizard-run
```

 - **Running Backend:**
```bash
drl-wizard-api
```

 - **Running UI:**
```bash
drl-wizard-ui
```
