{"library":"pyopengl","title":"PyOpenGL","description":"PyOpenGL (version 3.1.10) provides standard OpenGL bindings for Python, allowing Python programs to interact directly with OpenGL graphics APIs. It offers access to both core OpenGL functionality and extensions, enabling development of 2D/3D graphics applications. The library is mature and stable, with a moderate release cadence driven by bug fixes and OpenGL specification updates.","language":"python","status":"active","last_verified":"Thu May 14","install":{"commands":["pip install PyOpenGL PyOpenGL_accelerate"],"cli":null},"imports":["from OpenGL.GL import *","from OpenGL.GLUT import *","from OpenGL.GLU import *","from OpenGL.GL.shaders import compileShader, compileProgram"],"auth":{"required":false,"env_vars":[]},"quickstart":{"code":"import sys\nfrom OpenGL.GL import *\nfrom OpenGL.GLUT import *\nfrom OpenGL.GLU import *\n\ndef draw_triangle():\n    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT)\n    glLoadIdentity()\n    glTranslatef(0.0, 0.0, -5.0)\n\n    glBegin(GL_TRIANGLES)\n    glColor3f(1.0, 0.0, 0.0)  # Red\n    glVertex3f(-1.0, -1.0, 0.0)\n    glColor3f(0.0, 1.0, 0.0)  # Green\n    glVertex3f(1.0, -1.0, 0.0)\n    glColor3f(0.0, 0.0, 1.0)  # Blue\n    glVertex3f(0.0, 1.0, 0.0)\n    glEnd()\n\n    glutSwapBuffers()\n\ndef reshape(width, height):\n    glViewport(0, 0, width, height)\n    glMatrixMode(GL_PROJECTION)\n    glLoadIdentity()\n    gluPerspective(45, (width / height), 0.1, 50.0)\n    glMatrixMode(GL_MODELVIEW)\n    glLoadIdentity()\n\ndef keyboard(key, x, y):\n    if key == b'\\x1b': # ESC key\n        sys.exit()\n\ndef main():\n    glutInit(sys.argv)\n    glutInitDisplayMode(GLUT_RGBA | GLUT_DOUBLE | GLUT_DEPTH)\n    glutInitWindowSize(600, 600)\n    glutInitWindowPosition(100, 100)\n    glutCreateWindow(b\"PyOpenGL Triangle (ESC to exit)\")\n\n    glClearColor(0.2, 0.2, 0.2, 1.0) # Dark gray background\n    glEnable(GL_DEPTH_TEST)\n\n    glutDisplayFunc(draw_triangle)\n    glutIdleFunc(draw_triangle) # Redraw continuously\n    glutReshapeFunc(reshape)\n    glutKeyboardFunc(keyboard)\n\n    glutMainLoop()\n\nif __name__ == '__main__':\n    main()","lang":"python","description":"This example demonstrates basic PyOpenGL usage with GLUT to create a window and draw a simple colored triangle. It uses the traditional fixed-function pipeline for simplicity. Ensure you have GLUT installed on your system (e.g., `freeglut3-dev` on Debian/Ubuntu, or a GLUT for Windows build).","tag":null,"tag_description":null,"last_tested":"2026-04-25","results":[{"runtime":"python:3.10-alpine","exit_code":1},{"runtime":"python:3.10-slim","exit_code":1},{"runtime":"python:3.11-alpine","exit_code":1},{"runtime":"python:3.11-slim","exit_code":1},{"runtime":"python:3.12-alpine","exit_code":1},{"runtime":"python:3.12-slim","exit_code":1},{"runtime":"python:3.13-alpine","exit_code":1},{"runtime":"python:3.13-slim","exit_code":1},{"runtime":"python:3.9-alpine","exit_code":1},{"runtime":"python:3.9-slim","exit_code":1}]},"compatibility":{"tag":null,"tag_description":null,"last_tested":"2026-05-14","installed_version":"3.1.10","pypi_latest":"3.1.10","is_stale":false,"summary":{"python_range":"3.10–3.9","success_rate":50,"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":"broken","install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":"55.4M"},{"runtime":"python:3.10-alpine","python_version":"3.10","os_libc":"alpine (musl)","variant":"PyOpenGL","exit_code":1,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"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":"broken","install_time_s":3.3,"import_time_s":null,"mem_mb":null,"disk_size":"59M"},{"runtime":"python:3.10-slim","python_version":"3.10","os_libc":"slim (glibc)","variant":"PyOpenGL","exit_code":1,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"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":"broken","install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":"59.5M"},{"runtime":"python:3.11-alpine","python_version":"3.11","os_libc":"alpine (musl)","variant":"PyOpenGL","exit_code":1,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"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":"broken","install_time_s":3.3,"import_time_s":null,"mem_mb":null,"disk_size":"63M"},{"runtime":"python:3.11-slim","python_version":"3.11","os_libc":"slim (glibc)","variant":"PyOpenGL","exit_code":1,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"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":"broken","install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":"51.5M"},{"runtime":"python:3.12-alpine","python_version":"3.12","os_libc":"alpine (musl)","variant":"PyOpenGL","exit_code":1,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"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":"broken","install_time_s":3.2,"import_time_s":null,"mem_mb":null,"disk_size":"55M"},{"runtime":"python:3.12-slim","python_version":"3.12","os_libc":"slim (glibc)","variant":"PyOpenGL","exit_code":1,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"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":"broken","install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":"51.1M"},{"runtime":"python:3.13-alpine","python_version":"3.13","os_libc":"alpine (musl)","variant":"PyOpenGL","exit_code":1,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"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":"broken","install_time_s":3.1,"import_time_s":null,"mem_mb":null,"disk_size":"55M"},{"runtime":"python:3.13-slim","python_version":"3.13","os_libc":"slim (glibc)","variant":"PyOpenGL","exit_code":1,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"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":"broken","install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":"54.9M"},{"runtime":"python:3.9-alpine","python_version":"3.9","os_libc":"alpine (musl)","variant":"PyOpenGL","exit_code":1,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"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":"broken","install_time_s":3.7,"import_time_s":null,"mem_mb":null,"disk_size":"58M"},{"runtime":"python:3.9-slim","python_version":"3.9","os_libc":"slim (glibc)","variant":"PyOpenGL","exit_code":1,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null}]}}