pyrender
Easy-to-use Python renderer for 3D visualization
Decision gist · record as of 2026-08-14
Yes, if you need 3D rendering and visualization in Python. The package is stable, permissively licensed, and has low install friction. However, maintenance is dormant (last release 2021, no recent commits beyond early 2025), so expect no bug fixes or feature updates; verify compatibility with your Python version and dependencies before relying on it for production systems.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires OpenGL support; GPU-accelerated offscreen rendering needs EGL or OSMesa backend on headless systems.
- Low friction install with a pure-Python wheel.
- Maintenance is dormant—last release was in 2021 and no commits since early 2025, though the repository remains active and the package has accumulated 1467 stars.
License · maintenance · safety
MIT License (permissive) — MIT License (permissive) places no restrictions on use, modification, or distribution in proprietary or open-source projects.
last release 2021-02-18 (2003 days) · last repo commit 2025-02-07 · 1,467 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 851,201 downloads/mo, #4,905 on PyPI
Alternatives
Verify before relying
pip install pyrender
import pyrender
import trimesh
mesh = trimesh.load('model.obj')
scene = pyrender.Mesh.from_trimesh(mesh)
pyrender.Mesh.show(scene)- Current compatibility with Python versions beyond 3.6 (classifiers list 2.7, 3.5, 3.6 but package is from 2021).
- Whether all 10 runtime dependencies are actively maintained and compatible with modern environments.
What it is and what it does
Pyrender is a Python library for rendering 3D scenes and meshes to images, with both an interactive viewer and a headless offscreen renderer. It implements the glTF 2.0 specification and supports physically-based rendering with metallic-roughness materials, shadow mapping, transparency, and texture mapping. The package integrates tightly with trimesh, inheriting support for dozens of mesh formats (OBJ, STL, PLY, GLB, and others).
It is designed for visualization tasks in machine learning pipelines, scientific computing, and graphics applications where you need to render 3D geometry without a display. The interactive viewer offers keyboard and mouse controls for camera manipulation, lighting adjustment, and real-time inspection of scenes. Offscreen rendering can be accelerated via GPU using EGL or OSMesa backends on servers without a display.
Use it for
- Render 3D mesh outputs from machine learning models to image files for inspection or dataset generation.
- Visualize scientific simulation results (point clouds, volumetric data) in an interactive 3D viewer.
- Generate synthetic training images from 3D CAD models using physically-based rendering on a headless server.
- Convert and inspect 3D mesh files in various formats (OBJ, STL, GLB) with an easy-to-use viewer.
- Batch-render multiple 3D scenes to depth and color images for computer vision applications.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you need 3D rendering and visualization in Python.
The package is stable, permissively licensed, and has low install friction. However, maintenance is dormant (last release 2021, no recent commits beyond early 2025), so expect no bug fixes or feature updates; verify compatibility with your Python version and dependencies before relying on it for production systems.
Install
pyrender on PyPI
Before you install
Low friction install with a pure-Python wheel. Maintenance is dormant—last release was in 2021 and no commits since early 2025, though the repository remains active and the package has accumulated 1467 stars.
Requires OpenGL support; GPU-accelerated offscreen rendering needs EGL or OSMesa backend on headless systems.
License in practice
MIT License (permissive) places no restrictions on use, modification, or distribution in proprietary or open-source projects.
Quickstart
pip install pyrender
import pyrender
import trimesh
mesh = trimesh.load('model.obj')
scene = pyrender.Mesh.from_trimesh(mesh)
pyrender.Mesh.show(scene)
Verify before relying
- Current compatibility with Python versions beyond 3.6 (classifiers list 2.7, 3.5, 3.6 but package is from 2021).
- Whether all 10 runtime dependencies are actively maintained and compatible with modern environments.
Package facts
| License | MIT License permissive |
| Python support | Not specified |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 10 packagesfreetype-pyimageionetworkxnumpyPillowpygletPyOpenGLscipysixtrimesh |
| Maintenance | Dormant 2,003 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 851,201 / month, #4,905 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 4 - BetaLicense :: OSI Approved :: MIT LicenseNatural Language :: EnglishOperating System :: MacOS :: MacOS XOperating System :: POSIX :: LinuxProgramming Language :: Python :: 2.7Programming Language :: Python :: 3.5Programming Language :: Python :: 3.6Topic :: Scientific/Engineering |
Evidence: pyrender-0.1.45-py3-none-any.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 rendering python”
- pyrenderPyrender renders 3D scenes to images and provides an interactive…
- gsplatgsplat is a CUDA-accelerated Python library for rasterizing 3D…
- viserViser is a Python library for 3D visualization and interactive GUI…
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 mitsuba · panda3d-simplepbr · pyrealsense2 · panda3d-gltf · pygltflib · meshcat · viser · bpy · moderngl · gsplat