Poke-env: A python interface for training Reinforcement Learning pokemon bots

This project aims at providing a Python environment for interacting in pokemon showdown battles, with reinforcement learning in mind. Welcome to its documentation!

Poke-env offers a simple and clear API to manipulate Pokemons, Battles, Moves and many other pokemon showdown battle-related objects in Python. It also exposes an open ai gym interface to train reinforcement learning agents.


This module currently supports most gen 8 and 7 single battle formats. Support for doubles formats and gen 4-5-6 formats is preliminary. If you want a specific format to be supported, please open an issue.



This project is a follow-up of a group project from an artifical intelligence class at Ecole Polytechnique.

You can find the original repository here. It is partially inspired by the showdown-battle-bot project. Of course, none of these would have been possible without Pokemon Showdown.


Data files are adapted version of the js data files of Pokemon Showdown.

Team data comes from Smogon forums’ RMT section.


This project and its documentation are released under the MIT License.