Metadata-Version: 2.1
Name: mtenv
Version: 0.1
Summary: MTEnv: Environment interface for mulit-task reinforcement learning
Home-page: https://github.com/facbookresearch/mtenv
Author: Shagun Sodhani, Ludovic Denoyer, Olivier Delalleau
Author-email: sshagunsodhani@gmail.com, denoyer@fb.com, odelalleau@fb.com
License: UNKNOWN
Platform: UNKNOWN
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Requires-Python: >=3.6
Description-Content-Type: text/markdown
Requires-Dist: gym (==0.17.3)
Requires-Dist: mypy (==0.790)
Requires-Dist: numpy (==1.19.4)
Requires-Dist: typing-extensions (==3.7.4.3)
Provides-Extra: dev
Requires-Dist: gym (==0.17.3) ; extra == 'dev'
Requires-Dist: mypy (==0.790) ; extra == 'dev'
Requires-Dist: numpy (==1.19.4) ; extra == 'dev'
Requires-Dist: typing-extensions (==3.7.4.3) ; extra == 'dev'
Requires-Dist: black (==20.8b1) ; extra == 'dev'
Requires-Dist: flake8-bugbear (==20.11.1) ; extra == 'dev'
Requires-Dist: flake8-comprehensions (==3.3.0) ; extra == 'dev'
Requires-Dist: flake8 (==3.8.4) ; extra == 'dev'
Requires-Dist: isort (==5.6.4) ; extra == 'dev'
Requires-Dist: nox (==2020.8.22) ; extra == 'dev'
Requires-Dist: pre-commit (==2.9.3) ; extra == 'dev'
Requires-Dist: pytest (==6.1.2) ; extra == 'dev'
Requires-Dist: pytest-xdist (==2.1.0) ; extra == 'dev'

# MTEnv

## Documentation

### How to add new environments

There are two workflows:

* The user have a standard gym environment, which they want to convert into a multitask environment. E.g.: `examples/bandit.py` has a `BanditEnv` which is a standard multi-arm bandit, without any explicit notion of task. The user has the following options:

    * Write a new subclass, say MTBanditEnv (which subclasses MTEnv) as shown in `examples/mtenv_bandit.py`.

    * Use the `MTEnvWrapper` and wrap the existing standard model class. An example is shown in `examples/wrapped_bandit.py`. 

* If the user does not have a standard gym environment to start with, it is recommended that they directly extend the MTEnv class.

### Running examples

* `pip install -r requirements.txt`
* Alternatively, feel free to use my conda env: `source activate source /private/home/sodhani/.conda/envs/mtenv/bin/activate /private/home/sodhani/.conda/envs/mtenv` 
* In the root folder, run `PYTHONPATH=. python examples/<filename>.py`.

## Pending items

1. [Google Doc](https://docs.google.com/document/d/1H98fJ-gI53kF1x99pt-7Gy_HPAE6q9DeLPeT3kBIThQ/edit) to track some ongoing work.

