Metadata-Version: 2.1
Name: TEG
Version: 1.0.0rc1
Summary: Reinforcement Learning Environments for train RL agents
Author-email: Alexis Fraudita <fraumalex@gmail.com>
License: Apache License 2.0
Project-URL: Homepage, https://github.com/alefram/TEG
Project-URL: Bug Report, https://github.com/alefram/TEG/issues
Keywords: Reinforcement Learning,Mujoco,RL,AI,TEG
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: License :: OSI Approved :: Apache Software License
Requires-Python: >=3.7
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: numpy>=1.23.5
Requires-Dist: mujoco>=2.3.1.post1
Requires-Dist: gymnasium>=0.27.1
Provides-Extra: testing
Requires-Dist: pytest==7.1.3; extra == "testing"

# TEG 

TEG is a straightforward environment for Reinforcement Learning that enables 
the training of RL agents for a robot manipulator. It's based on the [Gymnasium](https://github.com/Farama-Foundation/Gymnasium)
and [Mujoco](https://github.com/deepmind/mujoco).

## Installation

This project use python 3.7+

You can install it by using pip

```bash
pip install TEG
```

Or manually cloning the github repository

```bash

git clone https://github.com/Alexfm101/TEG.git 
cd TEG
python -m pip install -e .

```

## Example

TEG environment are simple Python `env` classes to allow an AI agent to interact
with them very simple. Here's an example:

```python
from TEG.envs.UR5_v0 import UR5Env_v0

env = UR5Env_v0(simulation_frames=5, torque_control= 0.01, distance_threshold=0.05)

def main():
    for episode in range(5):
        print("episode {}".format(episode))
        env.reset()

        for t in range(1000):
            action = env.action_space.sample()
            observation, reward, done, info = env.step(action)
            
            
            if done:
                print("Episode finished after {} timesteps".format(t+1))
                break

    return env.robot, env.sim

if __name__ == '__main__':
    main()
```

## 🧾 License

The Apache 2.0 License
 
