Metadata-Version: 2.4
Name: brawlgym-ppo
Version: 0.1.0
Summary: A multi-processed implementation of PPO for use with brawlgym.
Home-page: https://github.com/chrisrca/brawlgym-ppo
Author: chrisrca
License: Apache 2.0
Keywords: brawlhalla,gym,reinforcement-learning,ppo,brawlgym
Classifier: Development Status :: 3 - Alpha
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Operating System :: Microsoft :: Windows
Requires-Python: >=3.11
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: brawlgym
Requires-Dist: numpy>1.21
Requires-Dist: torch>1.13
Requires-Dist: wandb>0.15
Dynamic: author
Dynamic: classifier
Dynamic: description
Dynamic: description-content-type
Dynamic: home-page
Dynamic: keywords
Dynamic: license
Dynamic: license-file
Dynamic: requires-dist
Dynamic: requires-python
Dynamic: summary

# brawlgym-ppo
A vectorized implementation of PPO for use with [brawlgym](https://github.com/chrisrca/brawlgym), adapted from
[rlgym-ppo](https://github.com/AechPro/rlgym-ppo).

## INSTALLATION
1. Install [brawlgym](https://github.com/chrisrca/brawlgym).
2. If you would like to use a GPU install [PyTorch with CUDA](https://pytorch.org/get-started/locally/)
3. Install this project via `pip install git+https://github.com/chrisrca/brawlgym-ppo`

## USAGE
Import the learner with `from brawlgym_ppo import Learner`, pass it a function that takes a game port and returns a
brawlgym environment, and run the learning algorithm. The learner patches the game, boots one instance per process
and hands each process its port:
```
from brawlgym_ppo import Learner

def my_brawlgym_function(port):
    import brawlgym
    return brawlgym.make(port=port)

learner = Learner(my_brawlgym_function)
learner.learn()
```
See `example.py` for a function that configures the environment's components.
