Poke-env: A Python Interface for Pokémon Showdown Bots

Poke-env is a Python library for building scripted agents, self-play experiments, and reinforcement learning workflows on Pokémon Showdown.

It provides a battle-centric API around Players, Battles, Pokémon, and Moves, alongside a Farama Gymnasium interface for reinforcement learning.

Attention

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.

Start Here

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:

Acknowledgements

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

Data

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

License

Released under the MIT License.