skillfed

pymeshlab

A Python interface to MeshLab

pymeshlab v2025.7.post1 450.7K downloads/30d#6,590 on PyPI972
Copyleft license GPL3 AGING released

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

PyMeshLab provides Python bindings to MeshLab, enabling programmatic loading, processing, and saving of 3D triangle meshes with access to MeshLab's filtering and manipulation operations.

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

pip

pip install pymeshlab

uv

uv add pymeshlab

poetry

poetry add pymeshlab

Installing pymeshlab

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.

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')

Requires a compatible Python version; compiled binary distribution may not be available for all platforms or architectures.

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 — numpy
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

3D mesh processing pythontriangle mesh editing librarymeshlab python bindings3D geometry manipulationmesh filtering and conversion
3d-graphicsmesh-processinggeometry

More Graphics packages