Poke-env: A Python Interface for Training Reinforcement Learning Pokémon Bots

Poke-env provides an environment for engaging in Pokémon Showdown battles with a focus on reinforcement learning.

It boasts a straightforward API for handling Pokémon, Battles, Moves, and other battle-centric objects, alongside an OpenAI Gym interface for training agents.


While poke-env aims to support all Pokémon generations, it was primarily developed with the latest generations in mind. If you discover any missing or incorrect functionalities for earlier generations, please open an issue to help improve the library.

On top of the main modules dedicated to building Pokémon Showdown bots, Poke-env encompasses standalone submodules to cater to various facets of Pokémon Showdown interactions:


Originated from a group project at École Polytechnique. Inspired partially by showdown-battle-bot and built upon Pokemon Showdown.


Data adapted from Pokemon Showdown and team data sourced from Smogon forums’ RMT section.


Released under the MIT License.