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.1.tar.gz (387.3 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

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

Uploaded CPython 3.12Windows x86-64

manifold3d-2.3.1-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.1-cp312-cp312-macosx_11_0_arm64.whl (638.1 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

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

Uploaded CPython 3.12macOS 10.14+ x86-64

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

Uploaded CPython 3.11Windows x86-64

manifold3d-2.3.1-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.1-cp311-cp311-macosx_11_0_arm64.whl (638.5 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

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

Uploaded CPython 3.11macOS 10.14+ x86-64

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

Uploaded CPython 3.10Windows x86-64

manifold3d-2.3.1-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.1-cp310-cp310-macosx_11_0_arm64.whl (638.8 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

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

Uploaded CPython 3.10macOS 10.14+ x86-64

manifold3d-2.3.1-cp39-cp39-win_amd64.whl (841.0 kB view details)

Uploaded CPython 3.9Windows x86-64

manifold3d-2.3.1-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.1-cp39-cp39-macosx_11_0_arm64.whl (639.1 kB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

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

Uploaded CPython 3.9macOS 10.14+ x86-64

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

Uploaded CPython 3.8Windows x86-64

manifold3d-2.3.1-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.1-cp38-cp38-macosx_11_0_arm64.whl (638.6 kB view details)

Uploaded CPython 3.8macOS 11.0+ ARM64

manifold3d-2.3.1-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.1.tar.gz.

File metadata

  • Download URL: manifold3d-2.3.1.tar.gz
  • Upload date:
  • Size: 387.3 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.1.tar.gz
Algorithm Hash digest
SHA256 52650c5ce96121dc04d3730a9afdf4f3d8c210af150674199d76805d81f98d4f
MD5 6aaca4c6cc833597c8643c20b599dea2
BLAKE2b-256 adc0217cfeef531b94727408b16d0085342559b0143a5942235a8db36dd1fbf2

See more details on using hashes here.

File details

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

File metadata

  • Download URL: manifold3d-2.3.1-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.1-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 151d7d82319ce655336a7a11b2f55e5fc24e561f83352825dafa77218bbfcfe1
MD5 a8ca241ada7c74bd8183d5d794f99165
BLAKE2b-256 7577bf87271032317715c4de3d9cc83ae3ca0b423d4cbc41351c30370fb2fe45

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for manifold3d-2.3.1-cp312-cp312-manylinux_2_28_x86_64.manylinux_2_27_x86_64.whl
Algorithm Hash digest
SHA256 c493955eaf61201b495cf29c83230e703c6b638733cd06ff53d6a5f96f8da170
MD5 03c85bc7e991a3f631997a760000b127
BLAKE2b-256 aaf0c5d78c69149a10a1f65648d0e3f28beeebaf3131fbf6cf0bcf2798e55d30

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for manifold3d-2.3.1-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 52c99d84b4a7256f50a90044aedef61c9f3497ded8f652668348a7c849680351
MD5 2742fccd2629ea028dcf50498289b6d4
BLAKE2b-256 2c000af2b7bea23fd6fc5662dc313f6842f8f2feb0c1251c485636dc592aa905

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for manifold3d-2.3.1-cp312-cp312-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 a314d1debe813131a17e4007eb2c26371a9dbb3ba05bd1c970396c702933eee2
MD5 972c4baaa29be7980a337f52cff918fd
BLAKE2b-256 3af7fcfc05576d711ee08f63ab0fe3585d6836cbf8146e68dc8a17d92788649c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: manifold3d-2.3.1-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.1-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 0c0e1348e2ba8946fc161aa1ad77247788a5c7e15567ce5a024cbfd896f89c5f
MD5 65a0464fa84eb31697a0cfe1410fe769
BLAKE2b-256 9e7022e1cbd6e9c081039f0264341463fd1785014a31ad19be53fda616bcd58e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for manifold3d-2.3.1-cp311-cp311-manylinux_2_28_x86_64.manylinux_2_27_x86_64.whl
Algorithm Hash digest
SHA256 d1c00964bb1f8adadbdd473f084687a7b557c65c41915fb618969df4db049576
MD5 ffcd5ed089c3bddfb809d927e97c26b7
BLAKE2b-256 cc03f007505306ba91baef2e9ff4c33837b8893e44398c64e160358e794aec77

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for manifold3d-2.3.1-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 e63a44b84336a0e78211e2015d819c4ee1f07380bdb24db3a795e1459b666d47
MD5 c1505bd58ecb60ca8aeaa3a6db5745a5
BLAKE2b-256 153f04354b40e1e3a546e9bfecd44462825ab5c012a1c638b8cb4eb6dc2d8eea

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for manifold3d-2.3.1-cp311-cp311-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 349b7772aee1ca781147e1a1eb9042b1523954acab1e14f49a2126df33da9809
MD5 d87efb472c9ff9a954caaef7cd6b8c22
BLAKE2b-256 44b3e14d63a586b28f98998ac421cacb8f132058767e7f91e11aee30b3a7f5a2

See more details on using hashes here.

File details

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

File metadata

  • Download URL: manifold3d-2.3.1-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.1-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 b3398bb8d1f4b2519c25137d9fa531d1436da72f7e58f8763b61387a8196b4a1
MD5 35fa2888a9a7099556c0bf4fdd748cec
BLAKE2b-256 5b4ae8a903dfb1e67119897953c918a42cd489698f1b50668ea527461144b79d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for manifold3d-2.3.1-cp310-cp310-manylinux_2_28_x86_64.manylinux_2_27_x86_64.whl
Algorithm Hash digest
SHA256 fb6967fa3872a064d05ca8a0507ecf7078155ae73e371ea4e54af2ebe61b4d87
MD5 569a47717a5d0501e311f87a78d4b9db
BLAKE2b-256 ae17f709f7582435aa3e1db97eea1c275093a9c88768540dfe97866cbfe4c37c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for manifold3d-2.3.1-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 4456fb5f0a9c876e28b1f93647ce1517a2755dc440e71afdcdbd95e6dee81851
MD5 3a4f94df25326f1ec368f380618e5230
BLAKE2b-256 4b5fb391d7529d55b3ed4b3193e06cf7890b7c9e935d271447875e9109b0306b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for manifold3d-2.3.1-cp310-cp310-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 cdeb90df46c32f3eb7bf4c815a8fb3034e025743414f31ecba361a6c2917d3ea
MD5 2bf3c79c582387d99b3b668105093c16
BLAKE2b-256 d243e346fb2d5232d4e4228c1bbf9609b95ba8bee3a3441c7d3a9d6dda8d6d13

See more details on using hashes here.

File details

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

File metadata

  • Download URL: manifold3d-2.3.1-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 841.0 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.1-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 3ced2790746b39bab83407fbd5febeba61cda736eca08082e157cd421e3c79d1
MD5 42316aeadf985d8114c37209e2ff4346
BLAKE2b-256 4f9f0a7bd27c0949496b02c6db9a206fab4941089fb46ef99e6217f2e2d6d2bb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for manifold3d-2.3.1-cp39-cp39-manylinux_2_28_x86_64.manylinux_2_27_x86_64.whl
Algorithm Hash digest
SHA256 e2465dfe9ff54cc3833d2443904c61bcfa6a58dc3e04dcbf222dd6d17df82b7d
MD5 e7146155e94aaa800f4a40ab29b3dd03
BLAKE2b-256 0160f393fbe60f9f376b6a210add2d5c66ec04fb3ced48f45a21ca2f471ce605

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for manifold3d-2.3.1-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d4e42e25d933f6788c356bb0a049b41c2418cd03819b3ae6e8037ea22ba49319
MD5 979c5dceec10d688b30f132031556b42
BLAKE2b-256 be71bb7e376bcc7520c56386d3420d7251bd615e61debf59e4ca66b5440b4181

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for manifold3d-2.3.1-cp39-cp39-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 51a134e5dc77c1a45d9ab769a86662b612098ae88c611a964e91347d35f101f0
MD5 2afbc7771d7a8ff8e1d71e2d49dd89ea
BLAKE2b-256 5d9c7fcfb9c3e9894aa1dac7d419578c86d33916f34538ebf7b785a4fbe69f8e

See more details on using hashes here.

File details

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

File metadata

  • Download URL: manifold3d-2.3.1-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.1-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 702db83617cc41bab6f1aa4cbf2e09ab3cd0ff6f391fd689bc9e335b4af4b694
MD5 c4d0748c760a130834d66e5aac55c2da
BLAKE2b-256 0fcd1fa351e896e897dd46b24131a6e9485577e0ed4dec2ccf7c06e50c1d72ff

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for manifold3d-2.3.1-cp38-cp38-manylinux_2_28_x86_64.manylinux_2_27_x86_64.whl
Algorithm Hash digest
SHA256 e91eaf06b5ccefd79d399a62506932db814e4ec3238482735f317b1b79c4e004
MD5 1288e6a7ee8e21539d3456b570eddf05
BLAKE2b-256 084ea1a3d754c692e4c4fff17863fec236a2a2a03acafc34a09ef737b32bc889

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for manifold3d-2.3.1-cp38-cp38-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 b09c448770787db45c891615055cc17bf4c1c216ecae9b4d7aad60ff92319324
MD5 9b0c68421e2ac3988a639ae658ba180d
BLAKE2b-256 97cebb01bb4f366bbeb7985670545a61d4393dc6640b5c2d34bc1de693fedaa0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for manifold3d-2.3.1-cp38-cp38-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 37bcfd4a7f7ecdf185c538b56a965bbc4fc38575f98e0fbd28596e02cda34a9c
MD5 bf8e224a94c1a0320e8244cb335c4163
BLAKE2b-256 50e78e7ca6730a7da3bdcc47458c76fe4464f4b7697a478e9602aea52ad1a316

See more details on using hashes here.

Supported by

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