icaros-usc / pyribs

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

Remove metadata in favor of custom fields #420

Closed btjanaka closed 7 months ago

btjanaka commented 7 months ago

Description

We plan to add the ability to specify custom fields in pyribs archives. This PR thus removes metadata, which are a current substitute for custom fields. Custom fields will also support object dtypes, meaning metadata can still be recovered by specifying a metadata field with object dtype.

While this change is backwards-incompatible, I believe it is beneficial for the simplicity of the library. Currently, metadata is the only array that is an object array, making it more difficult to save next to arrays like the objective and measures arrays. Furthermore, metadata currently has a complex defaulting system since it is usually None.

TODO

Questions

Status