{"library":"pyopengl-accelerate","title":"PyOpenGL-accelerate","description":"PyOpenGL-accelerate is a collection of Cython-coded extensions designed to optimize common, performance-critical operations within PyOpenGL 3.x. While not strictly required for PyOpenGL functionality, its installation is highly recommended to achieve improved rendering speeds, particularly when dealing with large arrays of data. It is maintained as an integral part of the broader PyOpenGL project. The current version is 3.1.10, with releases typically synchronized with the main PyOpenGL library.","language":"python","status":"active","last_verified":"Sat May 16","install":{"commands":["pip install PyOpenGL PyOpenGL-accelerate"],"cli":null},"imports":["import OpenGL_accelerate # Rarely explicitly imported, works implicitly"],"auth":{"required":false,"env_vars":[]},"quickstart":{"code":"import pygame\nfrom pygame.locals import *\n\nfrom OpenGL.GL import *\nfrom OpenGL.GLU import *\n\ndef draw_cube():\n    vertices = (\n        (1, -1, -1), (1, 1, -1), (-1, 1, -1), (-1, -1, -1),\n        (1, -1, 1), (1, 1, 1), (-1, -1, 1), (-1, 1, 1)\n    )\n    edges = (\n        (0,1), (0,3), (0,4), (2,1), (2,3), (2,7),\n        (6,3), (6,4), (6,7), (5,1), (5,4), (5,7)\n    )\n\n    glBegin(GL_LINES)\n    for edge in edges:\n        for vertex in edge:\n            glVertex3fv(vertices[vertex])\n    glEnd()\n\ndef main():\n    pygame.init()\n    display = (800, 600)\n    pygame.display.set_mode(display, DOUBLEBUF | OPENGL)\n\n    gluPerspective(45, (display[0] / display[1]), 0.1, 50.0)\n    glTranslatef(0.0, 0.0, -5)\n\n    while True:\n        for event in pygame.event.get():\n            if event.type == pygame.QUIT:\n                pygame.quit()\n                return\n\n        glRotatef(1, 3, 1, 1)\n        glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT)\n        draw_cube()\n        pygame.display.flip()\n        pygame.time.wait(10)\n\nif __name__ == '__main__':\n    main()","lang":"python","description":"PyOpenGL-accelerate transparently enhances the performance of PyOpenGL code when installed. This quickstart demonstrates a basic rotating 3D cube using PyOpenGL with Pygame, where PyOpenGL-accelerate would provide underlying performance improvements without requiring explicit calls.","tag":null,"tag_description":null,"last_tested":null,"results":[]},"compatibility":{"tag":null,"tag_description":null,"last_tested":"2026-05-16","installed_version":"3.1.10","pypi_latest":"3.1.10","is_stale":false,"summary":{"python_range":"3.10–3.9","success_rate":100,"avg_install_s":3.3,"avg_import_s":null,"wheel_type":"wheel"},"results":[{"runtime":"python:3.10-alpine","python_version":"3.10","os_libc":"alpine (musl)","variant":"PyOpenGL","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":"55.4M"},{"runtime":"python:3.10-slim","python_version":"3.10","os_libc":"slim (glibc)","variant":"PyOpenGL","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":3.2,"import_time_s":null,"mem_mb":null,"disk_size":"59M"},{"runtime":"python:3.11-alpine","python_version":"3.11","os_libc":"alpine (musl)","variant":"PyOpenGL","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":"59.5M"},{"runtime":"python:3.11-slim","python_version":"3.11","os_libc":"slim (glibc)","variant":"PyOpenGL","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":3.2,"import_time_s":null,"mem_mb":null,"disk_size":"63M"},{"runtime":"python:3.12-alpine","python_version":"3.12","os_libc":"alpine (musl)","variant":"PyOpenGL","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":"51.5M"},{"runtime":"python:3.12-slim","python_version":"3.12","os_libc":"slim (glibc)","variant":"PyOpenGL","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":3.2,"import_time_s":null,"mem_mb":null,"disk_size":"55M"},{"runtime":"python:3.13-alpine","python_version":"3.13","os_libc":"alpine (musl)","variant":"PyOpenGL","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":"51.0M"},{"runtime":"python:3.13-slim","python_version":"3.13","os_libc":"slim (glibc)","variant":"PyOpenGL","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":3.3,"import_time_s":null,"mem_mb":null,"disk_size":"55M"},{"runtime":"python:3.9-alpine","python_version":"3.9","os_libc":"alpine (musl)","variant":"PyOpenGL","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":"54.9M"},{"runtime":"python:3.9-slim","python_version":"3.9","os_libc":"slim (glibc)","variant":"PyOpenGL","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":3.6,"import_time_s":null,"mem_mb":null,"disk_size":"58M"}]}}