Metadata-Version: 2.1
Name: regelum-control
Version: 0.3.3
Summary: Regelum is a flexibly configurable framework for agent-environment simulation with a menu of predictive and reinforcement learning pipelines.
License: MIT
Author: Georgiy Malaniya
Author-email: pwlsd.gm@gmail.com> Anton Bolychev <bolychev.anton@gmail.com> Grigoriy Yaremenko <yaremenko8@gmail.com> Pavel Osinenko <p.osinenko@yandex.ru
Requires-Python: >=3.9,<4.0
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
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: casadi (>=3.6.5,<4.0.0)
Requires-Dist: cues (>=0.3.0,<0.4.0)
Requires-Dist: dill (>=0.3.8,<0.4.0)
Requires-Dist: gitpython (>=3.1.42,<4.0.0)
Requires-Dist: matplotlib (>=3.7.1)
Requires-Dist: matplotx (>=0.3.8,<0.4.0)
Requires-Dist: mlflow (==2.4.1)
Requires-Dist: numpy (>=1.25.2)
Requires-Dist: omegaconf (>=2.3.0,<3.0.0)
Requires-Dist: pandas (>=1.5.3)
Requires-Dist: plotly (>=5.15.0)
Requires-Dist: pyqt5 (==5.15.10)
Requires-Dist: pyqt5-qt5 (>=5.15.2,<=5.15.13)
Requires-Dist: rehydra (==1.3.5)
Requires-Dist: rehydra-joblib-launcher (==1.3.0)
Requires-Dist: scipy (>=1.11.0)
Requires-Dist: svgpath2mpl (>=1.0.0,<2.0.0)
Requires-Dist: svgpathtools (>=1.6.1,<2.0.0)
Requires-Dist: tables (>=3.8.0)
Requires-Dist: torch (>=1.13.1)
Description-Content-Type: text/markdown

![image](https://regelum.aidynamic.group/gfx/regelum_full_logo.png)

# About

`Regelum-control` stands as a framework designed to address optimal control and reinforcement learning (RL) tasks within continuous-time dynamical systems. It is made for researchers and engineers in reinforcement learning and control theory.

A detailed documentation is available [here](https://regelum.aidynamic.group/).

Explore [regelum-playground repo](https://github.com/osinenkop/regelum-playground) with ready-to-use examples.

# Features

- __Run pre-configured regelum algorithms with ease__. Regelum offers a set of implemented, ready-to-use algorithms in the domain of RL and Optimal Control. 
It provides flexibility through multiple optimization backends, including CasADi and PyTorch, to accommodate various computational needs.

-  __Stabilize your dynamical system with Regelum__. Regelum stands as a framework 
designed to address optimal control and reinforcement learning (RL) 
tasks within continuous-time dynamical systems. 
It comes equipped with an array of default systems, 
alongside a detailed tutorial that provides clear instructions 
for users to instantiate their own environments.

- __Manage your experiment data__. Regelum seamlessly captures
every detail of your experiment with little to no configuration required. 
From parameters to performance metrics, every datum is recorded. Through integration with [MLflow](https://mlflow.org/), 
Regelum streamlines tracking, comparison and real-time monitoring of metrics.

-  __Reproduce your experiments with ease__. Commit hashes and diffs for every experiment are also stored in Regelum, 
offering the ability to reproduce your experiments at any time with simple terminal commands.

-  __Configure your experiments efficiently__. Our [Hydra](https://hydra.cc/) fork within Regelum introduces enhanced functionaly, 
making the configuration of your RL and Optimal Control tasks more accessible and user-friendly.

-  __Fine-tune your models to perfection__ and achieve peak performance with minimal effort. 
By integrating with Hydra, regelum inherently adopts Hydra's powerful hyperparameter tuning capability.

# Install regelum-control with pip

```bash
pip install regelum-control
```

# Developer setup

1. Clone the repository.
2. Run:
   ```bash
   pip install -e .
   bash scripts/developer-setup.sh
   ```
3. Check `requirements-dev.txt` in the root of the repo for additional details.


# Licence

This project is licensed under the terms of the [MIT license](./LICENSE).

## Bibtex reference

```
@misc{regelum2024,
author =   {Pavel Osinenko, Grigory Yaremenko, Georgiy Malaniya, Anton Bolychev},
title =    {Regelum: a framework for simulation, control and reinforcement learning},
howpublished = {\url{https://github.com/osinekop/regelum-control}},
year = {2024},
note = {Licensed under the MIT License}
}
```

