Skip to main content

An experimental OpenGL wrapper for Python using ctypes or CFFI

Project description


The official PyOpenGLng Home Page is located at

The latest documentation build from the git repository is available at PyOpenGLng@readthedocs-badge

Written by Fabrice Salvaire.

PyOpenGLng license PyOpenGLng python version

PyOpenGLng last version PyOpenGLng format PyOpenGLng Download per month


PyOpenGLng, proudly blessed as is, is an experimental OpenGL wrapper for Python which generates the requested OpenGL API from the OpenGL XML API Registry and use an automatic translator to map the C API to Python. The interface between C and Python is supported by ctypes and also by CFFI which paves the way to use the pypy interpreter.

By design this wrapper supports all the OpenGL version, but it focus towards the programmable pipeline and the most recent OpenGL API. On Linux desktop, Mesa 3D Graphics Library release 10 (November 2013) supports the OpenGL 3.3 API for Intel HD GPU.

The Python package provides three components:

  • an Oriented Object API to the OpenGL XML registry,
  • a ctypes and CFFI wrapper,
  • an experimental high level API.


We should test all the API to claim a compliance with the OpenGL API. Since the OpenGL API becomes more and more large and complex over the release, such attempt would require a huge amount of work. Up to now only a part of the API was tested successfully.



PyOpenGLng requires the following dependencies:

  • Python 2.7
  • Numpy
  • freetype-py
  • PyQt 4.9 for the high level API and the examples

Installation from PyPi Repository

PyOpenGLng is made available on the PyPI repository at

Run this command to install the last release:

pip install PyOpenGLng

Installation from Source

The PyOpenGLng source code is hosted at

To clone the Git repository, run this command in a terminal:

git clone

Then to build and install PyOpenGLng run these commands:

python build
python install

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for PyOpenGLng, version 0.1.2
Filename, size File type Python version Upload date Hashes
Filename, size PyOpenGLng-0.1.2.tar.gz (12.8 MB) File type Source Python version None Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring DigiCert DigiCert EV certificate Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page