{ "info": { "author": "Qingnan Zhou", "author_email": "qnzhou@gmail.com", "bugtrack_url": null, "classifiers": [], "description": "[![CircleCI](https://circleci.com/gh/qnzhou/PyMesh/tree/master.svg?style=svg)](https://circleci.com/gh/qnzhou/PyMesh/tree/master)\n\n### About PyMesh ###\n\n**PyMesh** is a code base developed by Qingnan Zhou for his PhD research at New\nYork University. It is a rapid prototyping platform focused on geometry\nprocessing. **PyMesh** is written using both C++ and python, where\ncomputational intensive functionalities are realized in C++, and Python is used\nfor create minimalistic and easy to use interfaces.\n\n### Documentation ###\n\n[Latest documentation](http://pymesh.readthedocs.org/en/latest/)\n\n### Download Source ###\n\nTo retrieve the code:\n\n git clone https://github.com/qnzhou/PyMesh.git\n git submodule update --init\n\nBe sure to save the root directory of PyMesh in the environment variable\nPYMESH_PATH:\n\n export PYMESH_PATH=/path/to/PyMesh/\n\nUnit tests relies on this environment variable to load relevant libraries.\n\n### Dependencies ###\n\nPyMesh depends on the following tools/libraries:\n\n* [Python](https://www.python.org/) v3.x.\n* [NumPy](http://www.numpy.org/) v1.8 or higher\n* [SciPy](http://www.scipy.org/) v0.13 or higher\n* [SWIG](http://www.swig.org/) v3.0.5 or higher\n* [Eigen](http://eigen.tuxfamily.org/index.php?title=Main_Page) v3.2 or higher\n\nOptional library:\n\n* [SparseHash](https://code.google.com/p/sparsehash/)\n* [CGAL](https://www.cgal.org/)\n* [tetgen](http://wias-berlin.de/software/tetgen/) *\n* [libigl](http://igl.ethz.ch/projects/libigl/) *\n* [cork](https://github.com/gilbo/cork) *\n* [triangle](http://www.cs.cmu.edu/~quake/triangle.html) *\n* [qhull](http://www.qhull.org/) *\n* [Clipper](http://www.angusj.com/delphi/clipper.php) *\n* [Carve](https://github.com/qnzhou/carve) *\n* [GeoGram](http://alice.loria.fr/software/geogram/doc/html/index.html)\n* [Quartet](https://github.com/crawforddoran/quartet) *\n\nLibraries marked with `*` are included in `$PYMESH_PATH/third_party` directory.\n\n### Environment Variables ###\n\nIf any of the dependent library is not installed in standard locations\n(``/usr/local/``, ``/opt/local``), one needs to set environment variables that\npoint to the correct directories. PyMesh check the following environment\nvariables:\n\n* ``EIGEN_INC``: directory containing the Eigen library.\n* ``GOOGLEHASH_INCLUDES``: directory containing sparse hash.\n* ``CGAL_PATH``: path to CGAL library\n* ``BOOST_INC``: directory containing boost.\n* ``LIBIGL_PATH``: path to libigl.\n* ``CORK_PATH``: path to cork.\n* ``TETGEN_PATH``: path to tetgen\n* ``TRIANGLE_PATH``: path to triangle\n* ``QHULL_PATH``: path to qhull\n* ``CLIPPER_PATH``: path to clipper\n* ``CARVE_PATH``: path to carve\n* ``GEOGRAM_PATH``: path to GeoGram\n* ``QUARTET_PATH``: path to quartet\n\n### Build ###\n\nThe first step is to compile the optional third party dependencies:\n\n cd $PYMESH_PATH/third_party\n mkdir build\n cd build\n cmake ..\n make\n make install\n\nThird party dependencies will be installed in\n`$PYMESH_PATH/python/pymesh/third_party` directory.\n\nNow we can build the main project. It is recommended to build out of source:\n\n cd $PYMESH_PATH\n mkdir build\n cd build\n cmake ..\n\nTo only build the C++ libraries without the swig python modules, change the last\ncommand to\n\n cmake -DWITHOUT_SWIG=ON ..\n\nTo build the main PyMesh library:\n\n make\n make src_tests\n\nTo build all available tools:\n\n make tools\n make tools_tests\n\nMake sure all unit tests are passed before using the library.\n\n### Install ###\n\nThe output of building PyMesh consists a set of C++ libraries and a python\nmodule. Installing the C++ library is currently not available. However,\ninstalling the python package can be done:\n\n ./setup.py build # This an alternative way of calling cmake/make\n ./setup.py install\n\nTo check PyMesh is installed correctly, run the following python unit tests::\n\n python -c \"import pymesh; pymesh.test()\"\n\nOnce again, make sure all unit tests are passed, and report any unit test\nfailures.\n", "description_content_type": null, "docs_url": null, "download_url": "https://github.com/qnzhou/PyMesh/tarball/v0.1", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/qnzhou/PyMesh", "keywords": "", "license": "MPL", "maintainer": "", "maintainer_email": "", "name": "pymesh2", "package_url": "https://pypi.org/project/pymesh2/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/pymesh2/", "project_urls": { "Download": "https://github.com/qnzhou/PyMesh/tarball/v0.1", "Homepage": "https://github.com/qnzhou/PyMesh" }, "release_url": "https://pypi.org/project/pymesh2/0.1.14/", "requires_dist": null, "requires_python": "", "summary": "Mesh Processing for Python", "version": "0.1.14" }, "last_serial": 2729869, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "c8b46a90e38bc74e2f3277c93505ce7c", "sha256": "36907da6b0f373691876e09b1e096232378caf03b73088edb52ac5cf973b79be" }, "downloads": -1, "filename": "pymesh2-0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "c8b46a90e38bc74e2f3277c93505ce7c", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 4678973, "upload_time": "2017-03-23T22:43:06", "url": "https://files.pythonhosted.org/packages/c0/78/38aa925591f60bba84c54975f4e9d9950367a8b560b6bfd1691f9c846884/pymesh2-0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d65ff57dfe6fa75051eda3e22c2196ac", "sha256": "37b1d90907c7ed689c1304e3f81c75c1f1157cd933c8707871139a9091490f56" }, "downloads": -1, "filename": "pymesh2-0.1.tar.gz", "has_sig": false, "md5_digest": "d65ff57dfe6fa75051eda3e22c2196ac", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2550408, "upload_time": "2017-03-23T22:43:09", "url": "https://files.pythonhosted.org/packages/a4/1c/92c845a00e22045a7d8da415d32c035a61cb2a3f0006398ea0775b69d117/pymesh2-0.1.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "de71a33ce459b164404ff1b536371a12", "sha256": "a8b6cb3cd6d92ddbbb9929bdd99f2b3da28af19393165a269b39242d905bc171" }, "downloads": -1, "filename": "pymesh2-0.1.1-py3-none-any.whl", "has_sig": false, "md5_digest": "de71a33ce459b164404ff1b536371a12", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 4679170, "upload_time": "2017-03-23T23:18:17", "url": "https://files.pythonhosted.org/packages/ec/91/d304caaff4cdf4eb2c046a9e14ada910168a9691deedbc1796ae4e4a4131/pymesh2-0.1.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8bce373601a6ddaeac9d6607d8612de7", "sha256": "4ab7c50b863e2ce73dfd538007f15d46d85289296590a0c6ba557aeaa532b0e1" }, "downloads": -1, "filename": "pymesh2-0.1.1.tar.gz", "has_sig": false, "md5_digest": "8bce373601a6ddaeac9d6607d8612de7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2550680, "upload_time": "2017-03-23T23:18:21", "url": "https://files.pythonhosted.org/packages/59/1f/185768285a2a27c4470bd1c0c24c9f96b375d7b345cc76ca8e58722c6ef9/pymesh2-0.1.1.tar.gz" } ], "0.1.10": [ { "comment_text": "", "digests": { "md5": "8ae2a58958c99820e11ff6d3a21fe4e6", "sha256": "575f4563d010b76992695b29b9a1ee7b949d23fff3fd556a2458ac49a04a9608" }, "downloads": -1, "filename": "pymesh2-0.1.10.tar.gz", "has_sig": false, "md5_digest": "8ae2a58958c99820e11ff6d3a21fe4e6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25351771, "upload_time": "2017-03-24T22:49:37", "url": "https://files.pythonhosted.org/packages/e2/39/b537d4a7bbeecd045235f52d0764585f44bf07f36590646f5ee60040733d/pymesh2-0.1.10.tar.gz" } ], "0.1.11": [ { "comment_text": "", "digests": { "md5": "a02f5ef96b349dd6e1664723123fafa6", "sha256": "21adb9fbc00db8b217440832c23c4146e7c034318490527acbc6aae3d7ca4da3" }, "downloads": -1, "filename": "pymesh2-0.1.11.tar.gz", "has_sig": false, "md5_digest": "a02f5ef96b349dd6e1664723123fafa6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25351878, "upload_time": "2017-03-24T23:19:41", "url": "https://files.pythonhosted.org/packages/11/9a/33ee5f55f9ca08f740948efdf3cc3776911fc53024e81aa4a51cdf4f6c24/pymesh2-0.1.11.tar.gz" } ], "0.1.12": [ { "comment_text": "", "digests": { "md5": "ce64fd5a79c83046ae3a0ecfcfd3e7fe", "sha256": "ac29d4644cb5a86fd837381e31a1c129da79c65c833a69de644739fba9e43aef" }, "downloads": -1, "filename": "pymesh2-0.1.12.tar.gz", "has_sig": false, "md5_digest": "ce64fd5a79c83046ae3a0ecfcfd3e7fe", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25351354, "upload_time": "2017-03-25T01:13:28", "url": "https://files.pythonhosted.org/packages/7d/3f/62c25c6bad4bfea2ab4ca350e682d33b921aef212d09c5caa45c7a023e88/pymesh2-0.1.12.tar.gz" } ], "0.1.13": [ { "comment_text": "", "digests": { "md5": "ecde15e2842f9066db96222c9f61ec86", "sha256": "9aec0415b8b25ec3e6b6c9eae6e493593705a181c2d64792600de36acfb9d4fd" }, "downloads": -1, "filename": "pymesh2-0.1.13.tar.gz", "has_sig": false, "md5_digest": "ecde15e2842f9066db96222c9f61ec86", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25350863, "upload_time": "2017-03-25T01:43:15", "url": "https://files.pythonhosted.org/packages/65/14/a5e36ad2739dd69b71a20f7c15b12c35e7f0a14ba22acb0b5b0cd2109a34/pymesh2-0.1.13.tar.gz" } ], "0.1.14": [ { "comment_text": "", "digests": { "md5": "3e4867376b3c4fb838c502f5510af408", "sha256": "437f8ec6446fd7fb89bbc9efe8de889b76ed4d0704b90e361b29e21fe6dcfe39" }, "downloads": -1, "filename": "pymesh2-0.1.14-cp35-cp35m-macosx_10_11_x86_64.whl", "has_sig": false, "md5_digest": "3e4867376b3c4fb838c502f5510af408", "packagetype": "bdist_wheel", "python_version": "cp35", "requires_python": null, "size": 11669459, "upload_time": "2017-03-25T06:42:55", "url": "https://files.pythonhosted.org/packages/2a/a9/7a230c56bab4626cb03577138f0dca87c504e53be3779bcbc2f30684cdfd/pymesh2-0.1.14-cp35-cp35m-macosx_10_11_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "329fdcb79ffbfae6445f02bbc895dc8a", "sha256": "d1bd2876ce09ff8e59c80094f91cd283ce9b635086c26f35f08899c40ae626fc" }, "downloads": -1, "filename": "pymesh2-0.1.14.tar.gz", "has_sig": false, "md5_digest": "329fdcb79ffbfae6445f02bbc895dc8a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25350066, "upload_time": "2017-03-25T06:43:05", "url": "https://files.pythonhosted.org/packages/dd/8b/2a34ffcf3a549601fb85621c3235e16c0ee666404bf090afd0dafa08374e/pymesh2-0.1.14.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "a8d5e9c8b405debf9b09e9ec804ca646", "sha256": "6a5d2300cf14d7786ab30becfcae3900242ceef1c2dd4549460a32c458308d32" }, "downloads": -1, "filename": "pymesh2-0.1.2-py3-none-any.whl", "has_sig": false, "md5_digest": "a8d5e9c8b405debf9b09e9ec804ca646", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 4679170, "upload_time": "2017-03-23T23:28:16", "url": "https://files.pythonhosted.org/packages/a1/c6/c18796e5c514315f70b49bf807946e256142d8faa92c2b77106aeb76ee56/pymesh2-0.1.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8dd0d3a6318477eb289671bb79a3a53d", "sha256": "73d35a98426443f750ceda319c65fc2075fc83f168bf15e86c0e2500be1c9dde" }, "downloads": -1, "filename": "pymesh2-0.1.2.tar.gz", "has_sig": false, "md5_digest": "8dd0d3a6318477eb289671bb79a3a53d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13921381, "upload_time": "2017-03-24T00:34:28", "url": "https://files.pythonhosted.org/packages/86/09/2ab104925844cda70fd8fdf58f6e90ccf309e05cda8ebaa58d01857ce06f/pymesh2-0.1.2.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "1d91dba811b5a8100a6a8fbc89ef5e13", "sha256": "74919120029caf57d5c7e020b41b5e4f73ab2cb39cb907662fabfd1c8b88a92e" }, "downloads": -1, "filename": "pymesh2-0.1.3-py3-none-any.whl", "has_sig": false, "md5_digest": "1d91dba811b5a8100a6a8fbc89ef5e13", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 11655239, "upload_time": "2017-03-24T01:25:27", "url": "https://files.pythonhosted.org/packages/f3/5a/f6395af3cb1a4c52313261d486f22b2f651ee08c2cb1349d785feccb2f57/pymesh2-0.1.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "89132bbe28368af19e138c1f65016e1a", "sha256": "2a18a4c8c5e01e02d15771cd767e737819ffc241ec83084770bef1cbd2f5a193" }, "downloads": -1, "filename": "pymesh2-0.1.3.tar.gz", "has_sig": false, "md5_digest": "89132bbe28368af19e138c1f65016e1a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13921351, "upload_time": "2017-03-24T01:25:43", "url": "https://files.pythonhosted.org/packages/9a/d8/9b48cd1eabec4e168a7a5ea1bdc55a6df2601ed7909b8799b5170d20db5e/pymesh2-0.1.3.tar.gz" } ], "0.1.4": [ { "comment_text": "", "digests": { "md5": "520d7a6af4c70cdc8aeb2916532ecfa0", "sha256": "b56a7e9447ba2ae5bf36abba01c61e2bbbe5c83acbe5cfc45e758a189748a1ec" }, "downloads": -1, "filename": "pymesh2-0.1.4-py3-none-any.whl", "has_sig": false, "md5_digest": "520d7a6af4c70cdc8aeb2916532ecfa0", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 11655255, "upload_time": "2017-03-24T03:43:26", "url": "https://files.pythonhosted.org/packages/14/0d/a577a03d1f7867955960ef48424b49f72b14beb87597ed3ab7bb3c029d86/pymesh2-0.1.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ddf0a53fa5e3b75888ba131cc7269a5d", "sha256": "e4f64ed1f6de1d7a124f930a117f1f82420d78aac03c9e1458595e650a68f4a7" }, "downloads": -1, "filename": "pymesh2-0.1.4.tar.gz", "has_sig": false, "md5_digest": "ddf0a53fa5e3b75888ba131cc7269a5d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25340341, "upload_time": "2017-03-24T03:43:40", "url": "https://files.pythonhosted.org/packages/35/15/c665004a5377b98a3c354134899375728866965e704330701903046bdbe7/pymesh2-0.1.4.tar.gz" } ], "0.1.5": [ { "comment_text": "", "digests": { "md5": "05a40b82fb3f87ffa40881492a637f8f", "sha256": "2e2f4068b9f2839c735c9a40aad7d2a0c44cef17c8b831dcfd85e9764f92aefb" }, "downloads": -1, "filename": "pymesh2-0.1.5-py3-none-any.whl", "has_sig": false, "md5_digest": "05a40b82fb3f87ffa40881492a637f8f", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 11660273, "upload_time": "2017-03-24T04:55:02", "url": "https://files.pythonhosted.org/packages/d0/f6/d8cc77116fae235ba88e82871d6ffc4cb108a4ee4a3a07eb067c7a34a4cd/pymesh2-0.1.5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "54f6ada88117967b2b560d598014f1cc", "sha256": "f0adc536dde1e72c5c86f88e483663d854a09634ad421ca52fba3f92f3d7f162" }, "downloads": -1, "filename": "pymesh2-0.1.5.tar.gz", "has_sig": false, "md5_digest": "54f6ada88117967b2b560d598014f1cc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25340545, "upload_time": "2017-03-24T04:55:16", "url": "https://files.pythonhosted.org/packages/c9/78/860eb5c1550401888b87b8dc6bb13a7e25b88485f577a1d0aa319f9ce5b8/pymesh2-0.1.5.tar.gz" } ], "0.1.6": [ { "comment_text": "", "digests": { "md5": "224ac8b017b9170801c6f18c719794c0", "sha256": "3641db5112928e8aa29f819c21ac976b68addfef0fd1f95847af75f1c7dbfcea" }, "downloads": -1, "filename": "pymesh2-0.1.6-py3-none-any.whl", "has_sig": false, "md5_digest": "224ac8b017b9170801c6f18c719794c0", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 11660232, "upload_time": "2017-03-24T15:52:22", "url": "https://files.pythonhosted.org/packages/7b/20/84907ef6ba03337984ee8278b5ab4f50c79e57f3d2ae374b35ded2391c77/pymesh2-0.1.6-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "35aa8d436d712c5f733b26c0b10f354c", "sha256": "5807baf0380bbe06a96b73b0ab2706020f9d6220beb299f7437e2a03e3c7948d" }, "downloads": -1, "filename": "pymesh2-0.1.6.tar.gz", "has_sig": false, "md5_digest": "35aa8d436d712c5f733b26c0b10f354c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25349940, "upload_time": "2017-03-24T15:52:40", "url": "https://files.pythonhosted.org/packages/13/74/7f92bf50cea6696a64a9961de66dbaa905e2ace12ef44dbe037570a66872/pymesh2-0.1.6.tar.gz" } ], "0.1.7": [ { "comment_text": "", "digests": { "md5": "9ac902594d57e8a6fdee876d06d86ad1", "sha256": "1988fdeac5d092b6a6d3eb4722ac30766cc53343ed39d78864add5e6b8ddd690" }, "downloads": -1, "filename": "pymesh2-0.1.7.tar.gz", "has_sig": false, "md5_digest": "9ac902594d57e8a6fdee876d06d86ad1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25349785, "upload_time": "2017-03-24T16:32:39", "url": "https://files.pythonhosted.org/packages/89/80/d10fb195200ef2dbc9cad9cfc7f9dc2d6b0ed4bb1f79e02801f2f0d01633/pymesh2-0.1.7.tar.gz" } ], "0.1.8": [ { "comment_text": "", "digests": { "md5": "3c833c54cbfa2b9a6e9768705fea89d4", "sha256": "7287cb211f26110a2ebef8b08a08ffbf775e63464a5ef3cf99f1286d72bd657c" }, "downloads": -1, "filename": "pymesh2-0.1.8.tar.gz", "has_sig": false, "md5_digest": "3c833c54cbfa2b9a6e9768705fea89d4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25349725, "upload_time": "2017-03-24T20:24:36", "url": "https://files.pythonhosted.org/packages/d7/0d/fd016760704135394695262bad6aa111962094ad9c5848f571c32a330832/pymesh2-0.1.8.tar.gz" } ], "0.1.9": [ { "comment_text": "", "digests": { "md5": "cbb6fc9784a92b358d98f8e49cd24e92", "sha256": "e6b72865862cad28066f5dead52415cb3200ed25b623c4299793c6b87e756b71" }, "downloads": -1, "filename": "pymesh2-0.1.9.tar.gz", "has_sig": false, "md5_digest": "cbb6fc9784a92b358d98f8e49cd24e92", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25349881, "upload_time": "2017-03-24T21:25:34", "url": "https://files.pythonhosted.org/packages/3a/5f/5acf344aadc69c9ce4463f908c52fcd75a5a6453f72c9b13c8b205e08615/pymesh2-0.1.9.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "3e4867376b3c4fb838c502f5510af408", "sha256": "437f8ec6446fd7fb89bbc9efe8de889b76ed4d0704b90e361b29e21fe6dcfe39" }, "downloads": -1, "filename": "pymesh2-0.1.14-cp35-cp35m-macosx_10_11_x86_64.whl", "has_sig": false, "md5_digest": "3e4867376b3c4fb838c502f5510af408", "packagetype": "bdist_wheel", "python_version": "cp35", "requires_python": null, "size": 11669459, "upload_time": "2017-03-25T06:42:55", "url": "https://files.pythonhosted.org/packages/2a/a9/7a230c56bab4626cb03577138f0dca87c504e53be3779bcbc2f30684cdfd/pymesh2-0.1.14-cp35-cp35m-macosx_10_11_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "329fdcb79ffbfae6445f02bbc895dc8a", "sha256": "d1bd2876ce09ff8e59c80094f91cd283ce9b635086c26f35f08899c40ae626fc" }, "downloads": -1, "filename": "pymesh2-0.1.14.tar.gz", "has_sig": false, "md5_digest": "329fdcb79ffbfae6445f02bbc895dc8a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25350066, "upload_time": "2017-03-25T06:43:05", "url": "https://files.pythonhosted.org/packages/dd/8b/2a34ffcf3a549601fb85621c3235e16c0ee666404bf090afd0dafa08374e/pymesh2-0.1.14.tar.gz" } ] }