Metadata-Version: 2.3
Name: rlrom
Version: 0.1.1
Summary: RLROM is a library for testing and training reinforcement learning agent using online monitoring of signal temporal logics formulas, and more.
License: BSD-3-Clauses
Author: Alexandre Donze
Author-email: alexandre.donze@univ-grenoble-alpes.fr
Requires-Python: >=3.10
Classifier: License :: Other/Proprietary License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Requires-Dist: bokeh (>=3.8.0,<4.0.0)
Requires-Dist: gym[old-gym] (>=0.26.2,<0.27.0)
Requires-Dist: gymnasium[classic-control] (>=1.2.0,<2.0.0)
Requires-Dist: huggingface-hub (>=0.34.4,<0.35.0)
Requires-Dist: huggingface-sb3 (>=3.0,<4.0)
Requires-Dist: sb3-contrib (>=2.7.0,<3.0.0)
Requires-Dist: shimmy (>=2.0.0,<3.0.0)
Requires-Dist: stable-baselines3 (>=2.7.0,<3.0.0)
Requires-Dist: stlrom (>=0.2.3,<0.3.0)
Requires-Dist: tensorboard (>=2.20.0,<3.0.0)
Description-Content-Type: text/markdown

# RLRom

This module integrates Robust Online Monitoring methods with Reinforcement Learning stuff. The motivation is first to test RL agents using interpretable monitors, then use these monitors to train models to perform complex tasks, and/or converge toward behaviors that reliably satisfy certain requirements. 

## Install

Those are needed for building some of the required python modules, in particular [stlrom](https://github.com/decyphir/stlrom) for STL monitoring.
- CMake
- swig 

Then installing should be as simple as
```
pip install rlrom 
``` 

Note that some environments still require an older version of Gym. It can be installed with 
```
pip install rlrom[old_gym]
``` 


## Getting Started

RLRom reads configuration files in the YAML format as inputs. Examples are provided in the examples folder. A command line interface is provided through the script `rlrom_run`. For instance, 
```
$ rlrom_run test examples/cartpole/cfg_cartpole.cfg
```
will run a few episode of the cartpole classic environment, fetching a model on huggingface and monitor a formula on these episodes. 

More programmatic features are demonstrated in notebooks, in particular [this notebook](examples/highway_env/highway_notebook.ipynb) which presents a case study around [highway-env](https://github.com/Farama-Foundation/HighwayEnv) environment. 
