manifold3d
Library for geometric robustness
What it is and what it does
Manifold3d is a Python binding to a C++ geometry library for creating and manipulating manifold triangle meshes—meshes that represent solid, watertight 3D objects. It is designed for CAD, manufacturing, 3D printing, and structural analysis workflows where mesh validity is critical. The library guarantees manifold output from its operations, eliminating a long-standing open problem in mesh Boolean operations (union, intersection, difference). It supports constructive solid geometry workflows, arbitrary vertex properties, material mapping, and a suite of mesh refinement and smoothing functions.
The package depends only on numpy and has no other required dependencies. It ships with precompiled wheels for current Python versions on macOS (Intel and ARM), Linux (x86_64 and aarch64), and Windows, making installation straightforward on modern systems. The library is actively maintained, with recent releases and integration into projects like OpenSCAD, Blender, Godot Engine, and Babylon.js.
Use it for:
- Perform robust Boolean operations (union, intersection, difference) on 3D meshes for CAD and design automation.
- Generate watertight manifold meshes from signed-distance functions (SDFs) as an alternative to Marching Cubes.
- Prepare 3D models for 3D printing by ensuring mesh validity and combining multiple objects with guaranteed manifold output.
- Smooth and refine triangle meshes while preserving sharp edges and controlling curvature for rendering or analysis.
- Combine geometry from multiple sources with unique materials and track object/face provenance using mesh IDs.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Manifold3d creates and operates on manifold triangle meshes—solid 3D geometry guaranteed to be topologically valid—with support for mesh Boolean operations, smoothing, and arbitrary vertex properties.
Yes. Manifold3d is a mature, actively maintained library (Production/Stable status, 2220 GitHub stars) with no known vulnerabilities, permissive licensing, and straightforward installation via prebuilt wheels. Install it if you need reliable mesh Boolean operations, CAD workflows, or 3D printing preparation; skip it if you only need basic mesh I/O or visualization.
Install
manifold3d on PyPI
pip
pip install manifold3duv
uv add manifold3dpoetry
poetry add manifold3dInstalling manifold3d
Before you install
Medium install friction due to compiled wheels; however, prebuilt binaries are available for current Python versions across macOS, Linux, and Windows, and the package is actively maintained with a recent release.
License in practice
Licensed under Apache Software License (permissive), allowing use in both open-source and commercial projects with minimal restrictions.
Quickstart
pip install manifold3d
import manifold3d as m3d
import numpy as np
# Create a simple cube and sphere, then compute their union
cube = m3d.Manifold.cube()
sphere = m3d.Manifold.sphere()
union_mesh = cube + sphere # Boolean union
Requires Python 3.9 or later; precompiled wheels available for current Python versions on common platforms (macOS, Linux, Windows).
Verify before relying
- Whether the package's mesh repair capabilities can handle all common non-manifold input formats without manual preprocessing.
- Performance characteristics and parallelization benefits when running on systems without TBB enabled.
- Specific Python versions supported beyond the minimum requirement of 3.9.
Package facts
| License | not declared (permissive) |
| Python support | supports the current Python release (>=3.9) |
| Install friction | medium — platform-specific wheel |
| Runtime dependencies | 1 — numpy |
| Maintenance | actively maintained — 48 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 3,097,205/month — #2,756 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: manifold3d-3.5.2-cp310-cp310-macosx_10_14_universal2.whl; manifold3d-3.5.2-cp310-cp310-macosx_10_14_x86_64.whl; manifold3d-3.5.2-cp310-cp310-macosx_11_0_arm64.whl; manifold3d-3.5.2-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl; manifold3d-3.5.2-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl; manifold3d-3.5.2-cp310-cp310-win_amd64.whl; manifold3d-3.5.2-cp311-cp311-macosx_10_14_universal2.whl; manifold3d-3.5.2-cp311-cp311-macosx_10_14_x86_64.whl; manifold3d-3.5.2-cp311-cp311-macosx_11_0_arm64.whl; manifold3d-3.5.2-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl; manifold3d-3.5.2-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl; manifold3d-3.5.2-cp311-cp311-win_amd64.whl; manifold3d-3.5.2-cp312-cp312-macosx_10_14_universal2.whl; manifold3d-3.5.2-cp312-cp312-macosx_10_14_x86_64.whl; manifold3d-3.5.2-cp312-cp312-macosx_11_0_arm64.whl; manifold3d-3.5.2-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl; manifold3d-3.5.2-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl; manifold3d-3.5.2-cp312-cp312-win_amd64.whl; manifold3d-3.5.2-cp313-cp313-macosx_10_14_universal2.whl; manifold3d-3.5.2-cp313-cp313-macosx_10_14_x86_64.whl
Tags
More 3D Modeling packages
Trimesh loads, manipulates, and analyzes…
permissive · top 5,000 on PyPI
vtkVTK is a 3D graphics, image processing, and…
permissive · top 5,000 on PyPI
open3dOpen3D provides data structures and algorithms…
permissive · top 5,000 on PyPI
cascadioConverts STEP files to GLB (glTF binary) format…
unclear · top 15,000 on PyPI
dcc-mcp-coredcc-mcp-core provides a Rust-powered control…
permissive · top 15,000 on PyPI
dcc-mcp-serverDistributes a Rust-compiled CLI binary that…
permissive · top 15,000 on PyPI
pymeshfixPyMeshFix repairs triangular meshes by removing…
agpl · top 15,000 on PyPI
vhacdxComputes approximate convex decomposition of…
unclear · top 5,000 on PyPI
build123dbuild123d is a Python CAD framework for…
permissive · top 15,000 on PyPI
pipablepytorch3dPyTorch3D provides reusable components for 3D…
permissive · top 5,000 on PyPI
pymeshlabPyMeshLab provides Python bindings to MeshLab,…
copyleft · top 15,000 on PyPI
PyGEL3DPyGEL3D provides Python bindings for a C++…
permissive · top 15,000 on PyPI
xatlasGenerates UV texture coordinates for 3D…
permissive · top 15,000 on PyPI
triangleTriangle wraps Jonathan Richard Shewchuk's C…
copyleft · top 15,000 on PyPI
cadqueryCadQuery is a Python library for writing…
permissive · top 15,000 on PyPI