About Pyribs
pyribs is a bare bones Python library for quality diversity optimization. Instead of searching for a single best solution, quality diversity algorithms build a collection of high performing solutions that differ along chosen measures. The library is the official implementation of Covariance Matrix Adaptation MAP Elites and other quality diversity algorithms.
It is meant for researchers and engineers working in evolutionary computation, robotics, game content generation and related areas who want reusable components. Every algorithm in pyribs is assembled from three parts: an archive that stores solutions, emitters that generate new candidates, and a scheduler that coordinates the two. Usage follows an ask and tell interface inspired by pycma, so a loop asks the scheduler for solutions, evaluates them and tells the scheduler the objectives and measures. A visualization module integrates with Matplotlib to draw heatmaps of an archive after an experiment.
The library supports Python 3.10 and above and installs with pip or conda. The base package, a visualize extra with plotting dependencies and an all extra covering every optional dependency are available. The site links to tutorials and a Discord community.
The library is free, and the site publishes no pricing or paid tiers.