--- id: pygel3d version: "0.7.0" license: MIT license_treatment: permissive maintenance: active --- # PyGEL3D — PyGEL 3D (Python Bindings for GEL) contains tools for polygonal mesh based geometry processing License: permissive · Maintenance: active · Downloads: 87.8K/mo ## What it is and what it does PyGEL3D is a Python interface to GEL, a C++ geometry processing toolkit designed for computer graphics. It exposes a half-edge polygonal mesh data structure with extensive mesh modification methods, spatial data structures (BSP trees, bounding box hierarchies, kD-trees), voxel grids, and a linear algebra library for small vectors and matrices. The package includes specialized algorithms like Local Separator Skeletonization (for meshes, voxel data, and point clouds), Inverse Skeletonization via Face Extrusion Quad meshes, Garland-Heckbert mesh simplification, signed distance field computation, and topological analysis. Visualization is built in: PyGEL3D can render 3D geometry using OpenGL in standalone mode or via plotly widgets in Jupyter notebooks, with exported HTML preserving the interactive 3D view. This makes it useful for teaching geometry processing and exploratory work in notebooks. The library depends on numpy, plotly, and scipy at runtime, and requires OpenGL and GLFW system libraries for graphics support. Use it for: - Simplify and optimize triangle meshes using Garland-Heckbert simplification or edge-flipping optimization. - Extract skeletons from 3D meshes, voxel grids, or point clouds using Local Separator Skeletonization for shape analysis. - Compute signed distance fields from triangle meshes for level-set methods or collision detection. - Visualize mesh processing results in Jupyter notebooks with interactive plotly 3D views that persist in HTML exports. - Reconstruct surface geometry from point clouds using combinatorial Rotation System Reconstruction methods. - Analyze mesh topology by splitting into connected components and computing topological properties. ## Worth the install? AI-flagged interpretation of the facts above — verify before relying. PyGEL3D provides Python bindings for a C++ geometry processing library, offering mesh manipulation, spatial data structures, skeletonization, and 3D visualization tools for computer graphics applications. Yes, if you need production-grade mesh processing with specialized algorithms (skeletonization, SDF, simplification) and Jupyter integration. Active maintenance, MIT license, and zero known vulnerabilities support adoption. Medium install friction (compiled bindings, OpenGL dependency) is acceptable for graphics-focused work. Not suitable if you cannot satisfy OpenGL and GLFW system requirements. ## Install pip install pygel3d uv add pygel3d poetry add pygel3d ## Installing PyGEL3D Before you install: Medium install friction due to compiled C++ bindings; prebuilt wheels exist for macOS, Windows, and Linux but require a recent C++ compiler if building from source. Active maintenance with a recent release and no known vulnerabilities. License in practice: MIT license permits unrestricted use, modification, and distribution with minimal restrictions, making it suitable for both open-source and commercial projects. Quickstart: pip install PyGEL3D import PyGEL3D # Create and manipulate mesh geometry mesh = PyGEL3D.Manifold() Requires OpenGL and GLFW libraries; on Ubuntu, install with `sudo apt-get install libglu1 libgl1`. For Jupyter visualization, numpy and plotly must be available. Verify before relying: - Performance characteristics on very large meshes (millions of polygons) with the half-edge data structure. - Completeness of Python binding coverage relative to the full C++ GEL library feature set. - Availability of worked examples for Local Separator Skeletonization and Rotation System Reconstruction. ## Package facts - License: MIT (permissive) - Python support: supports_current - Install friction: medium - Maintenance: active - Downloads: 87.8K/month (top 15,000 on PyPI) - Known vulnerabilities: none known ## Tags mesh processing python, 3d geometry manipulation, polygon mesh editing, skeletonization algorithm, 3d visualization jupyter, spatial data structures geometry, mesh simplification, mesh-processing, geometry-3d, jupyter-visualization [View on SkillFed](https://skillfed.io/packages/pygel3d) · [View on PyPI](https://pypi.org/project/pygel3d/)