pymeshlab
A Python interface to MeshLab
Decision gist · record as of 2026-08-14
Yes, if your project is GPL3-compatible and you need MeshLab's mesh processing capabilities in Python. The library is stable, actively maintained, and widely used. Install friction is moderate due to compiled wheels; verify platform and Python version support before committing. Not suitable for proprietary software without GPL3 compliance.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires a compatible Python version; compiled binary distribution may not be available for all platforms or architectures.
- Medium install friction due to compiled wheel distribution across multiple Python versions and platforms.
- Last release was 196 days ago; repository is active but maintenance status is aging.
License · maintenance · safety
GPL3 (copyleft) — PyMeshLab is released under GPL3, a copyleft license. Any derivative work or software that links this library must also be released under GPL3 or a compatible license, which may restrict use in proprietary projects.
last release 2026-01-30 (196 days) · last repo commit 2026-02-03 · 972 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 450,678 downloads/mo, #6,590 on PyPI
Alternatives
Verify before relying
pip install pymeshlab
import pymeshlab
ms = pymeshlab.MeshSet()
ms.load_new_mesh('airplane.obj')
ms.generate_convex_hull()
ms.save_current_mesh('convex_hull.ply')- Whether all MeshLab filters are exposed through the Python API or if some are unavailable.
- Performance characteristics and memory overhead when processing large meshes.
- Compatibility with Python versions beyond those with precompiled wheels.
What it is and what it does
PyMeshLab is a Python wrapper around MeshLab, a mature open-source 3D mesh editor. It allows you to load, manipulate, and save 3D triangle meshes programmatically using MeshLab's extensive filter library. The library depends only on numpy and is distributed as precompiled wheels for recent Python versions on macOS, Linux, and Windows.
Typical workflows involve creating a MeshSet, loading mesh files, applying filters like convex hull generation or noise creation, and saving the result. The API exposes MeshLab's filters as Python methods with configurable parameters, making batch processing and scripted mesh operations straightforward for researchers and developers working with 3D geometry.
Use it for
- Batch processing 3D models to generate convex hulls or simplified mesh representations.
- Automated mesh cleaning and repair workflows in 3D asset pipelines.
- Generating synthetic 3D data for machine learning training.
- Converting between different 3D mesh file formats with optional filtering.
- Programmatic mesh analysis and geometric feature extraction in research applications.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if your project is GPL3-compatible and you need MeshLab's mesh processing capabilities in Python.
The library is stable, actively maintained, and widely used. Install friction is moderate due to compiled wheels; verify platform and Python version support before committing. Not suitable for proprietary software without GPL3 compliance.
Install
pymeshlab on PyPI
Before you install
Medium install friction due to compiled wheel distribution across multiple Python versions and platforms. Last release was 196 days ago; repository is active but maintenance status is aging.
Requires a compatible Python version; compiled binary distribution may not be available for all platforms or architectures.
License in practice
PyMeshLab is released under GPL3, a copyleft license. Any derivative work or software that links this library must also be released under GPL3 or a compatible license, which may restrict use in proprietary projects.
Quickstart
pip install pymeshlab
import pymeshlab
ms = pymeshlab.MeshSet()
ms.load_new_mesh('airplane.obj')
ms.generate_convex_hull()
ms.save_current_mesh('convex_hull.ply')
Verify before relying
- Whether all MeshLab filters are exposed through the Python API or if some are unavailable.
- Performance characteristics and memory overhead when processing large meshes.
- Compatibility with Python versions beyond those with precompiled wheels.
Package facts
| License | GPL3 copyleft |
| Python support | Not specified |
| Install friction | Medium. Platform-specific wheel |
| Runtime dependencies | 1 packagenumpy |
| Maintenance | Aging 196 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 450,678 / month, #6,590 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
Evidence: pymeshlab-2025.7.post1-cp310-cp310-macosx_11_0_arm64.whl; pymeshlab-2025.7.post1-cp310-cp310-macosx_11_0_x86_64.whl; pymeshlab-2025.7.post1-cp310-cp310-manylinux_2_35_aarch64.whl; pymeshlab-2025.7.post1-cp310-cp310-manylinux_2_35_x86_64.whl; pymeshlab-2025.7.post1-cp310-cp310-win_amd64.whl; pymeshlab-2025.7.post1-cp311-cp311-macosx_11_0_arm64.whl; pymeshlab-2025.7.post1-cp311-cp311-macosx_11_0_x86_64.whl; pymeshlab-2025.7.post1-cp311-cp311-manylinux_2_35_aarch64.whl; pymeshlab-2025.7.post1-cp311-cp311-manylinux_2_35_x86_64.whl; pymeshlab-2025.7.post1-cp311-cp311-win_amd64.whl; pymeshlab-2025.7.post1-cp312-cp312-macosx_11_0_arm64.whl; pymeshlab-2025.7.post1-cp312-cp312-macosx_11_0_x86_64.whl; pymeshlab-2025.7.post1-cp312-cp312-manylinux_2_35_aarch64.whl; pymeshlab-2025.7.post1-cp312-cp312-manylinux_2_35_x86_64.whl; pymeshlab-2025.7.post1-cp312-cp312-win_amd64.whl; pymeshlab-2025.7.post1-cp313-cp313-macosx_11_0_arm64.whl; pymeshlab-2025.7.post1-cp313-cp313-macosx_11_0_x86_64.whl; pymeshlab-2025.7.post1-cp313-cp313-manylinux_2_35_aarch64.whl; pymeshlab-2025.7.post1-cp313-cp313-manylinux_2_35_x86_64.whl; pymeshlab-2025.7.post1-cp313-cp313-win_amd64.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 › “3D mesh processing python”
- pymeshlabPyMeshLab provides Python bindings to MeshLab, enabling programmatic…
- PyGEL3DPyGEL3D provides Python bindings for a C++ geometry processing…
- pipablepytorch3dPyTorch3D provides reusable components for 3D computer vision…
Give your agent the search over MCP, or paste the wish link into any chat.
More Graphics packages
Pillow adds image processing capabilities to Python, providing file format support, efficient pixel data handling, and image manipulation operations.
Install it if you need to work with images in Python—it is the de facto standard for this task.
fonttools manipulates font files in multiple formats (TrueType, OpenType, AFM, Type 1, Mac-specific) and includes TTX, a tool to convert fonts to and from XML text format.
Install it if you need to read, write, or manipulate fonts programmatically or via the TTX command-line tool.
Enables matplotlib figures to display inline directly within Jupyter notebooks and IPython environments instead of in separate windows.
PyMuPDF extracts, renders, converts, and manipulates PDF and other document formats (XPS, EPUB, images, Office files via Pro) with high performance, providing text, tables, images, and metadata with precise layout information.
The AGPL license requires careful review if you are building proprietary software—commercial licensing is available from Artifex.
pypdfium2 is a Python binding to PDFium that enables PDF rendering, inspection, manipulation, and creation through a ctypes interface to Google's PDFium library.
Install it if you need PDF rendering, inspection, or manipulation in Python; the medium install friction is offset by comprehensive platform support.
Altair is a declarative Python library for creating interactive statistical visualizations by writing simple, readable code that compiles to Vega-Lite specifications.
See also PyGEL3D · manifold3d · pymeshfix · pipablepytorch3d · xatlas · triangle · vhacdx · cytriangle · trimesh · fast-simplification