{"id":24331,"library":"pygel3d","title":"PyGEL 3D","description":"PyGEL 3D provides Python bindings for the GEL (Geometry Engine Library), offering tools for polygonal mesh based geometry processing, including mesh I/O, simplification, remeshing, and boolean operations. Current version is 0.6.1. Release cadence is irregular.","status":"active","version":"0.6.1","language":"python","source_language":"en","source_url":"https://github.com/janm31415/pygel3d","tags":["geometry","mesh","3D","processing","half-edge"],"install":[{"cmd":"pip install pygel3d","lang":"bash","label":"Install from PyPI"}],"dependencies":[{"reason":"Array and matrix operations for mesh data","package":"numpy","optional":false}],"imports":[{"wrong":"from pygel3d import Mesh","symbol":"IntVector","correct":"from pygel3d import IntVector"},{"symbol":"Vec3dVector","correct":"from pygel3d import Vec3dVector"},{"symbol":"InvalidIndex","correct":"from pygel3d import InvalidIndex"}],"quickstart":{"code":"from pygel3d import Mesh, hmesh\n\n# Create a simple mesh (a box)\nbox_mesh = Mesh()\nbox_mesh.add_vertex([0,0,0])\nbox_mesh.add_vertex([1,0,0])\nbox_mesh.add_vertex([1,1,0])\nbox_mesh.add_vertex([0,1,0])\nbox_mesh.add_face([0,1,2,3])\n\n# Convert to half-edge mesh\nhm = hmesh.Manifold.from_mesh(box_mesh)\nprint(\"Number of faces:\", hm.num_faces())","lang":"python","description":"Creates a simple box mesh, converts to half-edge representation, and prints face count."},"warnings":[{"fix":"Replace 'import pygel' with 'import pygel3d' and update all submodule references accordingly.","message":"The import path changed from 'pygel' to 'pygel3d' starting with version 0.6.0. Old code using 'import pygel' will fail.","severity":"breaking","affected_versions":">=0.6.0"},{"fix":"Convert Mesh to half-edge mesh using hmesh.Manifold.from_mesh() before calling simplify functions.","message":"Mesh simplification functions expect a hmesh.HalfedgeMesh object, not a raw Mesh. Passing a Mesh will cause AttributeError.","severity":"gotcha","affected_versions":"all"},{"fix":"Use external visualization libraries (e.g., trimesh, polyscope) instead of gl_display.","message":"The 'gl_display' module relies on PyOpenGL and may be removed in future releases as the library moves to headless processing.","severity":"deprecated","affected_versions":"<=0.6.1"}],"env_vars":null,"search_vec":"'0.6.1':33 '3d':2,4,40 'base':19 'bind':7 'boolean':28 'cadenc':35 'current':30 'edg':44 'engin':12 'gel':10 'geometri':11,20,38 'half':43 'half-edg':42 'i/o':24 'includ':22 'irregular':37 'librari':13 'mesh':18,23,39 'offer':14 'oper':29 'polygon':17 'process':21,41 'provid':5 'pygel':1,3 'python':6 'releas':34 'remesh':26 'simplif':25 'tool':15 'version':31","created_at":"2026-05-01T08:12:29.979825+00:00","updated_at":"2026-05-01T08:12:29.979825+00:00","problems":null,"ecosystem":"pypi","meta_description":null,"install_score":null,"quickstart_score":null,"quickstart_tag":null,"pypi_latest":"0.6.1","cli_name":"","cli_version":null,"type":"library","homepage":"http://www2.compute.dtu.dk/projects/GEL/PyGEL/","github":null,"docs":null,"changelog":null,"pypi":"https://pypi.org/project/pygel3d/","npm":null,"openapi_spec":null,"status_page":null,"smithery":null,"categories":["data"],"base_url":null,"auth_type":null,"provenance":{"verified_status":"passing","verified_at":"2026-07-03","last_verified":"2026-07-03","next_check":"2026-08-02","install_tag":null}}