Skip to main content

A Python package for modular implementation of classical and deep Reinforcement Learning algorithms.

Project description

pyrlib

RL Course Language: Python License: MIT

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 Integrationpyrlib 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-Drivenpyrlib 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pyrlib-0.0.1.tar.gz (2.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pyrlib-0.0.1-py3-none-any.whl (2.8 kB view details)

Uploaded Python 3

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

Hashes for pyrlib-0.0.1.tar.gz
Algorithm Hash digest
SHA256 696be14b8754ce36fc4aec05001937ae1c6c83674805456f6ea5c91b16642c86
MD5 1eaf33ab982b73fb1ae26326dc8e03de
BLAKE2b-256 c40648d2d740b1210a57300f8a2198127453caa88adf4255820798a3bf6e6084

See more details on using hashes here.

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

Hashes for pyrlib-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 160a161c37a01758edc55b7066d15638068afd2961d032bee2a19f5e71795b61
MD5 c7fc886af21978f3381d50908fe35f2f
BLAKE2b-256 411f11784c7002fa028452bebed17d7e1903bad0cfc8839b4522b413f0401f23

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page