vhacdx
Python bindings for VHACD
Decision gist · record as of 2026-08-14
Yes, if you need convex mesh decomposition and can tolerate an aging package with unclear licensing. The prebuilt wheels make installation straightforward, NumPy is the only dependency, and there are no known security vulnerabilities. However, verify the upstream license terms before use in proprietary work, and be prepared for minimal maintenance support if issues arise.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires NumPy; input points must be (N, 3) float64 array and faces must be a flat uint32 array with length 3× number of faces.
- Medium install friction due to compiled wheels; prebuilt binaries exist for Python 3.10–3.12 on macOS, Linux, and Windows, but the package is aging (255 days since last release) with minimal maintenance activity and only 4 repository stars.
License · maintenance · safety
(unclear) — License status is unclear—no SPDX identifier or raw license text is declared. Verify the upstream V-HACD and pyVHACD fork licenses before using in proprietary or copyleft-sensitive projects.
last release 2025-12-02 (255 days) · last repo commit 2025-12-02 · 4 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 2,581,330 downloads/mo, #2,987 on PyPI
Alternatives
Verify before relying
import numpy as np
from vhacdx import compute_vhacd
points = np.array([[0, 0, 0], [1, 0, 0], [0, 1, 0]], dtype=np.float64)
faces = np.array([0, 1, 2], dtype=np.uint32)
convex_hulls = compute_vhacd(points, faces)- Upstream V-HACD algorithm performance characteristics and decomposition quality trade-offs.
- Whether the package is actively maintained or if the 255-day gap represents abandonment.
- Exact license terms of V-HACD and the pyVHACD fork that vhacdx is based on.
What it is and what it does
vhacdx is a thin Python wrapper around the V-HACD convex decomposition algorithm, designed to break complex triangle meshes into simpler convex shapes. It exposes a single function, `compute_vhacd()`, that accepts mesh geometry as NumPy arrays (vertex coordinates and face indices) and returns a list of convex hull pairs representing an approximate decomposition. The package depends only on NumPy and is distributed as precompiled wheels for recent Python versions across major platforms.
The primary use case is 3D geometry processing where convex decomposition is needed—typically in physics simulation, collision detection, or mesh simplification pipelines. Because it wraps a C++ algorithm, performance is reasonable for moderate mesh sizes, but the package shows signs of minimal maintenance: the repository has only 4 stars, the last release was 255 days ago, and no license metadata is declared, creating uncertainty about legal use.
Use it for
- Physics engine collision detection: decompose complex meshes into convex shapes for faster collision queries.
- 3D model preprocessing: simplify mesh geometry for real-time rendering or simulation.
- CAD/CAM workflows: generate convex approximations of parts for manufacturing or assembly analysis.
- Game engine asset preparation: convert imported 3D models into convex-decomposed collision meshes.
- Robotics path planning: decompose obstacle meshes into convex regions for motion planning algorithms.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you need convex mesh decomposition and can tolerate an aging package with unclear licensing.
The prebuilt wheels make installation straightforward, NumPy is the only dependency, and there are no known security vulnerabilities. However, verify the upstream license terms before use in proprietary work, and be prepared for minimal maintenance support if issues arise.
Install
vhacdx on PyPI
Before you install
Medium install friction due to compiled wheels; prebuilt binaries exist for Python 3.10–3.12 on macOS, Linux, and Windows, but the package is aging (255 days since last release) with minimal maintenance activity and only 4 repository stars.
Requires NumPy; input points must be (N, 3) float64 array and faces must be a flat uint32 array with length 3× number of faces.
License in practice
License status is unclear—no SPDX identifier or raw license text is declared. Verify the upstream V-HACD and pyVHACD fork licenses before using in proprietary or copyleft-sensitive projects.
Quickstart
import numpy as np
from vhacdx import compute_vhacd
points = np.array([[0, 0, 0], [1, 0, 0], [0, 1, 0]], dtype=np.float64)
faces = np.array([0, 1, 2], dtype=np.uint32)
convex_hulls = compute_vhacd(points, faces)
Verify before relying
- Upstream V-HACD algorithm performance characteristics and decomposition quality trade-offs.
- Whether the package is actively maintained or if the 255-day gap represents abandonment.
- Exact license terms of V-HACD and the pyVHACD fork that vhacdx is based on.
Package facts
| License | Not declared unclear |
| Python support | Supports the current Python release >=3.7 |
| Install friction | Medium. Platform-specific wheel |
| Runtime dependencies | 1 packagenumpy |
| Maintenance | Aging 255 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 2,581,330 / month, #2,987 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
Evidence: vhacdx-0.0.10-cp310-cp310-macosx_10_9_x86_64.whl; vhacdx-0.0.10-cp310-cp310-macosx_11_0_arm64.whl; vhacdx-0.0.10-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl; vhacdx-0.0.10-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl; vhacdx-0.0.10-cp310-cp310-musllinux_1_2_aarch64.whl; vhacdx-0.0.10-cp310-cp310-musllinux_1_2_x86_64.whl; vhacdx-0.0.10-cp310-cp310-win_amd64.whl; vhacdx-0.0.10-cp311-cp311-macosx_10_9_x86_64.whl; vhacdx-0.0.10-cp311-cp311-macosx_11_0_arm64.whl; vhacdx-0.0.10-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl; vhacdx-0.0.10-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl; vhacdx-0.0.10-cp311-cp311-musllinux_1_2_aarch64.whl; vhacdx-0.0.10-cp311-cp311-musllinux_1_2_x86_64.whl; vhacdx-0.0.10-cp311-cp311-win_amd64.whl; vhacdx-0.0.10-cp312-cp312-macosx_10_13_x86_64.whl; vhacdx-0.0.10-cp312-cp312-macosx_11_0_arm64.whl; vhacdx-0.0.10-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl; vhacdx-0.0.10-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl; vhacdx-0.0.10-cp312-cp312-musllinux_1_2_aarch64.whl; vhacdx-0.0.10-cp312-cp312-musllinux_1_2_x86_64.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “convex decomposition mesh”
- vhacdxComputes approximate convex decomposition of triangle meshes by…
- trimeshTrimesh loads, manipulates, and analyzes triangular mesh geometry in…
- pymeshlabPyMeshLab provides Python bindings to MeshLab, enabling programmatic…
Give your agent the search over MCP, or paste the wish link into any chat.
More Scientific/Engineering packages
NumPy provides an N-dimensional array object and a comprehensive suite of mathematical, linear algebra, Fourier transform, and random number functions for scientific computing in Python.
pandas provides fast, flexible data structures (Series and DataFrame) for loading, cleaning, transforming, and analyzing labeled or relational data in Python.
scipy provides numerical algorithms for mathematics, science, and engineering—including optimization, integration, linear algebra, Fourier transforms, signal and image processing, and ODE solvers—built on numpy arrays.
scikit-learn provides a comprehensive Python library for supervised and unsupervised machine learning, including classification, regression, clustering, dimensionality reduction, and model evaluation tools built on NumPy and SciPy.
Install it if you need to train, evaluate, or deploy supervised or unsupervised learning models.
dill extends Python's pickle module to serialize and deserialize a much wider range of Python objects, including functions, lambdas, classes, and interpreter sessions, to byte streams for storage or network transmission.
Multiprocess is an enhanced fork of Python's standard multiprocessing library that uses dill for better serialization, allowing you to spawn processes with a threading-like API and share complex objects between them.
Install it if you use multiprocessing and encounter pickle serialization limits with lambdas or complex objects.
See also manifold3d · xatlas · trimesh · fast-simplification · alphashape · cmeel-qhull · pytetwild · pymeshfix · pymeshlab · bermuda