Skip to main content

Library for geometric robustness

Project description

About Manifold

codecov PyPI version npm version twitter

C++ Documentation | TS 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. Manifold also supports arbitrary vertex properties and enables mapping of materials for rendering use-cases. Our primary goal is reliability: guaranteed manifold output without caveats or edge cases. Our secondary goal is performance: efficient algorithms that make extensive use of parallelization, or pipelining when only a single thread is available.

Users

Here is an incomplete list of our users, whose integrations may be anywhere from in-progress to released. Please feel free to send a PR to update this list with your own project - it's quite difficult for us to keep track.

OpenSCAD IFCjs Dactyl Web Configurator
Nomad Sculpt Grid.Space badcad
Godot Engine OCADml Flitter
BRL-CAD PolygonJS Spherene
trimesh Gypsum

Bindings & Packages

If C++ isn't your cup of tea, Manifold also has bindings to many other languages, some maintained in this repository, and others elsewhere.

Language Packager Name Maintenance
C N/A N/A internal
TS/JS npm manifold-3d internal
Python PyPI manifold3d internal
Java N/A manifold external
Clojure N/A clj-manifold3d external
C# NuGet ManifoldNET external
Julia Packages ManifoldBindings.jl external
OCaml N/A OManifold external

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.

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 Library

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 a level set function for evaluating signed-distance functions (SDF) that improves significantly over Marching Cubes. You can also pass in your own mesh data, but you'll get an error status if the imported mesh isn't manifold. We provide a Merge function to fix slightly non-manifold meshes, but in general you may need one of the automated repair tools that exist mostly 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.

Manifold has full support for arbitrary vertex properties, and also has IDs that make it easy to keep track of materials and what surfaces belong to what input objects or faces. See our web example for a simple demonstration of combining objects with unique textures.

Also included are a novel and powerful suite of refining functions for smooth mesh interpolation. They handle smoothing both triangles and quads, as well as keeping polygonal faces flat. You can easily create sharp or small-radius edges where desired, or even drive the curvature by normal vectors.

To aid in speed, this library makes extensive use of parallelization through TBB, if enabled. 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.

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.

Dependencies

Manifold no longer has any required dependencies! However, we do have several optional dependencies, of which the first two are strongly encouraged:

Name CMake Flag Provides
TBB MANIFOLD_PAR=ON Parallel acceleration
Clipper2 MANIFOLD_CROSS_SECTION=ON 2D: CrossSection
Assimp MANIFOLD_EXPORT=ON Basic Mesh I/O
Nanobind MANIFOLD_PYBIND=ON Python bindings
Emscripten MANIFOLD_JSBIND=ON JS bindings via WASM
GTest MANIFOLD_TEST=ON Testing framework

3D Formats

Please avoid saving to STL files! They are lossy and inefficient - when saving a manifold mesh to STL there is no guarantee that the re-imported mesh will still be manifold, as the topology is lost. Please consider using 3MF instead, as this format was designed from the beginning for manifold meshes representing solid objects.

If you use vertex properties for things like interpolated normals or texture UV coordinates, glTF is recommended, specifically using the EXT_mesh_manifold extension. This allows for the lossless and efficient transmission of manifoldness even with property boundaries. Try our make-manifold page to add this extension to your existing glTF/GLB models.

Manifold provides an optional MeshIO component based on Assimp, but it is limited in functionality and is primarily to aid in testing. If you are using our npm module, we have a much more capable gltf-io.ts you can use instead. For other languages we strongly recommend using existing packages that focus on 3D file I/O, e.g. trimesh for Python, particularly when using vertex properties or materials.

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 the emscripten toolchain).
  • MANIFOLD_CBIND=[<OFF>, ON]: Build C FFI binding.
  • MANIFOLD_PYBIND=[OFF, <ON>]: Build python binding, requires nanobind.
  • MANIFOLD_PAR=[<OFF>, ON]: Enables multi-thread parallelization, requires tbb.
  • MANIFOLD_CROSS_SECTION=[OFF, <ON>]: Build CrossSection for 2D support (needed by language bindings), requires Clipper2.
  • MANIFOLD_EXPORT=[<OFF>, ON]: Enables MeshIO and GLB export of 3D models from the tests, requires assimp.
  • MANIFOLD_DEBUG=[<OFF>, ON]: Enables internal assertions and exceptions. This incurs around 20% runtime overhead.
  • MANIFOLD_TEST=[OFF, <ON>]: Build unit tests, requires GTest.
  • TRACY_ENABLE=[<OFF>, ON]: Enable integration with tracy profiler. See profiling section below.

Dependency version override:

  • MANIFOLD_USE_BUILTIN_TBB=[<OFF>, ON]: Use builtin version of tbb.
  • MANIFOLD_USE_BUILTIN_CLIPPER2=[<OFF>, ON]: Use builtin version of clipper2.
  • MANIFOLD_USE_BUILTIN_NANOBIND=[<OFF>, ON]: Use builtin version of nanobind.

Note: These three options can force the build to avoid using the system version of the dependency. This will either use the provided source directory via FETCHCONTENT_SOURCE_DIR_* (see below), or fetch the source from GitHub. Note that the dependency will be built as static dependency to avoid dynamic library conflict. When the system package is unavailable, the option will be automatically set to true.

Offline building (with missing dependencies/dependency version override):

  • MANIFOLD_DOWNLOADS=[OFF, <ON>]: Automatically download missing dependencies. Need to set FETCHCONTENT_SOURCE_DIR_* if the dependency * is missing.
  • FETCHCONTENT_SOURCE_DIR_TBB: path to tbb source (if MANIFOLD_PAR is enabled).
  • FETCHCONTENT_SOURCE_DIR_CLIPPER2: path to tbb source (if MANIFOLD_CROSS_SECTION is enabled).
  • FETCHCONTENT_SOURCE_DIR_NANOBIND: path to nanobind source (if MANIFOLD_PYBIND is enabled).
  • FETCHCONTENT_SOURCE_DIR_GOOGLETEST: path to googletest source (if MANIFOLD_TEST is enabled).

Note: When FETCHCONTENT_SOURCE_DIR_* is set, CMake will use the provided source directly without downloading regardless of the value of MANIFOLD_DOWNLOADS.

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

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.

Windows Shenanigans

Windows users should build with -DBUILD_SHARED_LIBS=OFF, as enabling shared libraries in general makes things very complicated.

The DLL file for manifoldc (C FFI bindings) when built with msvc is in ${CMAKE_BINARY_DIR}/bin/${BUILD_TYPE}/manifoldc.dll. For example, for the following command, the path relative to the project root directory is build/bin/Release/manifoldc.dll.

cmake . -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=OFF -DMANIFOLD_DEBUG=ON -DMANIFOLD_PAR=${{matrix.parallel_backend}} -A x64 -B build

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, black formatter for python and gersemi for formatting cmake files.

Note that our script can run with clang-format older than 18, but the GitHub action check may fail due to slight differences between different versions of clang-format. In that case, either update your clang-format version or apply the patch from the GitHub action log.

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.

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

Uploaded Source

Built Distributions

manifold3d-3.0.0-cp313-cp313-win_amd64.whl (925.9 kB view details)

Uploaded CPython 3.13 Windows x86-64

manifold3d-3.0.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (1.1 MB view details)

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

manifold3d-3.0.0-cp313-cp313-macosx_11_0_arm64.whl (711.1 kB view details)

Uploaded CPython 3.13 macOS 11.0+ ARM64

manifold3d-3.0.0-cp313-cp313-macosx_10_14_x86_64.whl (827.8 kB view details)

Uploaded CPython 3.13 macOS 10.14+ x86-64

manifold3d-3.0.0-cp313-cp313-macosx_10_14_universal2.whl (1.5 MB view details)

Uploaded CPython 3.13 macOS 10.14+ universal2 (ARM64, x86-64)

manifold3d-3.0.0-cp312-cp312-win_amd64.whl (926.0 kB view details)

Uploaded CPython 3.12 Windows x86-64

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

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

manifold3d-3.0.0-cp312-cp312-macosx_11_0_arm64.whl (711.0 kB view details)

Uploaded CPython 3.12 macOS 11.0+ ARM64

manifold3d-3.0.0-cp312-cp312-macosx_10_14_x86_64.whl (827.7 kB view details)

Uploaded CPython 3.12 macOS 10.14+ x86-64

manifold3d-3.0.0-cp312-cp312-macosx_10_14_universal2.whl (1.5 MB view details)

Uploaded CPython 3.12 macOS 10.14+ universal2 (ARM64, x86-64)

manifold3d-3.0.0-cp311-cp311-win_amd64.whl (926.7 kB view details)

Uploaded CPython 3.11 Windows x86-64

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

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

manifold3d-3.0.0-cp311-cp311-macosx_11_0_arm64.whl (711.2 kB view details)

Uploaded CPython 3.11 macOS 11.0+ ARM64

manifold3d-3.0.0-cp311-cp311-macosx_10_14_x86_64.whl (827.3 kB view details)

Uploaded CPython 3.11 macOS 10.14+ x86-64

manifold3d-3.0.0-cp311-cp311-macosx_10_14_universal2.whl (1.5 MB view details)

Uploaded CPython 3.11 macOS 10.14+ universal2 (ARM64, x86-64)

manifold3d-3.0.0-cp310-cp310-win_amd64.whl (914.4 kB view details)

Uploaded CPython 3.10 Windows x86-64

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

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

manifold3d-3.0.0-cp310-cp310-macosx_11_0_arm64.whl (698.8 kB view details)

Uploaded CPython 3.10 macOS 11.0+ ARM64

manifold3d-3.0.0-cp310-cp310-macosx_10_14_x86_64.whl (815.2 kB view details)

Uploaded CPython 3.10 macOS 10.14+ x86-64

manifold3d-3.0.0-cp310-cp310-macosx_10_14_universal2.whl (1.5 MB view details)

Uploaded CPython 3.10 macOS 10.14+ universal2 (ARM64, x86-64)

manifold3d-3.0.0-cp39-cp39-win_amd64.whl (915.2 kB view details)

Uploaded CPython 3.9 Windows x86-64

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

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

manifold3d-3.0.0-cp39-cp39-macosx_11_0_arm64.whl (699.0 kB view details)

Uploaded CPython 3.9 macOS 11.0+ ARM64

manifold3d-3.0.0-cp39-cp39-macosx_10_14_x86_64.whl (815.3 kB view details)

Uploaded CPython 3.9 macOS 10.14+ x86-64

manifold3d-3.0.0-cp39-cp39-macosx_10_14_universal2.whl (1.5 MB view details)

Uploaded CPython 3.9 macOS 10.14+ universal2 (ARM64, x86-64)

manifold3d-3.0.0-cp38-cp38-win_amd64.whl (930.8 kB view details)

Uploaded CPython 3.8 Windows x86-64

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

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

manifold3d-3.0.0-cp38-cp38-macosx_11_0_arm64.whl (698.3 kB view details)

Uploaded CPython 3.8 macOS 11.0+ ARM64

manifold3d-3.0.0-cp38-cp38-macosx_10_14_x86_64.whl (814.5 kB view details)

Uploaded CPython 3.8 macOS 10.14+ x86-64

manifold3d-3.0.0-cp38-cp38-macosx_10_14_universal2.whl (1.5 MB view details)

Uploaded CPython 3.8 macOS 10.14+ universal2 (ARM64, x86-64)

File details

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

File metadata

  • Download URL: manifold3d-3.0.0.tar.gz
  • Upload date:
  • Size: 253.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for manifold3d-3.0.0.tar.gz
Algorithm Hash digest
SHA256 770402c4e83ddf78f30e48cad62f5b54432e645166f326a57d792cddbd18cd46
MD5 ba0deb10df1c4b68d816ec6afb62044a
BLAKE2b-256 78bb504c5c256093044d2d70f74bbe314d7016701f7eaea0e76bf9468154d452

See more details on using hashes here.

Provenance

The following attestation bundles were made for manifold3d-3.0.0.tar.gz:

Publisher: build_wheels.yml on elalish/manifold

Attestations:

File details

Details for the file manifold3d-3.0.0-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for manifold3d-3.0.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 ac76579df30db2ff57b1cd65887c7ac534507f1b85c96e23230e381d95281de4
MD5 e99d615d2e82988af207528cb2ea5708
BLAKE2b-256 4a2117539ba5420fdc349d9ac916d5e462fcd8db0cd88286bed3443e5c0328a9

See more details on using hashes here.

File details

Details for the file manifold3d-3.0.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for manifold3d-3.0.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 7953156c0b2b79e12ea979c2cd22151b29fe8a428ab933ddd733210e537de3cc
MD5 b181edad47f0e1b390d1e5abd102f249
BLAKE2b-256 fee92e2a8a07a19fc6e014daa08e696714e7087cbcc8ad915662637d8e70b9aa

See more details on using hashes here.

File details

Details for the file manifold3d-3.0.0-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for manifold3d-3.0.0-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 afb17315a5b663fbf5cd10199192ac518a1a34acc4d4c9a30e5669b965fd992e
MD5 5723115201c9ebc17f8f56f503dbbd6e
BLAKE2b-256 3b1d06ac4dc47c10962529fa80847a8543989b8d4cdae55df07608b535a16cd5

See more details on using hashes here.

File details

Details for the file manifold3d-3.0.0-cp313-cp313-macosx_10_14_x86_64.whl.

File metadata

File hashes

Hashes for manifold3d-3.0.0-cp313-cp313-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 8407a446a6016eca32c1fb4d60f1f20ba267b76f4acce3158be2483e47641a0a
MD5 fe51ac8ef933231f28dfb005db9a7471
BLAKE2b-256 b892539e28819f62c2c29ad9f55cda80ed5bd02adae8073abccdbbdcf0603bdc

See more details on using hashes here.

File details

Details for the file manifold3d-3.0.0-cp313-cp313-macosx_10_14_universal2.whl.

File metadata

File hashes

Hashes for manifold3d-3.0.0-cp313-cp313-macosx_10_14_universal2.whl
Algorithm Hash digest
SHA256 608bd9f8eb07231762c65a46626d976bc7f668fda03f3472c40e367b3bde0277
MD5 46568a6cf9dfccc1e1f0b1fed986d3f9
BLAKE2b-256 5b27ce736c30eb78720b183f11f9474db6b65878e308bb38eb41017a886505e7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for manifold3d-3.0.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 3d58abfeb9fd06698c66b575dd29ebf7a63f447842606e0e3d104e91b7b009b9
MD5 2bd61ccfd192e2b0af48dc080b9957b6
BLAKE2b-256 1196743c6efc9835f773d30f70c5194ef51c807352b0659a55ef9755ea83b866

See more details on using hashes here.

Provenance

The following attestation bundles were made for manifold3d-3.0.0-cp312-cp312-win_amd64.whl:

Publisher: build_wheels.yml on elalish/manifold

Attestations:

File details

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

File metadata

File hashes

Hashes for manifold3d-3.0.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 eb854e1d6c38ab980ea51de61a025409c66c630f6acb814b9d5ba4124892f032
MD5 7ae39b38a4d333d23d72d4081444ee0e
BLAKE2b-256 658d7f98be10a1b486c45aaf8da775676c496bcda5fd233f9ed1077bb83326e0

See more details on using hashes here.

Provenance

The following attestation bundles were made for manifold3d-3.0.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: build_wheels.yml on elalish/manifold

Attestations:

File details

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

File metadata

File hashes

Hashes for manifold3d-3.0.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d59b59d10fb1433821d76ac3731da3490ace644a7bcb65860d1c6cddb059af5f
MD5 5013ce99e9bae9d936e44b7f14556eb5
BLAKE2b-256 097949ae75089fb92483520b31b99cdc41cebfb3351e9157ea69461d17b81685

See more details on using hashes here.

Provenance

The following attestation bundles were made for manifold3d-3.0.0-cp312-cp312-macosx_11_0_arm64.whl:

Publisher: build_wheels.yml on elalish/manifold

Attestations:

File details

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

File metadata

File hashes

Hashes for manifold3d-3.0.0-cp312-cp312-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 4df4b1207ddc030085a784586ad1beb879f405b4f9adcd8b66e6f398224b840d
MD5 ea7a0e23cd1a5787e895057aa4963ebd
BLAKE2b-256 2b594201a13d2a038d17547885cb8da24f1f54261e0c17a219c86ab2b9eef462

See more details on using hashes here.

Provenance

The following attestation bundles were made for manifold3d-3.0.0-cp312-cp312-macosx_10_14_x86_64.whl:

Publisher: build_wheels.yml on elalish/manifold

Attestations:

File details

Details for the file manifold3d-3.0.0-cp312-cp312-macosx_10_14_universal2.whl.

File metadata

File hashes

Hashes for manifold3d-3.0.0-cp312-cp312-macosx_10_14_universal2.whl
Algorithm Hash digest
SHA256 67a9a91cf285321e7f072f6c5d82bf4ea6e51e209f3e0a030c8adbc9b5aa590a
MD5 3d318ee5f93d46e6d594e45a0c9d852b
BLAKE2b-256 cb55772d39462b1da21c6dc4c9287ee96e602fcefb669920c673c15079916f41

See more details on using hashes here.

Provenance

The following attestation bundles were made for manifold3d-3.0.0-cp312-cp312-macosx_10_14_universal2.whl:

Publisher: build_wheels.yml on elalish/manifold

Attestations:

File details

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

File metadata

File hashes

Hashes for manifold3d-3.0.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 fd00506e628d5bd4d725daa3518cd1a526a2312acbfc173b6ffb72d28baf3e3c
MD5 0cf2773bcd8e0653c2704c761d7e704c
BLAKE2b-256 650a6dcbf2ff340d7824860cadd229e1b72499a884272bb25d22cc61f1c2fb11

See more details on using hashes here.

Provenance

The following attestation bundles were made for manifold3d-3.0.0-cp311-cp311-win_amd64.whl:

Publisher: build_wheels.yml on elalish/manifold

Attestations:

File details

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

File metadata

File hashes

Hashes for manifold3d-3.0.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 a9e70ba302749f7e3f453f64fb6576062fa7f6eb391302885068453f4143744a
MD5 15728e0b2f0ae2462cc321e879d81071
BLAKE2b-256 8e68b6bd6777508f8d74c89feeb9ea4d6486c801a9f11cc8950f37a2ddbb9b9b

See more details on using hashes here.

Provenance

The following attestation bundles were made for manifold3d-3.0.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: build_wheels.yml on elalish/manifold

Attestations:

File details

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

File metadata

File hashes

Hashes for manifold3d-3.0.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 ac26cdb6d46063f3ae90a74db08b2a4976fe438f9b8dafe8382d62f8d223b2bf
MD5 d3626e5f130b7267eb3ea0ea9430aa65
BLAKE2b-256 410825cc0803a0397b0a44572a9142614782195f97b89afb06adc520d8811c14

See more details on using hashes here.

Provenance

The following attestation bundles were made for manifold3d-3.0.0-cp311-cp311-macosx_11_0_arm64.whl:

Publisher: build_wheels.yml on elalish/manifold

Attestations:

File details

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

File metadata

File hashes

Hashes for manifold3d-3.0.0-cp311-cp311-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 256d82d708eb9c9de15b11546fc1a38ef8242157f5b66cb6730dccbb3e45b244
MD5 ec40903e41af62760a88f836e78a8ca2
BLAKE2b-256 aad15385a9737dc8749d5a47c8d6aea0dec9943b9e70e33801979e9927afdaac

See more details on using hashes here.

Provenance

The following attestation bundles were made for manifold3d-3.0.0-cp311-cp311-macosx_10_14_x86_64.whl:

Publisher: build_wheels.yml on elalish/manifold

Attestations:

File details

Details for the file manifold3d-3.0.0-cp311-cp311-macosx_10_14_universal2.whl.

File metadata

File hashes

Hashes for manifold3d-3.0.0-cp311-cp311-macosx_10_14_universal2.whl
Algorithm Hash digest
SHA256 089123bc9280840ec3a43436e3f904ffcd76107aacec274294f441c6a54e7d20
MD5 9417eef819d286b3aa20f7f1e5a656b7
BLAKE2b-256 ac92673cb0a4ece9c50416e810217c38ff9b40c11cb258ea5ee9ad3fbec103b4

See more details on using hashes here.

Provenance

The following attestation bundles were made for manifold3d-3.0.0-cp311-cp311-macosx_10_14_universal2.whl:

Publisher: build_wheels.yml on elalish/manifold

Attestations:

File details

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

File metadata

File hashes

Hashes for manifold3d-3.0.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 b531675a29943f844afbe37cc8d5e395dcdfd837bbfcfa81644cc7bb6a489f5f
MD5 868abd699ee2c59047ffede355b167e7
BLAKE2b-256 448a724fe1220c5de45e29015191ff4ce2f9415678c35c1edba95982f13f05eb

See more details on using hashes here.

Provenance

The following attestation bundles were made for manifold3d-3.0.0-cp310-cp310-win_amd64.whl:

Publisher: build_wheels.yml on elalish/manifold

Attestations:

File details

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

File metadata

File hashes

Hashes for manifold3d-3.0.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 05991a5bf9ac39980e8ee969278c2bc5e7da1985bc888e81fa9921508699bcfe
MD5 43a77eefdd33a7fddf15a81283da8836
BLAKE2b-256 8df03156b19c2e7a429b7c30eec5713ee59ea53c23796f485ba41d3ebe181c61

See more details on using hashes here.

Provenance

The following attestation bundles were made for manifold3d-3.0.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: build_wheels.yml on elalish/manifold

Attestations:

File details

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

File metadata

File hashes

Hashes for manifold3d-3.0.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 bdd47fafc2a97cb886182f4728ecf8f5bd478daaa6690556bf6377ed6181ba9f
MD5 d6de9e91fdf706de1e369758dbcb2d04
BLAKE2b-256 5dd3dc6aff54fe71f047fd7a93748c5e1e3196459a307e1ece405890cd6a90d3

See more details on using hashes here.

Provenance

The following attestation bundles were made for manifold3d-3.0.0-cp310-cp310-macosx_11_0_arm64.whl:

Publisher: build_wheels.yml on elalish/manifold

Attestations:

File details

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

File metadata

File hashes

Hashes for manifold3d-3.0.0-cp310-cp310-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 71b9459734392c1d62c0cc0cc4d8c939157d45cda295407d056bc5176c86fb6e
MD5 8f6d1f7c6f5ce4a8b1c536353f2e5553
BLAKE2b-256 101af45168a6415ed431c07915d838a6da1a0f813e9bccf17a2fc0c2e6a37049

See more details on using hashes here.

Provenance

The following attestation bundles were made for manifold3d-3.0.0-cp310-cp310-macosx_10_14_x86_64.whl:

Publisher: build_wheels.yml on elalish/manifold

Attestations:

File details

Details for the file manifold3d-3.0.0-cp310-cp310-macosx_10_14_universal2.whl.

File metadata

File hashes

Hashes for manifold3d-3.0.0-cp310-cp310-macosx_10_14_universal2.whl
Algorithm Hash digest
SHA256 08ecbff53ce73be66ff645ac9569057c90bbe924f519b8f75b08d11498801e77
MD5 f44f64b3310ebe298627b99902ab45a2
BLAKE2b-256 f5e7a9be4b9a9fb6819e08f85f1eb97218df6aa160e8d8ea7bf968b902398c38

See more details on using hashes here.

Provenance

The following attestation bundles were made for manifold3d-3.0.0-cp310-cp310-macosx_10_14_universal2.whl:

Publisher: build_wheels.yml on elalish/manifold

Attestations:

File details

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

File metadata

  • Download URL: manifold3d-3.0.0-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 915.2 kB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for manifold3d-3.0.0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 7e4ac940b9f0fbd91eeee7b96702eb5b2b714c7f12c081140aa104d280f462cf
MD5 ea10233cc739d7ea60fa7eb6ef96b8f6
BLAKE2b-256 6629402170c2fd730eb08cfcfb11da1c1be4a0ca8314d8453896ab020040eadc

See more details on using hashes here.

Provenance

The following attestation bundles were made for manifold3d-3.0.0-cp39-cp39-win_amd64.whl:

Publisher: build_wheels.yml on elalish/manifold

Attestations:

File details

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

File metadata

File hashes

Hashes for manifold3d-3.0.0-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 6a5825427d0cfe0b251a6fbc706fa54ae11da1fc8778ce1250f439f457e9f7b0
MD5 f20761f4c5dfa90c0611d73789a73be7
BLAKE2b-256 4d1aa2b3a2bcdefc01de8f8a3f719c6707ace68ca09433111fc5de4689b19b91

See more details on using hashes here.

Provenance

The following attestation bundles were made for manifold3d-3.0.0-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: build_wheels.yml on elalish/manifold

Attestations:

File details

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

File metadata

File hashes

Hashes for manifold3d-3.0.0-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 86a0b064c9d09e27a6273e126fa12490b1cefaab68f8f7140a4e97217d83acf6
MD5 5dea608d919b9ed9e75589343677dded
BLAKE2b-256 c91bd893b2e4f1928fdc5b95c0cc8b7e74b771abb4f31b6298cf60020577c0ee

See more details on using hashes here.

Provenance

The following attestation bundles were made for manifold3d-3.0.0-cp39-cp39-macosx_11_0_arm64.whl:

Publisher: build_wheels.yml on elalish/manifold

Attestations:

File details

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

File metadata

File hashes

Hashes for manifold3d-3.0.0-cp39-cp39-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 517d1762cb0accd762584e97426c35152d64dda69163e1b17b49d5c12fbb04a4
MD5 ecd4850b7f3070f8b38d622aae264cf0
BLAKE2b-256 ddd242ed4b551195e8daf6e4fb5407c6dec75ecfe5ae6c5e93544e31ee468dbb

See more details on using hashes here.

Provenance

The following attestation bundles were made for manifold3d-3.0.0-cp39-cp39-macosx_10_14_x86_64.whl:

Publisher: build_wheels.yml on elalish/manifold

Attestations:

File details

Details for the file manifold3d-3.0.0-cp39-cp39-macosx_10_14_universal2.whl.

File metadata

File hashes

Hashes for manifold3d-3.0.0-cp39-cp39-macosx_10_14_universal2.whl
Algorithm Hash digest
SHA256 8a74ab6dddeb72c49c7f891aaf0a817ea05e2e6f2be52bef1c8c66fbe396f300
MD5 74bc0050d1caaba08c28deed5a8c3512
BLAKE2b-256 4e09d179bdb2d7f442ebcdc9665061906209564ba6faf142f5f0c85df576b591

See more details on using hashes here.

Provenance

The following attestation bundles were made for manifold3d-3.0.0-cp39-cp39-macosx_10_14_universal2.whl:

Publisher: build_wheels.yml on elalish/manifold

Attestations:

File details

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

File metadata

  • Download URL: manifold3d-3.0.0-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 930.8 kB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for manifold3d-3.0.0-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 e7ee0364f54027ddc4d96e5eb08ac7a9a3ddd4cd47da9227cf571a5eece9dac3
MD5 2f7568751370b9a3268d971aff1f645d
BLAKE2b-256 4f8806f39f518c0457290ab80f6bde7e31cbaffc7f9888d2da6bb7b30f04e202

See more details on using hashes here.

Provenance

The following attestation bundles were made for manifold3d-3.0.0-cp38-cp38-win_amd64.whl:

Publisher: build_wheels.yml on elalish/manifold

Attestations:

File details

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

File metadata

File hashes

Hashes for manifold3d-3.0.0-cp38-cp38-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 eef9a969ea8a21098dcaae8ae15b04c499a00615a3aa43238e325b804c1c1529
MD5 e35befad7438488f4624623ea0d5b275
BLAKE2b-256 a3d28724afc7b0a373c1a11e1b6e958599ff525ff7629ba92aa98ce37a8f9089

See more details on using hashes here.

Provenance

The following attestation bundles were made for manifold3d-3.0.0-cp38-cp38-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: build_wheels.yml on elalish/manifold

Attestations:

File details

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

File metadata

File hashes

Hashes for manifold3d-3.0.0-cp38-cp38-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 8cabf7920cfd0df7774371d18af332727535d00db7af72dcff7b0f4718ea061e
MD5 7e6396db35e64cd3cdef86e9e9e069c6
BLAKE2b-256 bb7f7cc95aaa81fa0d5155dca0507bb9fdcaa357f2e179bf37b6f9a66af0367f

See more details on using hashes here.

Provenance

The following attestation bundles were made for manifold3d-3.0.0-cp38-cp38-macosx_11_0_arm64.whl:

Publisher: build_wheels.yml on elalish/manifold

Attestations:

File details

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

File metadata

File hashes

Hashes for manifold3d-3.0.0-cp38-cp38-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 c5535b3614a535262520c6df4057f7092ac79f3a0b7c9e5fb6ce06b1fdbdf87e
MD5 f4fb697a0c2e1a55d01ed5947043e1f1
BLAKE2b-256 76cbb6604a8930fd92a11bad26f317a455f25b1f8eddabe2ddcd739564c7bdce

See more details on using hashes here.

Provenance

The following attestation bundles were made for manifold3d-3.0.0-cp38-cp38-macosx_10_14_x86_64.whl:

Publisher: build_wheels.yml on elalish/manifold

Attestations:

File details

Details for the file manifold3d-3.0.0-cp38-cp38-macosx_10_14_universal2.whl.

File metadata

File hashes

Hashes for manifold3d-3.0.0-cp38-cp38-macosx_10_14_universal2.whl
Algorithm Hash digest
SHA256 e0077aa3b6c4a20299cc9056538f21d2c83ab3302c72d41ca7e7d7d9e9ee1cae
MD5 4fb9824d553d17e02a2b7eb64994487c
BLAKE2b-256 62ffad5c6357a51ed70091cf439cfd55c39a0504a26b10bfce24ab97119519df

See more details on using hashes here.

Provenance

The following attestation bundles were made for manifold3d-3.0.0-cp38-cp38-macosx_10_14_universal2.whl:

Publisher: build_wheels.yml on elalish/manifold

Attestations:

Supported by

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