  Microgrids, self contained electrical grids that are capable of disconnecting
from the main grid, hold potential in both tackling climate change mitigation
via reducing CO2 emissions and adaptation by increasing infrastructure
resiliency. Due to their distributed nature, microgrids are often
idiosyncratic; as a result, control of these systems is nontrivial. While
microgrid simulators exist, many are limited in scope and in the variety of
microgrids they can simulate. We propose pymgrid, an open-source Python package
to generate and simulate a large number of microgrids, and the first
open-source tool that can generate more than 600 different microgrids. pymgrid
abstracts most of the domain expertise, allowing users to focus on control
algorithms. In particular, pymgrid is built to be a reinforcement learning (RL)
platform, and includes the ability to model microgrids as Markov decision
processes. pymgrid also introduces two pre-computed list of microgrids,
intended to allow for research reproducibility in the microgrid setting.
