hsahovic/poke-env

Poke-env: Python Interface for Pokemon Showdown Bots

What it solves

It provides a standardized Python interface for creating automated players for Pokemon Showdown, removing the need to manually handle the complex communication protocols of the game server.

How it works

The library allows developers to create bots by subclassing a Player class and overriding the choose_move method. It supports asynchronous execution, enabling bots to compete in multiple battles simultaneously, and integrates with both local and public Pokemon Showdown servers.

Who it’s for

Developers and researchers interested in building scripted agents, conducting self-play experiments, or implementing reinforcement learning workflows within a Pokemon battle environment.

Highlights

  • Supports reinforcement learning and self-play experiments.
  • Compatible with local development servers for faster training and reduced rate limiting.
  • Includes built-in player types like RandomPlayer for quick testing.
  • Used by high-ranking bots like Jaxcalibur to reach #1 on the Generation 9 Random Battle ladder.

Related

  • Project
  • Project
  • Project
  • Project
  • Project