Skip to main content

Multi code-snippet generator for notebooks

Project description

📘 Reinforcement Learning Snippet Generator (qrl)

A lightweight Python library that generates ready-to-run Reinforcement Learning code snippets for students, beginners, and researchers working with RL algorithms.

This library does not run RL algorithms internally — instead, it returns formatted, complete Python scripts for:

  • Monte Carlo Prediction
  • Temporal Difference (TD(0))
  • Policy Iteration
  • Value Iteration (coming soon)
    • more upcoming RL algorithms

You can copy the output, paste it into a Jupyter Notebook, Colab, VS Code, or PyCharm, and run it directly.


🚀 Features

✔ Generates complete RL scripts as strings
✔ Code always follows correct RL implementations
✔ Uses format_snippet() to return clean, properly formatted code
✔ Ideal for learning, assignments, and quick experimentation
✔ Zero dependencies for running the library itself
✔ Works in: Jupyter Notebook, Google Colab, VS Code, Spyder, PyCharm


📦 Installation

Install the package using pip:

pip install qrl

---

Upgrade:

pip install --upgrade qrl

🧠 Available Code Snippet Functions

Function Name Algorithm Description
monte_carlo_code() Monte Carlo Prediction Returns a full script for MC value estimation on FrozenLake
td_code() Temporal Difference (TD-0) Generates complete TD learning code with convergence plots
complete_policy_iteration_code() Policy Iteration Returns policy evaluation + improvement + convergence visualization
complete_value_iteration_code() Value Iteration (Coming soon — ready function placeholder)

📝 Example Usage

▶️ Generate Monte Carlo Snippet

from qrl import monte_carlo_code

print(monte_carlo_code())

▶️ Generate TD(0) Snippet

from qrl import td_code

print(td_code())

▶️ Generate Policy Iteration Code

from qrl import complete_policy_iteration_code

print(complete_policy_iteration_code())

Each function returns a complete runnable script containing:

  • Gym environment setup
  • Algorithm implementation
  • Value function updates
  • Convergence plots
  • Printed results

📚 Example Output (Short Preview)

import numpy as np
import gymnasium as gym
import matplotlib.pyplot as plt

env = gym.make('FrozenLake-v1', is_slippery = 'False')

def monte_carlo(env, policy, episodes = 10000, df = 0.99):
    ...

(Full script provided when calling the function.)


🏗 Internal Architecture

qrl/
│
├── __init__.py
├── qrl.py                # Main snippet-generating functions
├── utils.py              # format_snippet() helper
└── README.md

📜 License

This project is licensed under the MIT License. Feel free to use it in academic or commercial projects.


⭐ Support

If this library helps you learn or build RL assignments, give it a ⭐ on GitHub and share it with your friends!


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

lerl-0.2.0.tar.gz (18.3 kB view details)

Uploaded Source

Built Distribution

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

lerl-0.2.0-py3-none-any.whl (17.6 kB view details)

Uploaded Python 3

File details

Details for the file lerl-0.2.0.tar.gz.

File metadata

  • Download URL: lerl-0.2.0.tar.gz
  • Upload date:
  • Size: 18.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.5

File hashes

Hashes for lerl-0.2.0.tar.gz
Algorithm Hash digest
SHA256 116932a88608207d97c8a1353e8184575aa27427f8b0583d54aba664239b5a72
MD5 c43e790bbb78f9163b92cd2f933cf883
BLAKE2b-256 268b0a40ff5ccb8f8fbcc05f15898be6c3b2eea698829b6d214d338bd1de2730

See more details on using hashes here.

File details

Details for the file lerl-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: lerl-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 17.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.5

File hashes

Hashes for lerl-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b9fee89fff6e4f4d0b91a4da9d23964820d3632f1c0bd55d4edaae6daa3dd8f4
MD5 b4cb07b4cc90d4a147f065d3c62c8dfa
BLAKE2b-256 c82d9a59b24bf01469d64625cb5cee9e0b2bae53ab3794449278464645a5fa08

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