# HippoGym
##### Human Input Parsing Platform for Openai Gym
[![Fury - PyPi stable version](https://badge.fury.io/py/hippogym.svg)](https://badge.fury.io/py/hippogym)
[![PePy - Downloads](https://static.pepy.tech/badge/hippogym)](https://pepy.tech/project/hippogym)
[![PePy - Downloads per week](https://static.pepy.tech/badge/hippogym/week)](https://pepy.tech/project/hippogym)
[![Codacy - grade](https://app.codacy.com/project/badge/Grade/dcd52445bb314a0798151a2f2bc308f6)](https://www.codacy.com/gh/IRLL/HIPPO_Gym/dashboard?utm_source=github.com&utm_medium=referral&utm_content=IRLL/HIPPO_Gym&utm_campaign=Badge_Grade)
[![Codacy - coverage](https://app.codacy.com/project/badge/Coverage/dcd52445bb314a0798151a2f2bc308f6)](https://www.codacy.com/gh/IRLL/HIPPO_Gym/dashboard?utm_source=github.com&utm_medium=referral&utm_content=IRLL/HIPPO_Gym&utm_campaign=Badge_Coverage)
[![CodeStyle - Black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)
[![CodeStyle - Ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/charliermarsh/ruff/main/assets/badge/v1.json)](https://github.com/charliermarsh/ruff)
## Purpose:
HippoGym is a python library for simplifying human-ai interaction research over the web.
The library provides a communicator that opens a websocket to pass environment information and recieve commands and actions from browser-based front-end.
The library is designed to be customizable for diverse research applications. The framework is naive in that it makes no assumptions about how human or agents input will be used, it simply provides the mechanism to pass along and record this information.
## Installation
```bash
pip install hippogym
```
## Examples
### Lunar Lander with human agent
Copy and run the [lunar lander example](https://github.com/IRLL/HIPPO_Gym/blob/master/examples/lunar_lander.py).
You should see:
![Backend log success lunar](docs/backend_success_example.png)
Then connect a client to the websocket using the host and port, you can use the irll frontend: https://beta.irll.net/?server=ws://localhost:5000
You can now play with either the command pannel or the keyboard:
![Frontend display lunar](docs/lunar_human_demo.gif)
### Minigrid with human agent
Copy and run the [minigrid example](https://github.com/IRLL/HIPPO_Gym/blob/master/examples/minigrid_example.py).
You should see:
![Backend log success minigrid](docs/backend_success_example.png)
Then connect a client to the websocket using the host and port, you can use the irll frontend: https://beta.irll.net/?server=ws://localhost:5000
You can now play with either the command pannel or the keyboard:
![Frontend display minigrid](docs/minigrid_human_demo.gif)
Raw data
{
"_id": null,
"home_page": "",
"name": "hippogym",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": "",
"keywords": "gym,human,loop,reinforcement,learning",
"author": "",
"author_email": "Nick Nissen <nnissen@ualberta.ca>, Math\u00efs F\u00e9d\u00e9rico <mathfederico@gmail.com>",
"download_url": "https://files.pythonhosted.org/packages/3c/af/4e5f3270330a8699d511b652d68dffec24e8358d34ef959ed19db0792483/hippogym-2.0.0a2.tar.gz",
"platform": null,
"description": "# HippoGym\n\n##### Human Input Parsing Platform for Openai Gym\n\n[![Fury - PyPi stable version](https://badge.fury.io/py/hippogym.svg)](https://badge.fury.io/py/hippogym)\n[![PePy - Downloads](https://static.pepy.tech/badge/hippogym)](https://pepy.tech/project/hippogym)\n[![PePy - Downloads per week](https://static.pepy.tech/badge/hippogym/week)](https://pepy.tech/project/hippogym)\n\n[![Codacy - grade](https://app.codacy.com/project/badge/Grade/dcd52445bb314a0798151a2f2bc308f6)](https://www.codacy.com/gh/IRLL/HIPPO_Gym/dashboard?utm_source=github.com&utm_medium=referral&utm_content=IRLL/HIPPO_Gym&utm_campaign=Badge_Grade)\n[![Codacy - coverage](https://app.codacy.com/project/badge/Coverage/dcd52445bb314a0798151a2f2bc308f6)](https://www.codacy.com/gh/IRLL/HIPPO_Gym/dashboard?utm_source=github.com&utm_medium=referral&utm_content=IRLL/HIPPO_Gym&utm_campaign=Badge_Coverage)\n[![CodeStyle - Black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)\n[![CodeStyle - Ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/charliermarsh/ruff/main/assets/badge/v1.json)](https://github.com/charliermarsh/ruff)\n\n## Purpose:\n\nHippoGym is a python library for simplifying human-ai interaction research over the web.\nThe library provides a communicator that opens a websocket to pass environment information and recieve commands and actions from browser-based front-end.\n\nThe library is designed to be customizable for diverse research applications. The framework is naive in that it makes no assumptions about how human or agents input will be used, it simply provides the mechanism to pass along and record this information.\n\n\n## Installation\n\n```bash\npip install hippogym\n```\n\n## Examples\n\n### Lunar Lander with human agent\nCopy and run the [lunar lander example](https://github.com/IRLL/HIPPO_Gym/blob/master/examples/lunar_lander.py).\n\nYou should see:\n![Backend log success lunar](docs/backend_success_example.png)\n\nThen connect a client to the websocket using the host and port, you can use the irll frontend: https://beta.irll.net/?server=ws://localhost:5000\n\nYou can now play with either the command pannel or the keyboard:\n![Frontend display lunar](docs/lunar_human_demo.gif)\n\n### Minigrid with human agent\nCopy and run the [minigrid example](https://github.com/IRLL/HIPPO_Gym/blob/master/examples/minigrid_example.py).\n\nYou should see:\n![Backend log success minigrid](docs/backend_success_example.png)\n\nThen connect a client to the websocket using the host and port, you can use the irll frontend: https://beta.irll.net/?server=ws://localhost:5000\n\nYou can now play with either the command pannel or the keyboard:\n![Frontend display minigrid](docs/minigrid_human_demo.gif)\n\n",
"bugtrack_url": null,
"license": "Apache-2.0",
"summary": "",
"version": "2.0.0a2",
"project_urls": {
"Documentation": "https://hippogym.irll.net/",
"Home-page": "https://hippogym.irll.net",
"Source": "https://github.com/IRLL/HIPPO_Gym"
},
"split_keywords": [
"gym",
"human",
"loop",
"reinforcement",
"learning"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "8ada54d622413aa9ba1a4bf49911fc2e82e4e1364358f2b154a1b71d998eab4e",
"md5": "6b455a851c4649feccffbdfbf60c2f0d",
"sha256": "8e358ff992eac235f9630fb18a126bb4a060e551e81689cfa964faf985680e25"
},
"downloads": -1,
"filename": "hippogym-2.0.0a2-py3-none-any.whl",
"has_sig": false,
"md5_digest": "6b455a851c4649feccffbdfbf60c2f0d",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 27572,
"upload_time": "2023-05-19T17:36:02",
"upload_time_iso_8601": "2023-05-19T17:36:02.209314Z",
"url": "https://files.pythonhosted.org/packages/8a/da/54d622413aa9ba1a4bf49911fc2e82e4e1364358f2b154a1b71d998eab4e/hippogym-2.0.0a2-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "3caf4e5f3270330a8699d511b652d68dffec24e8358d34ef959ed19db0792483",
"md5": "f1c940b12abbb84e623096cbf8a281fb",
"sha256": "ee9735cf77ea67847ba4171e90263caf407defe35187495776275c387c1f2a0e"
},
"downloads": -1,
"filename": "hippogym-2.0.0a2.tar.gz",
"has_sig": false,
"md5_digest": "f1c940b12abbb84e623096cbf8a281fb",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 7792175,
"upload_time": "2023-05-19T17:36:04",
"upload_time_iso_8601": "2023-05-19T17:36:04.923739Z",
"url": "https://files.pythonhosted.org/packages/3c/af/4e5f3270330a8699d511b652d68dffec24e8358d34ef959ed19db0792483/hippogym-2.0.0a2.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-05-19 17:36:04",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "IRLL",
"github_project": "HIPPO_Gym",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"requirements": [],
"lcname": "hippogym"
}