PackageTrack Sign in Track my project

pyopengl

Standard OpenGL bindings for Python

3.1.10 5.0M downloads/mo #2184 most downloaded on PyPI mcfletch/pyopengl

What this package is like to depend on

Last release 1 months ago

13 Jul 2026

Release timing varies

gaps range from 3 weeks to 3.5 years

This project publishes no release notes

the list below is its commits, not an announcement

Nothing withdrawn

no release was ever pulled

20 years old

42 releases · first in 2006

1 release in the last 12 months

see the full history below

Release timeline

34 releases · Nov 2006 to Jul 2026
2007 2009 2011 2013 2015 2017 2019 2021 2023 2025
Release Pre-release

Releases

latest 42
  1. 4.0.0a1 13 Jul 2026 pre-release
    Commits, not release notes

    This project publishes no release notes. Between 3.1.10 and 4.0.0a1 there were 50 commits, 50 of them substantive:

    • BUGFIXES Bugfixes for numpy scalar changes and shader compilation fixes
    • PACKAGING update the license to the spdx form
    • TESTSUITE glfx version of the test suite runner
    • TESTSUITE Allow use of glfw for the decorator test suites
    • TESTSUITE Bugfix for test case checking absolute equality
    • TESTSUITE Default to glfw, flip the glfw and pygame displays on exit
    • BREAKING CHANGE Require python 3.9+ to support SPDX and numpy 2.x only
    • TESTSUITE Switch to using basetestcase for the test_core module
    • BUGFIX EGL Enumeration check-script was crashing if one device couldn't initialise
    • TESTSUITE allow for using glfw to test on non-glx linux
    • GLES Bugfix and size-checks on image functions, smoke-test in test suite
    • BUGFIX Doubly-wrapped entry point was crashing vertex_array_object import
    • BUGFIX gl histogram double-wrapping of functions due to newer generator
    • BUGFIX glDrawBuffersEXT was getting wrapped to glDrawBuffers
    • FEATURE Support int64 uint64 types for array parameters
    • LOGS Use a real decorator for logs to cleanup tools view of types
    • GLES Test suite organisation, coverage, usability wrappers
    • ARB vertex_shader Allow for passing in the size parameter in the wrapper
    • Bugfix glGetTexImageCompressed fixes (was ignoring the level)
    • BUGFIX constants greater than sys.maxint were incorrectly converted

    …and 30 more.

  2. 3.1.10 18 Aug 2025
    Commits, not release notes

    This project publishes no release notes. Between release-3.1.7 and 3.1.10 there were 74 commits, 65 of them substantive:

    • Fix ctypes FormatHandler for Python 3.12+
    • Fix README.txt typo in accelerate's setup.cfg
    • gh#101 Allow for fallbacks to work on glx lookup for modern linux glx test update
    • PYTHON3.12 Support python3.12 via cython 3.x wrappers
    • AUTOGENERATED Cython wrappers
    • GH#92 Hopefully correct handling of big-endian platforms for struct-based buffer api test
    • TESTS Current tox complains if requirements.txt isn't present but is referenced
    • fix resource warning
    • PYPY3 Add support for pypy3 in FormatHandler
    • Treat any falsy context as invalid
    • Return type for *GetCurrentContext is a pointer on all platforms
    • BUGFIX Numpy intp type for latest numpy
    • WRAPPERS Regenerated C wrappers with latest Cython
    • PYTHON3.12 Add Python3.12 to the test matrix in tox
    • TESTCASE Don't bomb out during egl test when there's no egl devices
    • FORMATTING Cleanup formatting in a few modules
    • RUFF Provide ruff rules to allow for checks/fixes
    • CYTHON Switch to installing/running current cython during build rather than checking in wrappers
    • PYTHON3.12 Reduce the number of iterations in memory leak test to avoid JIT triggering
    • TESTS Avoid using buffer api on unsupported types for 3.7 and 3.8

    …and 45 more.

  3. 3.1.9 20 Jan 2025

    Nothing published for this version

  4. 3.1.9a2 02 Jan 2025 pre-release

    Nothing published for this version

  5. 3.1.9a1 31 Dec 2024 pre-release

    Nothing published for this version

  6. 3.1.7 23 May 2023
    Commits, not release notes

    This project publishes no release notes. Between release-3.1.1a1 and release-3.1.7 there were 250 commits, 235 of them substantive:

    • Fix logging reference in a test-case (refactoring error)
    • Python 3.x scoping rules fix for dealing with logging failed library loads
    • Update codegenerator to use github registry
    • Refresh generated files with the current OpenGL registry
    • Fix glGet crashes due to cleanup/memory issues
    • SF #7 ensure that specifier and prefix are 8-bit before doing startswith
    • SF #7 integrate Tom Goddard's patch to make WGL extension prefixes 8-bit
    • Github #6 extension types for EGL to byte-strings
    • Github #6 fix allow for passing force_extension through function creation
    • Remove unused import in test suite helper
    • GitHub #5 verify that memory usage doesn't spike with transfer of VBO
    • Move the test_accel_leak test so it can use shared code for memory checking
    • GitHub #2 missing type-count declarations for texture_rg extension
    • Add a .travis.yml to see if we can run tests there, rename requirements file
    • Requirements are just listed, not in a file
    • Install accelerate from local, add a travis-ci badge to readme
    • Only run the PyOpenGL tests in travis
    • Yet more pickiness for travis...
    • Switch to 24-bit contexts and try to get GLX and RENDER extensions
    • Yet further attempts to get a glx capable visual

    …and 215 more.

  7. 3.1.6 20 Feb 2022

    Nothing published for this version

  8. 3.1.5 04 Jan 2020

    Nothing published for this version

  9. 3.1.4 30 Nov 2019

    Nothing published for this version

  10. 3.1.3rc1 26 Oct 2019 pre-release

    Nothing published for this version

  11. 3.1.3b2 05 Nov 2018 pre-release

    Nothing published for this version

  12. 3.1.3b1 12 Aug 2018 pre-release

    Nothing published for this version

  13. 3.1.1a1 13 Feb 2015 pre-release
    Commits, not release notes

    This project publishes no release notes. Between release-3.1.0 and release-3.1.1a1 there were 43 commits, 42 of them substantive:

    • distutils on windows does not allow for absolute paths
    • Trivial test to print current glsl version available
    • Update generator to handle current khronos registry
    • Regeneration, but there is a lot of regressions due to output mapping failures
    • Add fixed and clamp types to core GL
    • Sort the gl_out_parameters for consistency
    • A few tweaks to make regeneration avoid massive pointless changes
    • Complete the update to OpenGL 1.5 from current khronos registry
    • Eliminate the "exceptional" wrapper which is no longer needed for glgentextures
    • Refactoring error for reference to generic arrayDataType
    • Rebuild on current xml sources
    • Allow use of opaque pointers as keys in dictionaries...
    • Missing import of the NULL_8_BYTE
    • Update from current registry
    • Make the wrapper error message more helpful in debugging failures
    • Provide a GLfixedArray converter to allow fixed array functions to be defined
    • Some code-cleanup in the exceptional module
    • Ignore all eric project directories
    • Allow for passing in flag to not perform validation of shader
    • New alias for the EGLImageKHR, apparently

    …and 22 more.

  14. 3.1.0 26 Jun 2014
    Commits, not release notes

    This project publishes no release notes. Between release-3.1.0b3 and release-3.1.0 there were 2 commits, 2 of them substantive:

    • Only test glsl if that version is supported
    • Version bump to 3.1.0 final
  15. 3.1.0b3 25 May 2014 pre-release
    Commits, not release notes

    This project publishes no release notes. Between release-3.1.0b2 and release-3.1.0b3 there were 81 commits, 80 of them substantive:

    • Use an explicitly defined glutInit NullFunction rather than a None so that you-don't-have-GLUT raises a useful message
    • Work around build-failure in accelerate by filtering out known-bad flag on OS-X
    • Bug-fix for unicode argument pass through and test for same, missing parameter to a call
    • Something is calling from_param with a second argument, but what is eluding me, allow the second param for now
    • Test the unicode behaviour under python2 and 3
    • Update VBO wrapper to properly use glBufferSubData when updating VBO arrays
    • New vendor "NOK" added to EGL
    • Updated spec text from OpenGL.org
    • Get a test working for the debug messages mechanism, fill in a few glget constants
    • Guess at the output sizes for most of the un-sized glget values
    • Use the khronos enum groups to populate glGet mapping
    • Update with missing values from chromium project
    • Use chromium table to validate our table, update our table with the extra args
    • Updated GLGET mechanism with table merged from chromium/regal
    • Add regal license
    • Format licenses a bit more consistently
    • Store out the set of output variables for later use
    • Incorrect reference in wrapper code
    • Use automated output-argument wrapping everywhere we can do it, multi-arg calcsize and multiple-output functions not yet working
    • Mapping of parameter which are output (currently just in gl.spec)

    …and 60 more.

  16. 3.1.0b2 24 Mar 2014 pre-release
    Commits, not release notes

    This project publishes no release notes. Between release-3.1.0b1 and release-3.1.0b2 there were 96 commits, 96 of them substantive:

    • On EGL platforms, OpenGL may be available, if it is, provide access to it
    • Remove support for extremely old ctypes from python versions we don't support
    • Fix regression where default value of context-checking was flipped
    • OpenGL is a valid api for EGL hosting, use it if available, otherwise es2
    • Use the core log retrieval mechanism instead of the ARB one
    • Python-3 compat for glut init test
    • Eliminate use of old-style print in the PyOpenGL test scripts
    • More fixes for python3 for the test suite
    • Modernize error handling in array data type
    • Only consider non-optional elements in checking argument length
    • Start work on getting orPassIn for output to work, currently just allows for NULL pass-in, but doesn't use a passed-in value (i.e. still generates it even if you pass in a new value).
    • Test handling of orInput array data handlers
    • Do OrInput handling on array data-types
    • Regenerated wrappers
    • Support orinput functionality in the non-accelerated data-paths
    • Add orPassIn to all current setOutput calls, as it makes the api more C-like
    • Starting work on making error handling respect the api source
    • Move error handling to per-api definitions so that GLES uses GLES get error etc.
    • Missing platform import
    • Fix the non-accelerated error checking branch...

    …and 76 more.

  17. 3.1.0b1 11 Feb 2014 pre-release
    Commits, not release notes

    This project publishes no release notes. Between release-3.0.2 and release-3.1.0b1 there were 244 commits, 242 of them substantive:

    • Switch to string print functions
    • Extremely old exception syntax removed
    • Eliminate apply
    • Explicitly convert possible iterable to a list in error reports
    • Switch to modern exception format
    • Python 2/3 run-time determination
    • Make import absolute
    • Remove code for extremely old versions of Python
    • Imports for tk
    • Force map results to a list, use a list comprehension instead of map
    • Provide Python 3 bool methods
    • Drop L suffix on longs
    • Reduce is no longer a built-in
    • Handle renaming of str to bytes and unicode to str, as well as unification of long and int
    • Rework code so that references are always to bytes or unicode, never to str save where the meaning is "human readable"
    • range vs. xrange
    • Stop use of 2to3 for the project...
    • Don't re-convert the values into unicode afterward
    • No syntax errors, but no pygame means it doesn't run
    • Sigh, apparently ctypes won't auto-convert unicode down, so we're going to get lots of failures :(

    …and 222 more.

  18. 3.1.0a3 06 Sep 2013 pre-release

    Nothing published for this version

  19. 3.1.0a1 30 May 2013 pre-release

    Nothing published for this version

  20. 3.0.2 02 Oct 2012
    Commits, not release notes

    This project publishes no release notes. Between release-3.0.2a4 and release-3.0.2 there were 57 commits, 57 of them substantive:

    • Uncomment the test, make repr more readable
    • Typo-fix
    • Eliminate some syntax errors with keyword argument names
    • Regenerated, no big changes...
    • The tess_combine test is still failing, but it appears to be a test-case problem, not a problem with the actual tesselation; new traditional cb test-case works perfectly well...
    • More attempts to get the glutess operations working...
    • Escape any python keyword which appears as a parameter name (add a _ character). Add a new amd extension.
    • Merge with the upstream (sigh) basically did the same thing twice...
    • Version bump
    • Patch from Stephan Wenger fixing a number of constant references, adds some integer constants to the image processing code.
    • Version bump
    • Regenerated the numpy format handler with a more modern version of cython
    • Converting to a python build script to build both 32 and 64 bit and automate the process
    • Now builds 64 and 32 bit with the vc7/vc9 suffix (though currently no vc7 64-bit)
    • Download the glut binaries for win32/win64 instead of attempting to build them ourselves
    • Remove the old build mechanism
    • Make win64 load size-suffix dlls, add the 64-bit dlls for glut and gle
    • Missing import
    • Adapted hasGLExtension to accept a str (i.e. unicode string under Python3)
    • Fixed: getExtensionProcedure should get the names as a bytes object, not unicode (in Python 3)

    …and 37 more.

  21. 3.0.2b2 22 Aug 2012 pre-release

    Nothing published for this version

  22. 3.0.2a5 09 Feb 2012 pre-release

    Nothing published for this version

  23. 3.0.2a4 02 Feb 2012 pre-release

    Nothing published for this version

  24. 3.0.2a3 31 Jan 2012 pre-release

    Nothing published for this version

  25. 3.0.2a2 09 Jan 2012 pre-release

    Nothing published for this version

  26. 3.0.2a1 12 Sep 2011 pre-release

    Nothing published for this version

  27. 3.0.1 25 Feb 2010

    Nothing published for this version

  28. 3.0.1b2 28 Dec 2009 pre-release

    Nothing published for this version

  29. 3.0.1b1 11 Nov 2009 pre-release

    Nothing published for this version

  30. 3.0.1a4 11 Sep 2009 pre-release

    Nothing published for this version

  31. 3.0.1a3 16 Aug 2009 pre-release

    Nothing published for this version

  32. 3.0.1a2 no date pre-release

    Nothing published for this version

  33. 3.0.0 no date

    Nothing published for this version

  34. 3.0.0c1 15 Feb 2009 pre-release

    Nothing published for this version

  35. 3.0.0b8 no date pre-release

    Nothing published for this version

  36. 3.0.0b6 15 Sep 2008 pre-release

    Nothing published for this version

  37. 3.0.0b4 no date pre-release

    Nothing published for this version

  38. 3.0.0b3 no date pre-release

    Nothing published for this version

  39. 3.0.0b2 no date pre-release

    Nothing published for this version

  40. 3.0.0b1 no date pre-release

    Nothing published for this version

  41. 3.0.0a5 22 Nov 2006 pre-release

    Nothing published for this version

  42. 2.0.1.09 no date

    Nothing published for this version

Stop reading changelogs one package at a time.

Point PackageTrack at your project and get told which of your dependencies moved, which of those matter, and what to do about it.

Track my project