Skip to main content

Library for geometric robustness

Project description

codecov PyPI version npm version twitter

Users

OpenSCAD, IFCjs, Grid.Space, and OCADml have all integrated our Manifold geometry kernel! Why? Because its reliability is guaranteed and it's 1,000 times faster than other libraries. See our usage and performance discussions for all the latest and to add your own projects & analyses.

Manifold Frontend Sandboxes

ManifoldCAD.org

If you like OpenSCAD / JSCAD, you might also like ManifoldCAD - our own solid modelling web app where you script in JS/TS. This uses our npm package, manifold-3d, built via WASM. It's not quite as fast as our raw C++, but it's hard to beat for interoperability.

Note for Firefox users: If you find the editor is stuck on Loading..., setting dom.workers.modules.enabled: true in your about:config, as mentioned in issue#328 may solve the problem.

Python Colab Example

If you prefer Python to JS/TS, make your own copy of the example notebook above. It demonstrates interop between our manifold3d PyPI library and the popular trimesh library, including showing the interactive model right in the notebook and saving 3D model output.

A metallic Menger sponge

Manifold

API Documentation | Algorithm Documentation | Blog Posts | Web Examples

Manifold is a geometry library dedicated to creating and operating on manifold triangle meshes. A manifold mesh is a mesh that represents a solid object, and so is very important in manufacturing, CAD, structural analysis, etc. Further information can be found on the wiki.

This is a modern C++ library that Github's CI verifies builds and runs on a variety of platforms. Additionally, we build bindings for JavaScript (manifold-3d on npm), Python (manifold3d), and C to make this library more portable and easy to use.

System Dependencies (note that we will automatically download the dependency if there is no such package on the system):

  • GLM: A compact header-only vector library.
  • Thrust: NVIDIA's parallel algorithms library (basically a superset of C++17 std::parallel_algorithms)
  • tbb: Intel's thread building blocks library. (only when MANIFOLD_PAR=TBB is enabled)
  • gtest: Google test library (only when test is enabled, i.e. MANIFOLD_TEST=ON)

Other dependencies:

What's here

This library is fast with guaranteed manifold output. As such you need manifold meshes as input, which this library can create using constructors inspired by the OpenSCAD API, as well as more advanced features like smoothing and signed-distance function (SDF) level sets. You can also pass in your own mesh data, but you'll get an error status if the imported mesh isn't manifold. Various automated repair tools exist online for fixing non manifold models, usually for 3D printing.

The most significant contribution here is a guaranteed-manifold mesh Boolean algorithm, which I believe is the first of its kind. If you know of another, please open a discussion - a mesh Boolean algorithm robust to edge cases has been an open problem for many years. Likewise, if the Boolean here ever fails you, please submit an issue! This Boolean forms the basis of a CAD kernel, as it allows simple shapes to be combined into more complex ones.

To aid in speed, this library makes extensive use of parallelization, generally through Nvidia's Thrust library. You can switch between the TBB, and serial C++ backends by setting a CMake flag. Not everything is so parallelizable, for instance a polygon triangulation algorithm is included which is serial. Even if compiled with parallel backend, the code will still fall back to the serial version of the algorithms if the problem size is small. The WASM build is serial-only for now, but still fast.

Note: OMP and CUDA backends are now removed

Look in the samples directory for examples of how to use this library to make interesting 3D models. You may notice that some of these examples bare a certain resemblance to my OpenSCAD designs on Thingiverse, which is no accident. Much as I love OpenSCAD, my library is dramatically faster and the code is more flexible.

Building

Only CMake, a C++ compiler, and Python are required to be installed and set up to build this library (it has been tested with GCC, LLVM, MSVC). However, a variety of optional dependencies can bring in more functionality, see below.

Build and test (Ubuntu or similar):

git clone --recurse-submodules https://github.com/elalish/manifold.git
cd manifold
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=ON .. && make
test/manifold_test

CMake flags (usage e.g. -DMANIFOLD_DEBUG=ON):

  • MANIFOLD_JSBIND=[OFF, <ON>]: Build js binding when using emscripten.
  • MANIFOLD_CBIND=[<OFF>, ON]: Build C FFI binding.
  • MANIFOLD_PYBIND=[OFF, <ON>]: Build python binding.
  • MANIFOLD_PAR=[<NONE>, TBB]: Provides multi-thread parallelization, requires libtbb-dev if TBB backend is selected.
  • MANIFOLD_EXPORT=[<OFF>, ON]: Enables GLB export of 3D models from the tests, requires libassimp-dev.
  • MANIFOLD_DEBUG=[<OFF>, ON]: Enables internal assertions and exceptions.
  • MANIFOLD_TEST=[OFF, <ON>]: Build unittests.
  • TRACY_ENABLE=[<OFF>, ON]: Enable integration with tracy profiler. See profiling section below.
  • BUILD_TEST_CGAL=[<OFF>, ON]: Builds a CGAL-based performance comparison, requires libcgal-dev.

Offline building:

  • FETCHCONTENT_SOURCE_DIR_GLM: path to glm source.
  • FETCHCONTENT_SOURCE_DIR_GOOGLETEST: path to googletest source.
  • FETCHCONTENT_SOURCE_DIR_THRUST: path to NVIDIA thrust source.

The build instructions used by our CI are in manifold.yml, which is a good source to check if something goes wrong and for instructions specific to other platforms, like Windows.

WASM

Note that we have only tested emscripten version 3.1.45. It is known that 3.1.48 has some issues compiling manifold.

To build the JS WASM library, first install NodeJS and set up emscripten:

(on Mac):

brew install nodejs
brew install emscripten

(on Linux):

sudo apt install nodejs
git clone https://github.com/emscripten-core/emsdk.git
cd emsdk
./emsdk install latest
./emsdk activate latest
source ./emsdk/emsdk_env.sh

Then build:

cd manifold
mkdir buildWASM
cd buildWASM
emcmake cmake -DCMAKE_BUILD_TYPE=Release .. && emmake make
node test/manifold_test.js

Python

The CMake script will build the python binding manifold3d automatically. To use the extension, please add $BUILD_DIR/bindings/python to your PYTHONPATH, where $BUILD_DIR is the build directory for CMake. Examples using the python binding can be found in bindings/python/examples. To see exported samples, run:

sudo apt install pkg-config libpython3-dev python3 python3-distutils python3-pip
pip install trimesh pytest
python3 run_all.py -e

Run the following code in the interpreter for python binding documentation:

>>> import manifold3d
>>> help(manifold3d)

For more detailed documentation, please refer to the C++ API.

Contributing

Contributions are welcome! A lower barrier contribution is to simply make a PR that adds a test, especially if it repros an issue you've found. Simply name it prepended with DISABLED_, so that it passes the CI. That will be a very strong signal to me to fix your issue. However, if you know how to fix it yourself, then including the fix in your PR would be much appreciated!

Formatting

There is a formatting script format.sh that automatically formats everything. It requires clang-format 11 and black formatter for python.

If you have clang-format installed but without clang-11, you can specify the clang-format executable by setting the CLANG_FORMAT environment variable.

Profiling

There is now basic support for the Tracy profiler for our tests. To enable tracing, compile with -DTRACY_ENABLE=on cmake option, and run the test with Tracy server running. To enable memory profiling in addition to tracing, compile with -DTRACY_MEMORY_USAGE=ON in addition to -DTRACY_ENABLE=ON.

Fuzzing Support

We use https://github.com/google/fuzztest for fuzzing the triangulator.

To enable fuzzing, make sure that you are using clang compiler (-DCMAKE_CXX_COMPILER=clang -DCMAKE_C_COMPILER=clang), running Linux, and enable fuzzing support by setting -DMANIFOLD_FUZZ=ON.

To run the fuzzer and minimize testcase, do

../minimizer.sh ./test/polygon_fuzz --fuzz=PolygonFuzz.TriangulationNoCrash

About the author

This library was started by Emmett Lalish. I am currently a Google employee and this is my 20% project, not an official Google project. At my day job I'm the maintainer of <model-viewer>. I was the first employee at a 3D video startup, Omnivor, and before that I worked on 3D printing at Microsoft, including 3D Builder. Originally an aerospace engineer, I started at a small DARPA contractor doing seedling projects, one of which became Sea Hunter. I earned my doctorate from the University of Washington in control theory and published some papers.

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

manifold3d-2.3.0.tar.gz (386.7 kB view details)

Uploaded Source

Built Distributions

manifold3d-2.3.0-cp312-cp312-win_amd64.whl (839.4 kB view details)

Uploaded CPython 3.12Windows x86-64

manifold3d-2.3.0-cp312-cp312-manylinux_2_28_x86_64.manylinux_2_27_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

manifold3d-2.3.0-cp312-cp312-macosx_11_0_arm64.whl (638.1 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

manifold3d-2.3.0-cp312-cp312-macosx_10_14_x86_64.whl (761.1 kB view details)

Uploaded CPython 3.12macOS 10.14+ x86-64

manifold3d-2.3.0-cp311-cp311-win_amd64.whl (840.1 kB view details)

Uploaded CPython 3.11Windows x86-64

manifold3d-2.3.0-cp311-cp311-manylinux_2_28_x86_64.manylinux_2_27_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

manifold3d-2.3.0-cp311-cp311-macosx_11_0_arm64.whl (638.5 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

manifold3d-2.3.0-cp311-cp311-macosx_10_14_x86_64.whl (760.9 kB view details)

Uploaded CPython 3.11macOS 10.14+ x86-64

manifold3d-2.3.0-cp310-cp310-win_amd64.whl (840.3 kB view details)

Uploaded CPython 3.10Windows x86-64

manifold3d-2.3.0-cp310-cp310-manylinux_2_28_x86_64.manylinux_2_27_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

manifold3d-2.3.0-cp310-cp310-macosx_11_0_arm64.whl (638.8 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

manifold3d-2.3.0-cp310-cp310-macosx_10_14_x86_64.whl (761.1 kB view details)

Uploaded CPython 3.10macOS 10.14+ x86-64

manifold3d-2.3.0-cp39-cp39-win_amd64.whl (840.9 kB view details)

Uploaded CPython 3.9Windows x86-64

manifold3d-2.3.0-cp39-cp39-manylinux_2_28_x86_64.manylinux_2_27_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

manifold3d-2.3.0-cp39-cp39-macosx_11_0_arm64.whl (639.1 kB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

manifold3d-2.3.0-cp39-cp39-macosx_10_14_x86_64.whl (761.3 kB view details)

Uploaded CPython 3.9macOS 10.14+ x86-64

manifold3d-2.3.0-cp38-cp38-win_amd64.whl (861.4 kB view details)

Uploaded CPython 3.8Windows x86-64

manifold3d-2.3.0-cp38-cp38-manylinux_2_28_x86_64.manylinux_2_27_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

manifold3d-2.3.0-cp38-cp38-macosx_11_0_arm64.whl (638.6 kB view details)

Uploaded CPython 3.8macOS 11.0+ ARM64

manifold3d-2.3.0-cp38-cp38-macosx_10_14_x86_64.whl (761.0 kB view details)

Uploaded CPython 3.8macOS 10.14+ x86-64

File details

Details for the file manifold3d-2.3.0.tar.gz.

File metadata

  • Download URL: manifold3d-2.3.0.tar.gz
  • Upload date:
  • Size: 386.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/4.0.2 CPython/3.11.7

File hashes

Hashes for manifold3d-2.3.0.tar.gz
Algorithm Hash digest
SHA256 f244401672fc955b5280f577ab326af946cc873459c53f619dd561ddd9e12ba4
MD5 2f51b69b3458a96c7670153f245ba1f9
BLAKE2b-256 23c1c6995b5c5758a3553b3b23d402d470947693c1e8466272edbe8eeedaf5c5

See more details on using hashes here.

File details

Details for the file manifold3d-2.3.0-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: manifold3d-2.3.0-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 839.4 kB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/4.0.2 CPython/3.11.7

File hashes

Hashes for manifold3d-2.3.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 76b1f6116fb5bd321e77ac79bce8742157b98d3dfef411560de211ef5f90aba5
MD5 5ee9060480f155210aaf6628a0df1354
BLAKE2b-256 b07d163f27aab370f2d8b8d92df5e136d2a254e63c4a5730c3022763bae764f7

See more details on using hashes here.

File details

Details for the file manifold3d-2.3.0-cp312-cp312-manylinux_2_28_x86_64.manylinux_2_27_x86_64.whl.

File metadata

File hashes

Hashes for manifold3d-2.3.0-cp312-cp312-manylinux_2_28_x86_64.manylinux_2_27_x86_64.whl
Algorithm Hash digest
SHA256 b2e7160af7b9d983b4f32f79425f764a72974a4dcd50af5e7da6f6d45bdf9590
MD5 5587bf744dc68758321be7268654c5eb
BLAKE2b-256 625a4eac30efc21a84f2db2002501cec8258e0a1b427a14ed6c5c17ac4b5084f

See more details on using hashes here.

File details

Details for the file manifold3d-2.3.0-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for manifold3d-2.3.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 4f351ecd71d786aedb3ac76646b0a5b9272e8287355ca8d06ad1a397f1bd3bcf
MD5 f68225d83212d86bbaf53030af825b94
BLAKE2b-256 83f9ee5a451439371701274a1640cb1ec21c1349d26350289e4d878884f149fc

See more details on using hashes here.

File details

Details for the file manifold3d-2.3.0-cp312-cp312-macosx_10_14_x86_64.whl.

File metadata

File hashes

Hashes for manifold3d-2.3.0-cp312-cp312-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 2a779a152219593c596b0b9d0e3d311971a888467c13526c1bda39c6e677e63c
MD5 a191ad7f4932b3271e1cc1932734508c
BLAKE2b-256 165b302a5315b742c1648d3d92664c5dc50cd2cedeec92660691f4a0d41a4e74

See more details on using hashes here.

File details

Details for the file manifold3d-2.3.0-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: manifold3d-2.3.0-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 840.1 kB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/4.0.2 CPython/3.11.7

File hashes

Hashes for manifold3d-2.3.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 62278b01348c43c0398b51b481e48168e0636deb929096093409a3f74a3359ca
MD5 8bc5652f0b07dc59efbf59a7655bb8dd
BLAKE2b-256 f5dfebe649ead373a03b04c65c97f444fec7a6c56b171d31b652ff057e025701

See more details on using hashes here.

File details

Details for the file manifold3d-2.3.0-cp311-cp311-manylinux_2_28_x86_64.manylinux_2_27_x86_64.whl.

File metadata

File hashes

Hashes for manifold3d-2.3.0-cp311-cp311-manylinux_2_28_x86_64.manylinux_2_27_x86_64.whl
Algorithm Hash digest
SHA256 8be1a538bbdede2cda26e184b2f18134d5ef4a2d1f74debc4cbaa3ee853eec42
MD5 852837e86f426f6f9de917e500a072a9
BLAKE2b-256 53184c351ad749d7c368a3f711aad0d7f932657cf265c976dfd0ffdd6fe11df6

See more details on using hashes here.

File details

Details for the file manifold3d-2.3.0-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for manifold3d-2.3.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 dbf72e1f0722e11cc18309f1d5b687c568b28e0482530c5289d1842654f98972
MD5 3b823c474617aac64dd416239fd0320c
BLAKE2b-256 11036fa7f79c9dbe06830b51263e9e8a6809849e056e3d6c2f49e2646f0ce5c3

See more details on using hashes here.

File details

Details for the file manifold3d-2.3.0-cp311-cp311-macosx_10_14_x86_64.whl.

File metadata

File hashes

Hashes for manifold3d-2.3.0-cp311-cp311-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 de221ff80a9d9757aec944d42af9816640414a4fece97841c390e6d2f8aa9985
MD5 d0ef1d6d55f0c38cff1bd06ca636d1b1
BLAKE2b-256 1b6e467852add8d27d4a012fe45e479a6b9903a2504b82a8aab22cda9b56eec4

See more details on using hashes here.

File details

Details for the file manifold3d-2.3.0-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: manifold3d-2.3.0-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 840.3 kB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/4.0.2 CPython/3.11.7

File hashes

Hashes for manifold3d-2.3.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 3d4df3f646b8f0d51a452cb91c017a7ae9af76f4d7dcf686c386c4bd7ea3e4b8
MD5 185e3dd74ee5c8d5e88f06efba49aeb9
BLAKE2b-256 826eea4d617f6eef71ba9a3c1dc1f061e0a31a0de13e420e3665020b86060509

See more details on using hashes here.

File details

Details for the file manifold3d-2.3.0-cp310-cp310-manylinux_2_28_x86_64.manylinux_2_27_x86_64.whl.

File metadata

File hashes

Hashes for manifold3d-2.3.0-cp310-cp310-manylinux_2_28_x86_64.manylinux_2_27_x86_64.whl
Algorithm Hash digest
SHA256 a11ea90a86f258eea6d5efdc68540d2b6b1ec950f9ab139e7db4b1863db1ffd2
MD5 e5ea41c8f1cccc86ecd5044916233891
BLAKE2b-256 b5614030b64ae735b38a4d203bb282dea71f63903a1798603487821b81091efd

See more details on using hashes here.

File details

Details for the file manifold3d-2.3.0-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for manifold3d-2.3.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 b1dc2a12cf7ebd4d4e366fa85ec1064afe9005c5682a4fbfd3c15456db63869b
MD5 057db443f2193ae2ef8a70d100f9fe25
BLAKE2b-256 b4387180d66e61d208344a1e4149a583d02ac8cfdea1b7f5228b231ba2aa7965

See more details on using hashes here.

File details

Details for the file manifold3d-2.3.0-cp310-cp310-macosx_10_14_x86_64.whl.

File metadata

File hashes

Hashes for manifold3d-2.3.0-cp310-cp310-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 17b648cce1f2eb3e6d1431db3d51ed0bcfd897a0f0c1ff32d5076fb4564e554d
MD5 33cd50132e59f87aa55c18114b3b1546
BLAKE2b-256 b9db0cdf808d985129d26e4060465837999e0bed8fd681b78a802f749900e0c2

See more details on using hashes here.

File details

Details for the file manifold3d-2.3.0-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: manifold3d-2.3.0-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 840.9 kB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/4.0.2 CPython/3.11.7

File hashes

Hashes for manifold3d-2.3.0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 c16689a54a232f10dc51d467cfd074a405a560b26ddf56e9eeb81090d6bcb3f1
MD5 e305970ffad07f37ac1e7fa11cc08cac
BLAKE2b-256 3fc0077c35ea2b0a3eccd927b9a272298b05a11e6a8ea892532b121d532f8c06

See more details on using hashes here.

File details

Details for the file manifold3d-2.3.0-cp39-cp39-manylinux_2_28_x86_64.manylinux_2_27_x86_64.whl.

File metadata

File hashes

Hashes for manifold3d-2.3.0-cp39-cp39-manylinux_2_28_x86_64.manylinux_2_27_x86_64.whl
Algorithm Hash digest
SHA256 7b30baee689189c60b921251adbcf761e93a29e8a4404dc548fa13d135774ff4
MD5 aaaf8be5f2da172ecc1b49369783c760
BLAKE2b-256 856ab9d104641b136cbe31e36d33a0c0ffb5461d759e65502b4d87817bc2eeb5

See more details on using hashes here.

File details

Details for the file manifold3d-2.3.0-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for manifold3d-2.3.0-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 3cffe68dbb58c5b21055a2d518e05884c981cf00d75f86bde8047441d608c734
MD5 e49ccda2f2b8abcf03aad1a252537f62
BLAKE2b-256 8adc2675cf8c5c1ff8de1d7fcb0638eee8e4dd6ac60058e475c205e999cb165b

See more details on using hashes here.

File details

Details for the file manifold3d-2.3.0-cp39-cp39-macosx_10_14_x86_64.whl.

File metadata

File hashes

Hashes for manifold3d-2.3.0-cp39-cp39-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 d6cf888af130e105ea8dc2a23458945286461332786f7dd3b89fbd4e8ca44268
MD5 50c9abd14eef2c0d9ba71c6ee3fce8b2
BLAKE2b-256 12c7e6e75cc3aff86bb2a6e8c6b7dff19563f7bc2117a3a658c1ba860b2f55b3

See more details on using hashes here.

File details

Details for the file manifold3d-2.3.0-cp38-cp38-win_amd64.whl.

File metadata

  • Download URL: manifold3d-2.3.0-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 861.4 kB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/4.0.2 CPython/3.11.7

File hashes

Hashes for manifold3d-2.3.0-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 03656b3003e168c050d8c8d2eaec465ccb18770f37601f80a16a31771592b5ab
MD5 b2d7db4f20e6c259375cfdeee1b56876
BLAKE2b-256 a3be6fca58279423e82532f59d81374aff54e42a306d839891edf0dc2dc6a269

See more details on using hashes here.

File details

Details for the file manifold3d-2.3.0-cp38-cp38-manylinux_2_28_x86_64.manylinux_2_27_x86_64.whl.

File metadata

File hashes

Hashes for manifold3d-2.3.0-cp38-cp38-manylinux_2_28_x86_64.manylinux_2_27_x86_64.whl
Algorithm Hash digest
SHA256 24c728aa373a9d1896232b097a0177bab69786e9bfa13ab415ac4cefc56c9b39
MD5 8f3a8c1195994d1348d9f3af9d2c0078
BLAKE2b-256 f3d1d13f12ea8b778eb7db0cfbbc66d2d7f376d7d2fe24e025ed9f11bb36de05

See more details on using hashes here.

File details

Details for the file manifold3d-2.3.0-cp38-cp38-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for manifold3d-2.3.0-cp38-cp38-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 30135a60657aced10261184ef09930b1b6e62ba162d525542663fded5d155a05
MD5 0245d260cc5a558c59fb90e2769fdd56
BLAKE2b-256 3132077867de4c03036c9ca5d7a8ca0930cba135c512866e3a4d45a48aedb68f

See more details on using hashes here.

File details

Details for the file manifold3d-2.3.0-cp38-cp38-macosx_10_14_x86_64.whl.

File metadata

File hashes

Hashes for manifold3d-2.3.0-cp38-cp38-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 21d5564ae2066f2a2f26aee2c177cb99f0adb5f814a71b1a1d79c6df315c0b89
MD5 231da66afbcdbfb9ce5beeb77bf232bb
BLAKE2b-256 5f8b1405f3f0e71554a286c7fbdd68814e80e68eeb885d702e18423291ee7e3c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page