A Python package for modular implementation of classical and deep Reinforcement Learning algorithms.
Project description
The motivation behind pyrlib
• Modular Reinforcement Learning Framework — Unlike many RL libraries that run monolithic end-to-end experiments, pyrlib emphasizes modularity. Its components—such as pyrlib.agents, pyrlib.bandits, and pyrlib.policies—are designed to be interchangeable, enabling users to mix, match, and customize elements for their own research or teaching use cases.
• Seamless gymnasium Integration — pyrlib is fully compatible with the OpenAI gymnasium API, making it straightforward to test algorithms across a wide range of established environments.
• Educational Alignment — Every algorithm implementation in pyrlib is directly tied to specific chapters in the Reinforcement Learning Quarto book, making it a hands-on learning tool for students and instructors alike.
• Designed for Research and Experimentation — The library’s modular design facilitates rapid prototyping and experimentation, supporting both academic research and practical exploration of new algorithmic ideas.
• Open Source and Community-Driven — pyrlib welcomes open source contributions, encouraging collaboration to expand functionality, improve documentation, and advance the broader reinforcement learning ecosystem.
How to install pyrlib?
Run the following pip command:
pip install pyrlib
pyrlib repository structure
Demo:
.
├── __init__.py
├── bandits
│ ├── classical
│ │ └── egreedy.py
│ └── contextual
└── evaluation
└── regret.py
Version 0.0.1:
.
├── __init__.py
├── agents
│ ├── classical
│ │ ├── onp-monte-carlo.py # available but not implemented yet
│ │ ├── offp-monte-carlo.py # available but not implemented yet
│ │ ├── td-sarsa.py # available but not implemented yet
│ │ ├── td-q.py # available but not implemented yet
│ │ ├── td-doubleq.py # available but not implemented yet
│ │ ├── n-offp-sarsa.py # available but not implemented yet
│ │ └── n-tree.py # available but not implemented yet
│ └── deep
│ ├── semi-gradient-sarsa.py # available but not implemented yet
│ ├── dqn.py # available but not implemented yet
│ ├── vpg.py # available but not implemented yet
│ └── ppo.py # available but not implemented yet
├── bandits
│ ├── classical
│ │ ├── epsilon-greedy.py
│ │ ├── ucb.py # available but not implemented yet
│ │ ├── thompson-sampling.py # available but not implemented yet
│ │ ├── gradient-bandit.py # available but not implemented yet
│ │ └── exp3.py # available but not implemented yet
│ └── contextual
│ └── linucb.py # available but not implemented yet
├── evaluation
│ ├── regret.py
│ └── cum-rew.py # available but not implemented yet
├── nn
│ ├── mlp.py # available but not implemented yet
│ └── cnn.py # available but not implemented yet
├── policies
│ ├── softmax.py # available but not implemented yet
│ └── e-soft.py # available but not implemented yet
└── utils
├── replay-buffer.py # available but not implemented yet
└── epsilon-scheduler.py # available but not implemented yet
Requirements
pip install requirements.txt
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pyrlib-0.0.1.tar.gz.
File metadata
- Download URL: pyrlib-0.0.1.tar.gz
- Upload date:
- Size: 2.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
696be14b8754ce36fc4aec05001937ae1c6c83674805456f6ea5c91b16642c86
|
|
| MD5 |
1eaf33ab982b73fb1ae26326dc8e03de
|
|
| BLAKE2b-256 |
c40648d2d740b1210a57300f8a2198127453caa88adf4255820798a3bf6e6084
|
File details
Details for the file pyrlib-0.0.1-py3-none-any.whl.
File metadata
- Download URL: pyrlib-0.0.1-py3-none-any.whl
- Upload date:
- Size: 2.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
160a161c37a01758edc55b7066d15638068afd2961d032bee2a19f5e71795b61
|
|
| MD5 |
c7fc886af21978f3381d50908fe35f2f
|
|
| BLAKE2b-256 |
411f11784c7002fa028452bebed17d7e1903bad0cfc8839b4522b413f0401f23
|