Skip to main content

Mesh Processing for Python

Project description


### About PyMesh ###

PyMesh is a code base developed by Qingnan Zhou for his PhD research at New York University. It is a rapid prototyping platform focused on geometry processing. PyMesh is written using both C++ and python, where computational intensive functionalities are realized in C++, and Python is used for create minimalistic and easy to use interfaces.

### Documentation ###

[Latest documentation](

### Download Source ###

To retrieve the code:

git clone git submodule update –init

Be sure to save the root directory of PyMesh in the environment variable PYMESH_PATH:

export PYMESH_PATH=/path/to/PyMesh/

Unit tests relies on this environment variable to load relevant libraries.

### Dependencies ###

PyMesh depends on the following tools/libraries:

Optional library:

Libraries marked with * are included in $PYMESH_PATH/third_party directory.

### Environment Variables ###

If any of the dependent library is not installed in standard locations (/usr/local/, /opt/local), one needs to set environment variables that point to the correct directories. PyMesh check the following environment variables:

  • EIGEN_INC: directory containing the Eigen library.
  • GOOGLEHASH_INCLUDES: directory containing sparse hash.
  • CGAL_PATH: path to CGAL library
  • BOOST_INC: directory containing boost.
  • LIBIGL_PATH: path to libigl.
  • CORK_PATH: path to cork.
  • TETGEN_PATH: path to tetgen
  • TRIANGLE_PATH: path to triangle
  • QHULL_PATH: path to qhull
  • CLIPPER_PATH: path to clipper
  • CARVE_PATH: path to carve
  • GEOGRAM_PATH: path to GeoGram
  • QUARTET_PATH: path to quartet

### Build ###

The first step is to compile the optional third party dependencies:

cd $PYMESH_PATH/third_party mkdir build cd build cmake .. make make install

Third party dependencies will be installed in $PYMESH_PATH/python/pymesh/third_party directory.

Now we can build the main project. It is recommended to build out of source:

cd $PYMESH_PATH mkdir build cd build cmake ..

To only build the C++ libraries without the swig python modules, change the last command to


To build the main PyMesh library:

make make src_tests

To build all available tools:

make tools make tools_tests

Make sure all unit tests are passed before using the library.

### Install ###

The output of building PyMesh consists a set of C++ libraries and a python module. Installing the C++ library is currently not available. However, installing the python package can be done:

./ build # This an alternative way of calling cmake/make ./ install

To check PyMesh is installed correctly, run the following python unit tests:

python -c "import pymesh; pymesh.test()"

Once again, make sure all unit tests are passed, and report any unit test failures.

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pymesh2-0.1.14.tar.gz (25.4 MB view hashes)

Uploaded source

Built Distribution

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Huawei Huawei PSF Sponsor Microsoft Microsoft PSF Sponsor NVIDIA NVIDIA PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page