icaros-usc / pyribs

A bare-bones Python library for quality diversity optimization.
https://pyribs.org
MIT License
205 stars 31 forks source link

Reimplement ArchiveBase using ArrayStore #399

Closed btjanaka closed 8 months ago

btjanaka commented 8 months ago

Description

This PR refactors the ArchiveBase to place data in ArrayStore rather than in separate NumPy arrays. This should make the archive more flexible and easier to extend in the future.

While flexibility is the end goal, note that this PR is only a refactor; thus, no API changes are being made. As a result, tests will mostly remain the same.

The exception is the creation of a private ribs.archives._transforms module, for which we do introduce new tests. This module should be considered unstable for now, but once it seems more stable, we can make it public.

TODO

Questions

Status