Skip to content

Commit 2959311

Browse files
rimoliclaude
andcommitted
Install pyvoro from pyvoro-rimoli, which bundles the current Voro++
pyvoro-mmalahe bundles Voro++ 0.4.6, whose radical (Laguerre) tessellation can return a cell uncut: the cells then overlap, and Triangle and TetGen can crash on the polygonal mesh. This is why the tests fail on Linux and macOS in the continuous integration. The pyvoro-rimoli fork provides the same pyvoro module with the current Voro++, where this is fixed, and has wheels for Linux, macOS and Windows. The README and the installation guide tell users to uninstall pyvoro-mmalahe before upgrading, since both packages install the same files. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
1 parent e618e25 commit 2959311

6 files changed

Lines changed: 24 additions & 3 deletions

File tree

‎CHANGELOG.rst‎

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -134,6 +134,15 @@ Fixed
134134

135135
Changed
136136
'''''''
137+
- pyvoro is installed from the ``pyvoro-rimoli`` package instead of
138+
``pyvoro-mmalahe``. Both provide the same ``pyvoro`` module, but
139+
pyvoro-mmalahe bundles Voro++ 0.4.6, whose radical (Laguerre)
140+
tessellation can return a cell uncut: the cells then overlap, and
141+
Triangle and TetGen can crash on the resulting polygonal mesh.
142+
pyvoro-rimoli bundles the current Voro++, where this is fixed, and has
143+
wheels for Linux, macOS and Windows. Uninstall pyvoro-mmalahe before
144+
upgrading (``pip uninstall pyvoro-mmalahe``), since the two packages
145+
install the same files.
137146
- The continuous integration installs the current pytest and no longer
138147
installs tox from the requirements: the pinned tox 3.14 forced an old
139148
pluggy that the current pytest-cov cannot load, so no test could run.

‎README.rst‎

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,9 @@ To install MicroStructPy, download it from PyPI using::
4444

4545
If there is an error with the install, try ``pip install pybind11`` first,
4646
then install MicroStructPy.
47+
When upgrading from an earlier version, run ``pip uninstall pyvoro-mmalahe``
48+
first: MicroStructPy now uses ``pyvoro-rimoli``, which installs the same
49+
``pyvoro`` module.
4750

4851

4952
MicroStructPy can also be installed from source::

‎docs/source/getting_started.rst‎

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,15 @@ For Windows, it may be in a path similar to
3232
If the install fails and the last several error messages reference
3333
``pybind11``, run ``pip install pybind11`` first then install MicroStructPy.
3434

35+
.. note::
36+
MicroStructPy computes the tessellations with the ``pyvoro`` module of the
37+
``pyvoro-rimoli`` package. Earlier versions used ``pyvoro-mmalahe``, which
38+
installs the same module with an older Voro++. When upgrading, remove it
39+
first::
40+
41+
pip uninstall pyvoro-mmalahe
42+
pip install --upgrade microstructpy
43+
3544
Running Demonstrations
3645
----------------------
3746

‎docs/source/package_guide.rst‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -293,7 +293,7 @@ phase-specific.
293293
.. _`MeshPy`: https://mathema.tician.de/software/meshpy/
294294
.. _`Power Diagram`: https://en.wikipedia.org/wiki/Power_diagram
295295
.. _`pygmsh`: https://pygmsh.readthedocs.io
296-
.. _`pyvoro`: https://github.com/mmalahe/pyvoro
296+
.. _`pyvoro`: https://github.com/rimoli/pyvoro
297297
.. _`TetGen`: http://wias-berlin.de/software/tetgen/
298298
.. _`Triangle`: https://www.cs.cmu.edu/~quake/triangle.html
299299
.. _`Voro++`: http://math.lbl.gov/voro++/

‎requirements.txt‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ pygmsh==7.1.17
55
MeshPy==2022.1.3
66
numpy>=1.24.4,<2.0
77
pyquaternion==0.9.5
8-
pyvoro-mmalahe==1.3.4
8+
pyvoro-rimoli==1.4.0
99
scipy>=1.10.1
1010
setuptools>=70.0.0
1111
xmltodict==0.12.0

‎setup.py‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@ def find_version(*fname):
8585
'numpy>=1.22.2',
8686
'pygmsh>=7.0.2',
8787
'pyquaternion',
88-
'pyvoro-mmalahe>=1.3.4', # install issue with pyvoro
88+
'pyvoro-rimoli>=1.4.0', # pyvoro with the current Voro++
8989
'scipy',
9090
'xmltodict'
9191
],

0 commit comments

Comments
 (0)