Skip to content

pyribs 0.8.0

Choose a tag to compare

@btjanaka btjanaka released this 26 Jun 20:35
· 126 commits to master since this release

To learn about this release, see our page on What's New in v0.8.0:
https://docs.pyribs.org/en/stable/whats-new.html

Thanks to @szhaovas, @gresavage, and @Tekexa for contributing to this release!

Changelog

API

  • Implement BOP-Elites by adding BayesianOptimizationEmitter and
    BayesianOptimizationScheduler; add BOP-Elites demo (#496)
  • Allow result_archive to be positional arg in schedulers (#557)
  • Backwards-incompatible: Make num_active a keyword-only arg in
    BanditScheduler (#557)
  • Add CategoricalArchive (#549)
  • Support solutions with non-1D shapes (#550)
  • Backwards-incompatible: Move cqd_score into a separate function
    (#537)
  • Backwards-incompatible: Make archive field_list and dtypes props include
    index (#532)
  • Backwards-incompatible: Remove thresholds from SlidingBoundariesArchive
    (#527)
  • Backwards-incompatible: Remove transforms from archive add operations
    (#525)
  • Add retessellate method to GridArchive (#516)
  • Backwards-incompatible: Tidy up operator implementation (#507,
    #510)
  • Drop Python 3.8 support and remove pinned requirements {#497)
  • Backwards-incompatible: BanditScheduler: Add emitter_pool and active attr;
    remove emitters attr (#494)
  • Add DensityArchive and DensityRanker for Density Descent Search (#483,
    #504, #487, #543, #546)
  • Add NoveltyRanker for novelty search (#477)
  • Add proximity_archive_plot for visualizing ProximityArchive (#476,
    #480, #523)
  • Support novelty search with local competition in ProximityArchive (#481)
  • Add ProximityArchive for novelty search (#472, #479, #484,
    #521, #527)
  • Support diversity optimization in Scheduler.tell (#473)
  • Allow specifying separate dtypes for solution, objective, and measures
    (#471)
  • Replace archive.dtype with archive.dtypes dict that holds dtype of every field
    (#470)

Bugs

  • Make emitter bounds dtype match solution dtype (#519)
  • Fix BanditScheduler behaviour: the number of active emitters remains stable
    (#489)

Documentation

  • Add Novelty Search with Kheperax tutorial (#552)
  • Add Supported Algorithms page (#559)
  • Add cqd_score example (#537)
  • Update sphere example for consistency (#505)
  • Tutorial edits (#500, #553, #554)
  • Add version selector to docs (#495)
  • Update gymnasium and lunar lander version (#493)
  • Add tutorial page on Optuna integration (#492)
  • Switch from std to var in arm tutorial (#486)
  • Fix documentation conf for readthedocs deprecations (#485)
  • Add novelty search with CMA-ES to sphere example (#478, #482)
  • Clarify errors in scheduler docstrings (#488)

Improvements

  • Remove np_scalar util by making archive dtypes be numpy scalar types
    (#534)
  • Refactor archives into single-file implementations (#518, #521,
    #526, #528, #529, #530, #533, #535)
  • Make ArrayStore.data return ArchiveDataFrame instead of DataFrame (#522)
  • Migrate to pyproject.toml (#514)
  • Set vmin and vmax to None if archive is empty in ribs.visualize (#513,
    #523)
  • Remove operators from GaussianEmitter and IsoLineEmitter (#508)
  • Update QDax visualizations to match QDax 0.5.0 (#502)
  • Skip qdax tests if qdax not installed (#491)
  • Move yapf after isort in pre-commit (#490)
  • Remove _cells attribute from ArchiveBase (#475)
  • Upgrade setup-miniconda to v3 due to deprecation (#464)