Skip to content

v0.6.1 - Feature-complete pre-1.0 release

Choose a tag to compare

@IvanChernyshov IvanChernyshov released this 17 Mar 12:36
· 62 commits to main since this release

This release brings pyvoro2 to a feature-complete pre-1.0 stage: the main functionality originally planned for the project is now in place, with further work focused on testing, refinement, and stabilization ahead of 1.0.

Public powerfit workflow

pyvoro2.powerfit now provides a full public workflow, including reusable pair-constraint resolution, low-level fitting, realized-boundary matching, self-consistent active-set refinement, infeasibility witnesses, and report-friendly outputs for downstream analysis.

Planar 2D support

pyvoro2 now includes a pyvoro2.planar namespace for 2D workflows, with Box / RectangularCell, compute, locate, ghost_cells, tessellation diagnostics, normalization helpers, and optional matplotlib plotting. Powerfit is now available in both 2D and 3D.

Robustness and diagnostics

This release also strengthens robustness and observability with:

  • explicit diagnostics for realized-but-unaccounted pairs
  • structured candidate/active-graph connectivity diagnostics
  • improved disconnected-component gauge handling
  • explicit weight_shift= support for weight-to-radii conversion
  • active-set path diagnostics, making it easier to distinguish transient optimization behavior from final results

Documentation and release tooling

Documentation and project tooling have also been improved. Example notebooks now live in notebooks/, docs consume generated notebook pages, and the repository includes tooling for notebook export/checking, README sync, distribution-content checks, and local publishability validation via tools/release_check.py.

A convenience extra, pyvoro2[all], is available for contributors who want the full optional stack.

Notes

  • The top-level API remains the 3D public surface; planar 2D support lives under pyvoro2.planar.
  • Current planar scope covers Box and RectangularCell; generic planar PeriodicCell remains intentionally deferred.
  • Existing r_min= usage is still supported, but weight_shift= is now the preferred explicit gauge control for weight-to-radii conversion.
  • pyvoro2 remains beta / pre-1.0 for now; this release is intended as a feature-complete milestone prior to a stable 1.0.
  • pyvoro2-authored code is released under LGPLv3+. Vendored third-party code remains under its own licenses.

See the changelog for the full detailed history.