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
Babylon.js trimesh Gypsum
Valence 3D bitbybit.dev

Bindings & Packages

Manifold has bindings to many other languages, some maintained in this repository, and others elsewhere. It can also be built in C++ via vcpkg.

Language Packager Name Maintenance
C N/A N/A internal
C++ vcpkg manifold external
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

Note: While we support compiling with MANIFOLD_PAR=ON in recent emscripten versions, this is not recommended as there can potentially be memory corruption issues.

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=MinSizeRel .. && 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.1.tar.gz (257.6 kB view details)

Uploaded Source

Built Distributions

manifold3d-3.0.1-cp313-cp313-win_amd64.whl (921.0 kB view details)

Uploaded CPython 3.13 Windows x86-64

manifold3d-3.0.1-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.1-cp313-cp313-macosx_11_0_arm64.whl (709.7 kB view details)

Uploaded CPython 3.13 macOS 11.0+ ARM64

manifold3d-3.0.1-cp313-cp313-macosx_10_14_x86_64.whl (825.7 kB view details)

Uploaded CPython 3.13 macOS 10.14+ x86-64

manifold3d-3.0.1-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.1-cp312-cp312-win_amd64.whl (921.0 kB view details)

Uploaded CPython 3.12 Windows x86-64

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

Uploaded CPython 3.12 macOS 11.0+ ARM64

manifold3d-3.0.1-cp312-cp312-macosx_10_14_x86_64.whl (825.7 kB view details)

Uploaded CPython 3.12 macOS 10.14+ x86-64

manifold3d-3.0.1-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.1-cp311-cp311-win_amd64.whl (921.4 kB view details)

Uploaded CPython 3.11 Windows x86-64

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

Uploaded CPython 3.11 macOS 11.0+ ARM64

manifold3d-3.0.1-cp311-cp311-macosx_10_14_x86_64.whl (825.6 kB view details)

Uploaded CPython 3.11 macOS 10.14+ x86-64

manifold3d-3.0.1-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.1-cp310-cp310-win_amd64.whl (909.0 kB view details)

Uploaded CPython 3.10 Windows x86-64

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

Uploaded CPython 3.10 macOS 11.0+ ARM64

manifold3d-3.0.1-cp310-cp310-macosx_10_14_x86_64.whl (813.2 kB view details)

Uploaded CPython 3.10 macOS 10.14+ x86-64

manifold3d-3.0.1-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.1-cp39-cp39-win_amd64.whl (910.0 kB view details)

Uploaded CPython 3.9 Windows x86-64

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

Uploaded CPython 3.9 macOS 11.0+ ARM64

manifold3d-3.0.1-cp39-cp39-macosx_10_14_x86_64.whl (813.4 kB view details)

Uploaded CPython 3.9 macOS 10.14+ x86-64

manifold3d-3.0.1-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.1-cp38-cp38-win_amd64.whl (925.5 kB view details)

Uploaded CPython 3.8 Windows x86-64

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

Uploaded CPython 3.8 macOS 11.0+ ARM64

manifold3d-3.0.1-cp38-cp38-macosx_10_14_x86_64.whl (812.5 kB view details)

Uploaded CPython 3.8 macOS 10.14+ x86-64

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

File metadata

  • Download URL: manifold3d-3.0.1.tar.gz
  • Upload date:
  • Size: 257.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.0.1 CPython/3.12.8

File hashes

Hashes for manifold3d-3.0.1.tar.gz
Algorithm Hash digest
SHA256 92a83bd16315a5e0310c5af3cd29a2c3319b0b06611608069e2a1da3d187eff5
MD5 0ceaf0083df75126b21907c00f47b2f3
BLAKE2b-256 e23fff77f046b1aa9acb305e936340904848b35405bf3a77598c93304d0e8774

See more details on using hashes here.

Provenance

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

Publisher: build_wheels.yml on elalish/manifold

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

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

File metadata

File hashes

Hashes for manifold3d-3.0.1-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 75736974f21ccadf74db9cbe33931b93a8d4218ffa6d25b218e2dde543de08a6
MD5 1a85747140a6ee17b6e51d65941979d0
BLAKE2b-256 44ab4c61fe57db8c08c1ad096cdbb8ba73db68a897143c52bbd852d263035b92

See more details on using hashes here.

Provenance

The following attestation bundles were made for manifold3d-3.0.1-cp313-cp313-win_amd64.whl:

Publisher: build_wheels.yml on elalish/manifold

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

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

File metadata

File hashes

Hashes for manifold3d-3.0.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 ce333f44c237e0273b3a035afae7cda2eab1fb3d5212bf5ac52bb6ba4d63a40d
MD5 890f78fadfa9029864de1e069effbbf8
BLAKE2b-256 7bb3e7ff2ada0e513e2a28f0965b7e2f3be19d841d941f369f1775112c74fefa

See more details on using hashes here.

Provenance

The following attestation bundles were made for manifold3d-3.0.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: build_wheels.yml on elalish/manifold

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

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

File metadata

File hashes

Hashes for manifold3d-3.0.1-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 32a15a2fbaecb9beb61f9b7813f8946b999f6bc6f63787c3438d08f5143dc618
MD5 9530a98723687b772f71daba317547df
BLAKE2b-256 e928f9f3011371cc28f787fafa8af57e7bdf5d41754b9f2b500a72ed92165c9d

See more details on using hashes here.

Provenance

The following attestation bundles were made for manifold3d-3.0.1-cp313-cp313-macosx_11_0_arm64.whl:

Publisher: build_wheels.yml on elalish/manifold

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

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

File metadata

File hashes

Hashes for manifold3d-3.0.1-cp313-cp313-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 01fb0a51826afe12e56dbfdf8881fd95b10f81d6a895363bb9ec9569fcd9b7dc
MD5 1651fe404f82bdf9bee7a6c617c292a3
BLAKE2b-256 d63a361cf42226ad7f24d6bcde5ef4a27d2a468796917bffd480af75e24b9cfc

See more details on using hashes here.

Provenance

The following attestation bundles were made for manifold3d-3.0.1-cp313-cp313-macosx_10_14_x86_64.whl:

Publisher: build_wheels.yml on elalish/manifold

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

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

File metadata

File hashes

Hashes for manifold3d-3.0.1-cp313-cp313-macosx_10_14_universal2.whl
Algorithm Hash digest
SHA256 1f1a2519b23116239f50a181e8fbae0c9eeebbd2e816b836e98f78a8533d3885
MD5 b595dd0748213dd428c5e8ae22787f40
BLAKE2b-256 ccf2fdcdf19846a83e61da9af585f57884b4cf5129e7cc9acb193dedcf777520

See more details on using hashes here.

Provenance

The following attestation bundles were made for manifold3d-3.0.1-cp313-cp313-macosx_10_14_universal2.whl:

Publisher: build_wheels.yml on elalish/manifold

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

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

File metadata

File hashes

Hashes for manifold3d-3.0.1-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 f6399fc5662e51733249f05c503c9ed828ce8c435c6438e65a0367afc7cbe674
MD5 8fae80122c7ba7c068963efcf1860daa
BLAKE2b-256 309a503a0e6a0ec72f0615c0cdc112fcb03a79b838042fc69c3d2b5b43fbefde

See more details on using hashes here.

Provenance

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

Publisher: build_wheels.yml on elalish/manifold

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

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

File metadata

File hashes

Hashes for manifold3d-3.0.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 ec2ddef6c9fd1b31d348beb499a5771e733abf962d5cd52264aa80f82faf0544
MD5 466174a5a872859edd56292ffd927092
BLAKE2b-256 bc2ca25117175bd6306521ad03abbcd392fce235fefe3e1138c3d834e0c64ee1

See more details on using hashes here.

Provenance

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

Publisher: build_wheels.yml on elalish/manifold

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

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

File metadata

File hashes

Hashes for manifold3d-3.0.1-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d7a7e0a22466176b055f77b03b2e7335053a6a82d8af436c02ffc468147baa1c
MD5 456839ad2c022250c0596ed7a7e29cc2
BLAKE2b-256 8f6dd7bb260de9d23e623188bfccfcba49ddc6df4df1e9355964b10c4e41f1e8

See more details on using hashes here.

Provenance

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

Publisher: build_wheels.yml on elalish/manifold

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

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

File metadata

File hashes

Hashes for manifold3d-3.0.1-cp312-cp312-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 6a69b972062e126b4609ac9e6312cb81dc039267f90c44c1cdd8ebb1850f74a4
MD5 188c23443c48050ffd725627e048fcac
BLAKE2b-256 9b7848e2cb82320df336efe31dd926b42be8fe45f62718bfc0484ebc4449432c

See more details on using hashes here.

Provenance

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

Publisher: build_wheels.yml on elalish/manifold

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

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

File metadata

File hashes

Hashes for manifold3d-3.0.1-cp312-cp312-macosx_10_14_universal2.whl
Algorithm Hash digest
SHA256 8a4c689583e121eb1589fcdb5fc68262cd7588c1694517436e9b235e5d4fd731
MD5 b3d6fa9dcf5cd713e0ff00e90ba465a1
BLAKE2b-256 1b10181d37da13b4e45b5f4e669fe7f37c6c2332b8c388db33e9f8f69a1b03e6

See more details on using hashes here.

Provenance

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

Publisher: build_wheels.yml on elalish/manifold

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

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

File metadata

File hashes

Hashes for manifold3d-3.0.1-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 ffabe48457c085a67b1eca416900fc000c723cf737441cb77043455f7faf1685
MD5 fbf6031a6e23a3aac019b6035f2df020
BLAKE2b-256 aeba568f597b66a644f13b6da008ab9b02c2027102940aa18754ed171e6e3175

See more details on using hashes here.

Provenance

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

Publisher: build_wheels.yml on elalish/manifold

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

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

File metadata

File hashes

Hashes for manifold3d-3.0.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 dfcf3fee352047c637300077c734306f747caf331cb392dbc604b6121607cca0
MD5 1d4ba9d192aab797f80fd8901a298541
BLAKE2b-256 31413756f6eb0c0771cdfaaba6f66e9d2b715db16389987a14cd7f315be642e7

See more details on using hashes here.

Provenance

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

Publisher: build_wheels.yml on elalish/manifold

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

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

File metadata

File hashes

Hashes for manifold3d-3.0.1-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 48f381a642d26462819aac7af2b2e37a26768e065170fd220bf69fcc0fde4040
MD5 8571b7c144929e2d163d3e55c9e2006e
BLAKE2b-256 895a43d53544ad13085be8d8e17fe183af388efa14f9f6b6404afd99f6f65880

See more details on using hashes here.

Provenance

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

Publisher: build_wheels.yml on elalish/manifold

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

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

File metadata

File hashes

Hashes for manifold3d-3.0.1-cp311-cp311-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 19612a38681a6b24666d12d24e0da95f506ff0693a72d72d67b6d0b8faca997e
MD5 db324121a674b21679752d7531f273d2
BLAKE2b-256 4e67e58da22edf28357b9a290f5fbc4c2da40f5eb4f07559c6ad3b940456b0df

See more details on using hashes here.

Provenance

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

Publisher: build_wheels.yml on elalish/manifold

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

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

File metadata

File hashes

Hashes for manifold3d-3.0.1-cp311-cp311-macosx_10_14_universal2.whl
Algorithm Hash digest
SHA256 8f143eb21d70ac89b0519c013b622a80521408a9b31956008c019e9d6cf3cb02
MD5 7dbe827deb91e9ba2095132d27c32fd0
BLAKE2b-256 227b5125ad66c23f5bd1030c4faca144a140999be63ae4ebfe001a70b813b99d

See more details on using hashes here.

Provenance

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

Publisher: build_wheels.yml on elalish/manifold

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

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

File metadata

File hashes

Hashes for manifold3d-3.0.1-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 3003364fdf38f8611a0c641c3ba88c532dfc2d82f885feaa3ddf55721c269907
MD5 b250f27daf52fc5d784469a86345b05e
BLAKE2b-256 32a451930d9ef764069be40ef7621cb20bddd5e8bb1ffbf2bbf75e91f980954d

See more details on using hashes here.

Provenance

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

Publisher: build_wheels.yml on elalish/manifold

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

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

File metadata

File hashes

Hashes for manifold3d-3.0.1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 d557345b11088721c6d1a89bb2e4942da886ac8d0aecafa721dc224be189f03c
MD5 8da0aad80248fc4b0c60b084b4170fd6
BLAKE2b-256 edba79a40b257b5b4a03840f22361cf567d28c73ca8e5b86206ae585d986a342

See more details on using hashes here.

Provenance

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

Publisher: build_wheels.yml on elalish/manifold

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

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

File metadata

File hashes

Hashes for manifold3d-3.0.1-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 295ccee343c934cf30d8428305ada198510bffd73d8b81edf23264be094dc154
MD5 2d48d7c9c76364bc4754beee8fc7acb3
BLAKE2b-256 7bea39acd7c6d1380764f1cd15868e4ca2cbb4db4ff4f910d6f5b18710250636

See more details on using hashes here.

Provenance

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

Publisher: build_wheels.yml on elalish/manifold

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

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

File metadata

File hashes

Hashes for manifold3d-3.0.1-cp310-cp310-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 04c87b0a692e11760a881d65c34a9d3049bae2d53a1fbc8e50002fd31ddf8a11
MD5 d31120aaa09e03b4d753cb69413fbd43
BLAKE2b-256 0cf7421930fad8c49d073efea5e88e5ea7b4761acfcb2ba160fc0c124b02ec16

See more details on using hashes here.

Provenance

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

Publisher: build_wheels.yml on elalish/manifold

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

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

File metadata

File hashes

Hashes for manifold3d-3.0.1-cp310-cp310-macosx_10_14_universal2.whl
Algorithm Hash digest
SHA256 dacecf291d1adcf52f260d45b77929442092c1210851d32b288abc8e48be70f1
MD5 02eb088b635ee15d47b051645edda6e8
BLAKE2b-256 5e16611aa7b21a845ec685f6b80ecbd2a1360ebd0863d87a564a519f00678db1

See more details on using hashes here.

Provenance

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

Publisher: build_wheels.yml on elalish/manifold

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

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

File metadata

  • Download URL: manifold3d-3.0.1-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 910.0 kB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.0.1 CPython/3.12.8

File hashes

Hashes for manifold3d-3.0.1-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 c970653292ac2802b6a5ac3c9c4cef3f7d0d71be13e8b713ad8879c5ffca8881
MD5 69ecd8f86add2b7fe98e8b7a5083e4f5
BLAKE2b-256 9a6d7384f8e014b6882ddeb4ea8f87f04eec9aaef0670058041a2252b5a2d99a

See more details on using hashes here.

Provenance

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

Publisher: build_wheels.yml on elalish/manifold

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

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

File metadata

File hashes

Hashes for manifold3d-3.0.1-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 33f26964186421b62ff9c2402852296816945a493e4e6a45ba6a0db356af28f6
MD5 6953a4616d6a2abc630002cd05aa4dc9
BLAKE2b-256 f4a218c5f018d8ecf1df6437954cb82a5b63c92677d4dcaddd6208bb02bb36a8

See more details on using hashes here.

Provenance

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

Publisher: build_wheels.yml on elalish/manifold

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

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

File metadata

File hashes

Hashes for manifold3d-3.0.1-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 31fdeb27d413f3029c38bd2d93363aa279483480292a24db85c6e2ec3faed73b
MD5 394698ede5f42546ba727791f57a2b97
BLAKE2b-256 534bb05ee37d6c1ae19a32f8281beaa4556da68fa62d3ac65845babb66d0d73e

See more details on using hashes here.

Provenance

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

Publisher: build_wheels.yml on elalish/manifold

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

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

File metadata

File hashes

Hashes for manifold3d-3.0.1-cp39-cp39-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 39c7d277d0d2522de7947c465a9cd64cdc591f3f652d65064a76de3624f5e5f4
MD5 6b4291a43888c3eb3149ad248b8b7dc3
BLAKE2b-256 e3a7fc627df1898ecdc042c53a6fabf39a2bbe332a206019a58f070be9f51929

See more details on using hashes here.

Provenance

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

Publisher: build_wheels.yml on elalish/manifold

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

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

File metadata

File hashes

Hashes for manifold3d-3.0.1-cp39-cp39-macosx_10_14_universal2.whl
Algorithm Hash digest
SHA256 b6c39c17d4edfbc177dcece41e7db1cff46be0245805725d822bf06c76b1ebe4
MD5 73f5b74db2784957682ba277be6c084c
BLAKE2b-256 603abe7976ded4fd8e1b5e54b6b53fda5a99104317be41ad6fc17bb17e695d74

See more details on using hashes here.

Provenance

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

Publisher: build_wheels.yml on elalish/manifold

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

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

File metadata

  • Download URL: manifold3d-3.0.1-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 925.5 kB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.0.1 CPython/3.12.8

File hashes

Hashes for manifold3d-3.0.1-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 aabe64b13126154a0050f171e582b6b23db39931732b11fc9ac20a104ce24728
MD5 1d25259b2eed6fe0f736f81df84574e0
BLAKE2b-256 7769b5d658f04c7a4ad0193109dcce3cbf07459f9a9c2bd5837196cd68411e41

See more details on using hashes here.

Provenance

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

Publisher: build_wheels.yml on elalish/manifold

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

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

File metadata

File hashes

Hashes for manifold3d-3.0.1-cp38-cp38-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 fa7e2d4237a448665e7b29bacca5683a96155be4e408d4a5d098339bbc464b80
MD5 0e6e3921e8962aaee2c0eae2e2a82878
BLAKE2b-256 2123f9cc8f88f7f1e8d8c6b5324171929c9cc53925ba83e8d2296bd24b72ecfa

See more details on using hashes here.

Provenance

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

Publisher: build_wheels.yml on elalish/manifold

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

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

File metadata

File hashes

Hashes for manifold3d-3.0.1-cp38-cp38-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 65c02aa644448e3c5775d4faea3d65b271e5b1ba68807e661b9aba228a536b83
MD5 1f9ac9f607addd78c52ebcb123b43ff1
BLAKE2b-256 31201b273efb992ea10e12d4f3b0c66280d4522f103858d2a3f0f1c3e546d367

See more details on using hashes here.

Provenance

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

Publisher: build_wheels.yml on elalish/manifold

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

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

File metadata

File hashes

Hashes for manifold3d-3.0.1-cp38-cp38-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 47f224bcebfaa50623bba1c4020e06b84c4156826d36417041f90280a2c43631
MD5 c24d993fb076839edfd08b927fb1df87
BLAKE2b-256 47de2dad00969915712634de61c779b2163df4203686f1cb3f132967ccf54226

See more details on using hashes here.

Provenance

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

Publisher: build_wheels.yml on elalish/manifold

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

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

File metadata

File hashes

Hashes for manifold3d-3.0.1-cp38-cp38-macosx_10_14_universal2.whl
Algorithm Hash digest
SHA256 eb6d117cef1bdcd84944b5f1dc4e92c70474590bab96f503aafdc086cd4328b3
MD5 ab4a1260620395ee5a6a0366ff1d2738
BLAKE2b-256 475329bbc3a52d88450f12229aa8ebdb91058b83243d1e615cc74fbf95af9209

See more details on using hashes here.

Provenance

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

Publisher: build_wheels.yml on elalish/manifold

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

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