PyOpenGL is the cross platform Python binding to OpenGL and related APIs. The binding is created using the standard (in Python 2.5 and above) ctypes library, and is provided under an extremely liberal BSD-style Open-Source license.
PyOpenGL includes support for OpenGL v1.1 through 3.2, GLU, GLUT v3.7 (and FreeGLUT), and GLE 3. It also includes support for hundreds of OpenGL extensions.
PyOpenGL is interoperable with a large number of external GUI libraries for Python including wxPython, Pygame, PyGTK, and Qt. It can also use the GLUT library to provide basic windowing and user interface mechanisms.
The SourceForge PyOpenGL project has two sub-projects, the core library, PyOpenGL (known as the OpenGL-ctypes module in bzr, and the OpenGL package when installed in Python), and a teaching and testing library, OpenGLContext built on top of the core. PyOpenGL further has a module OpenGL_accelerate which provides Cython-based acceleration code.
The documentation collection provides reference documentation, support and feedback information and pointers to more in-depth documentation.
The installation page provides step-by-step instructions and dependency lists. Direct links to the core packages:
PyOpenGL
PyOpenGL-accelerate
PyOpenGL-Demo
You can work with latest version of PyOpenGL using the bzr distributed source code control tool on the LaunchPad code-hosting platform:
bzr branch lp:pyopenglbzr branch lp:pyopengl-demo
Contributions and patches are very welcome. Where possible, please try to include a test script. Also, please keep in mind that the developers is a lone volunteer who works on PyOpenGL in his spare time. It can take quite a while for him to get around to his "PyOpenGL Queue" of tasks. You can request a merge via LaunchPad, send a patch to the PyOpenGL-devel mailing list, or send a patch via email to mcfletch@vrplumber.com. (Using bzr send is the easiest and most useful way to do this).
Bug reports and feature requests should use the SourceForge project page. General questions are best answered on the PyOpenGL mailing list.
OpenGL.org is a good starting point for information about OpenGL and related technologies.
There are quite a few 3D-related libraries available for use with Python, many of them either based on, or extensible with PyOpenGL. PyOpenGL's author collects pointers to them on his site. There is another commonly used binding of OpenGL for Python which is part of the