Repository navigation
v0.4.0 - initial public release
Python-first wrapper around unmodified Voro++ for 3D Voronoi and power/Laguerre (radical Voronoi) tessellations.
- Core API:
compute(..., mode='standard')andcompute(..., mode='power')(per-site radii). - Domains / containers:
Box(finite axis-aligned box)OrthorhombicCell(axis-aligned cell with per-axis periodicity)PeriodicCell(fully periodic triclinic cell) +PeriodicCell.from_params(...)
- Periodic neighbor-image support:
return_face_shifts=Trueannotates faces with lattice-image indicesadjacent_shift=(na, nb, nc). - Point queries:
locate(...)(batched ownership queries) andghost_cells(...)(batched probe/ghost cells). - Input validation & preprocessing: near-duplicate detection via
duplicate_check(...)(also available as an opt-in precheck incompute/locate/ghost_cells), plus robust validation for IDs, finiteness, and power radii; lattice degeneracy checks forPeriodicCell. - Post-processing / topology utilities:
analyze_tessellation(...),validate_tessellation(...),annotate_face_properties(...),normalize.*helpers, andvalidate_normalized_topology(...)for strict normalized-topology workflows. - Inverse tools:
pyvoro2.inverseutilities to fit power weights/radii from desired separating plane positions. - Optional 3D visualization:
pyvoro2.viz3d(extra:pyvoro2[viz], based onpy3Dmol). - Docs + tests: MkDocs documentation site with guide/API/examples, plus a deterministic test suite with opt-in fuzz/property tests and opt-in cross-checks against
pyvoro.