PyOpenGL-accelerate 3.1.10__tar.gz → 4.0.0a1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (27) hide show
  1. {pyopengl_accelerate-3.1.10 → pyopengl_accelerate-4.0.0a1}/OpenGL_accelerate/__init__.py +2 -2
  2. pyopengl_accelerate-4.0.0a1/PKG-INFO +44 -0
  3. pyopengl_accelerate-4.0.0a1/PyOpenGL_accelerate.egg-info/PKG-INFO +44 -0
  4. {pyopengl_accelerate-3.1.10 → pyopengl_accelerate-4.0.0a1}/pyproject.toml +10 -4
  5. {pyopengl_accelerate-3.1.10 → pyopengl_accelerate-4.0.0a1}/src/arraydatatype.pyx +31 -3
  6. pyopengl_accelerate-3.1.10/PKG-INFO +0 -83
  7. pyopengl_accelerate-3.1.10/PyOpenGL_accelerate.egg-info/PKG-INFO +0 -83
  8. {pyopengl_accelerate-3.1.10 → pyopengl_accelerate-4.0.0a1}/MANIFEST.in +0 -0
  9. {pyopengl_accelerate-3.1.10 → pyopengl_accelerate-4.0.0a1}/OpenGL_accelerate/formathandler.pxd +0 -0
  10. {pyopengl_accelerate-3.1.10 → pyopengl_accelerate-4.0.0a1}/OpenGL_accelerate/wrapper.pxd +0 -0
  11. {pyopengl_accelerate-3.1.10 → pyopengl_accelerate-4.0.0a1}/PyOpenGL_accelerate.egg-info/SOURCES.txt +0 -0
  12. {pyopengl_accelerate-3.1.10 → pyopengl_accelerate-4.0.0a1}/PyOpenGL_accelerate.egg-info/dependency_links.txt +0 -0
  13. {pyopengl_accelerate-3.1.10 → pyopengl_accelerate-4.0.0a1}/PyOpenGL_accelerate.egg-info/top_level.txt +0 -0
  14. {pyopengl_accelerate-3.1.10 → pyopengl_accelerate-4.0.0a1}/README.md +0 -0
  15. {pyopengl_accelerate-3.1.10 → pyopengl_accelerate-4.0.0a1}/license.txt +0 -0
  16. {pyopengl_accelerate-3.1.10 → pyopengl_accelerate-4.0.0a1}/setup.cfg +0 -0
  17. {pyopengl_accelerate-3.1.10 → pyopengl_accelerate-4.0.0a1}/setup.py +0 -0
  18. {pyopengl_accelerate-3.1.10 → pyopengl_accelerate-4.0.0a1}/src/buffers_formathandler.pyx +0 -0
  19. {pyopengl_accelerate-3.1.10 → pyopengl_accelerate-4.0.0a1}/src/errorchecker.pyx +0 -0
  20. {pyopengl_accelerate-3.1.10 → pyopengl_accelerate-4.0.0a1}/src/formathandler.pyx +0 -0
  21. {pyopengl_accelerate-3.1.10 → pyopengl_accelerate-4.0.0a1}/src/latebind.pyx +0 -0
  22. {pyopengl_accelerate-3.1.10 → pyopengl_accelerate-4.0.0a1}/src/nones_formathandler.pyx +0 -0
  23. {pyopengl_accelerate-3.1.10 → pyopengl_accelerate-4.0.0a1}/src/numpy_formathandler.pyx +0 -0
  24. {pyopengl_accelerate-3.1.10 → pyopengl_accelerate-4.0.0a1}/src/vbo.pyx +0 -0
  25. {pyopengl_accelerate-3.1.10 → pyopengl_accelerate-4.0.0a1}/src/wrapper.pyx +0 -0
  26. {pyopengl_accelerate-3.1.10 → pyopengl_accelerate-4.0.0a1}/tests/test_arraydatatypeaccel.py +0 -0
  27. {pyopengl_accelerate-3.1.10 → pyopengl_accelerate-4.0.0a1}/tests/test_numpyaccel.py +0 -0
@@ -7,5 +7,5 @@ PyOpenGL package and is built via the setupaccel.py
7
7
  script in the top level of the PyOpenGL source package.
8
8
  """
9
9
 
10
- __version__ = "3.1.10"
11
- __version_tuple__ = (3, 1, 10)
10
+ __version__ = "4.0.0a1"
11
+ __version_tuple__ = (4, 0, 0)
@@ -0,0 +1,44 @@
1
+ Metadata-Version: 2.4
2
+ Name: PyOpenGL-accelerate
3
+ Version: 4.0.0a1
4
+ Summary: Cython-coded accelerators for PyOpenGL
5
+ Home-page: http://pyopengl.sourceforge.net
6
+ Download-URL: http://sourceforge.net/project/showfiles.php?group_id=5988
7
+ Author: Mike C. Fletcher
8
+ Author-email: "Mike C. Fletcher" <mcfletch@vrplumber.com>
9
+ License-Expression: BSD-3-Clause
10
+ Project-URL: Homepage, https://mcfletch.github.io/pyopengl/
11
+ Project-URL: Download, https://pypi.org/project/PyOpenGL-accelerate/
12
+ Project-URL: Source, https://github.com/mcfletch/pyopengl
13
+ Project-URL: Documentation, https://mcfletch.github.io/pyopengl/documentation/index.html
14
+ Keywords: Graphics,3D,OpenGL,GLU,GLUT,GLE,GLX,EXT,ARB,Mesa,PyOpenGL
15
+ Platform: Win32
16
+ Platform: Linux
17
+ Platform: OS-X
18
+ Platform: Posix
19
+ Classifier: Programming Language :: Python
20
+ Classifier: Programming Language :: Python :: 3
21
+ Classifier: Topic :: Multimedia :: Graphics :: 3D Rendering
22
+ Classifier: Topic :: Software Development :: Libraries :: Python Modules
23
+ Classifier: Intended Audience :: Developers
24
+ Requires-Python: >=3.9
25
+ Description-Content-Type: text/markdown
26
+ License-File: license.txt
27
+ Dynamic: download-url
28
+ Dynamic: license-file
29
+
30
+ # Acceleration code for PyOpenGL
31
+
32
+ This set of C (Cython) extensions provides acceleration of common operations
33
+ for slow points in PyOpenGL 3.x. It is not a requirement for using PyOpenGL
34
+ but performance without it will be poor.
35
+
36
+ ## Build Process
37
+
38
+ Cython is updated frequently to support newer versions of Python. As of
39
+ release 3.1.9 we no longer check in the Cython generated code for the
40
+ wrapper modules, relying on the build machines to generate the wrappers.
41
+
42
+ The Github CI Pipeline should generate and release binary builds for most
43
+ major platforms (Windows, Linux, Mac), but if you need to build from source,
44
+ a `pip install .` **should** work from the PyOpenGL repository.
@@ -0,0 +1,44 @@
1
+ Metadata-Version: 2.4
2
+ Name: PyOpenGL-accelerate
3
+ Version: 4.0.0a1
4
+ Summary: Cython-coded accelerators for PyOpenGL
5
+ Home-page: http://pyopengl.sourceforge.net
6
+ Download-URL: http://sourceforge.net/project/showfiles.php?group_id=5988
7
+ Author: Mike C. Fletcher
8
+ Author-email: "Mike C. Fletcher" <mcfletch@vrplumber.com>
9
+ License-Expression: BSD-3-Clause
10
+ Project-URL: Homepage, https://mcfletch.github.io/pyopengl/
11
+ Project-URL: Download, https://pypi.org/project/PyOpenGL-accelerate/
12
+ Project-URL: Source, https://github.com/mcfletch/pyopengl
13
+ Project-URL: Documentation, https://mcfletch.github.io/pyopengl/documentation/index.html
14
+ Keywords: Graphics,3D,OpenGL,GLU,GLUT,GLE,GLX,EXT,ARB,Mesa,PyOpenGL
15
+ Platform: Win32
16
+ Platform: Linux
17
+ Platform: OS-X
18
+ Platform: Posix
19
+ Classifier: Programming Language :: Python
20
+ Classifier: Programming Language :: Python :: 3
21
+ Classifier: Topic :: Multimedia :: Graphics :: 3D Rendering
22
+ Classifier: Topic :: Software Development :: Libraries :: Python Modules
23
+ Classifier: Intended Audience :: Developers
24
+ Requires-Python: >=3.9
25
+ Description-Content-Type: text/markdown
26
+ License-File: license.txt
27
+ Dynamic: download-url
28
+ Dynamic: license-file
29
+
30
+ # Acceleration code for PyOpenGL
31
+
32
+ This set of C (Cython) extensions provides acceleration of common operations
33
+ for slow points in PyOpenGL 3.x. It is not a requirement for using PyOpenGL
34
+ but performance without it will be poor.
35
+
36
+ ## Build Process
37
+
38
+ Cython is updated frequently to support newer versions of Python. As of
39
+ release 3.1.9 we no longer check in the Cython generated code for the
40
+ wrapper modules, relying on the build machines to generate the wrappers.
41
+
42
+ The Github CI Pipeline should generate and release binary builds for most
43
+ major platforms (Windows, Linux, Mac), but if you need to build from source,
44
+ a `pip install .` **should** work from the PyOpenGL repository.
@@ -6,7 +6,9 @@ authors = [
6
6
  {name="Mike C. Fletcher",email="mcfletch@vrplumber.com"},
7
7
  ]
8
8
  readme = {file="README.md", content-type = "text/markdown"}
9
- license={file="license.txt"}
9
+ license = "BSD-3-Clause"
10
+ license-files = ["license.txt"]
11
+ requires-python = ">=3.9"
10
12
  keywords = [
11
13
  "Graphics",
12
14
  "3D",
@@ -21,9 +23,7 @@ keywords = [
21
23
  "PyOpenGL",
22
24
  ]
23
25
  classifiers = [
24
- "License :: OSI Approved :: BSD License",
25
26
  "Programming Language :: Python",
26
- "Programming Language :: Python :: 2",
27
27
  "Programming Language :: Python :: 3",
28
28
  "Topic :: Multimedia :: Graphics :: 3D Rendering",
29
29
  "Topic :: Software Development :: Libraries :: Python Modules",
@@ -36,7 +36,13 @@ Source = "https://github.com/mcfletch/pyopengl"
36
36
  Documentation = "https://mcfletch.github.io/pyopengl/documentation/index.html"
37
37
 
38
38
  [build-system]
39
- requires = [ "setuptools >= 42.0", "Cython >= 0.28", "numpy" ]
39
+ # numpy 2.0+ produces wheels that are ABI-compatible with numpy >= 1.26 at runtime
40
+ # via the PyDataType_* accessor backports. Mostly hit by cibuildwheel.
41
+ requires = [
42
+ "setuptools >= 77.0",
43
+ "Cython >= 0.28",
44
+ "numpy >= 2.0",
45
+ ]
40
46
  build-backend = "setuptools.build_meta"
41
47
 
42
48
  [tool.setuptools.dynamic]
@@ -292,7 +292,35 @@ cdef class Output(cArgConverter):
292
292
  cdef object c_call( self, tuple pyArgs, int index, object baseOperation ):
293
293
  """Return pyArgs[ self.index ]"""
294
294
  return self.arrayType.c_zeros( self.c_getSize(pyArgs), self.arrayType.typeConstant )
295
-
295
+
296
+ cdef object c_orInput( self, tuple pyArgs, int index ):
297
+ """Coerce a passed-in output array, refusing a lossy copy.
298
+
299
+ When the caller's array is already an acceptable buffer, asArray returns
300
+ it unchanged and the GL result is written straight back into it. When it
301
+ is the wrong type, asArray must *copy* it to match; if that copy is
302
+ smaller than the caller's buffer, the read is truncated into the copy and
303
+ never reaches the caller's array -- the silent "returns zeroes" bug.
304
+ Detect the shrinking copy and raise. Correctly-typed arrays are not
305
+ copied, so they never trip this.
306
+ """
307
+ value = pyArgs[index]
308
+ result = self.arrayType.asArray( value )
309
+ if result is not value:
310
+ try:
311
+ rbytes = self.arrayType.arrayByteCount( result )
312
+ vbytes = self.arrayType.arrayByteCount( value )
313
+ except Exception:
314
+ return result
315
+ if rbytes < vbytes:
316
+ raise TypeError(
317
+ '%s: pass-in output array was coerced to a smaller buffer '
318
+ '(%d < %d bytes), so the GL result cannot be written back '
319
+ 'into your array. Pass a correctly-typed array, or None to '
320
+ 'have one allocated.' % ( self.name, rbytes, vbytes )
321
+ )
322
+ return result
323
+
296
324
  def oldStyleReturn( self, object result, object baseOperation, tuple pyArgs, tuple cArgs ):
297
325
  """Retrieve cArgs[ self.index ]"""
298
326
  #TODO: make this a c_api-bearing value, not a Python function call
@@ -313,7 +341,7 @@ cdef class OutputOrInput( Output ):
313
341
  cdef object c_call( self, tuple pyArgs, int index, object baseOperation ):
314
342
  """Return pyArgs[ self.index ]"""
315
343
  if pyArgs[index] is not DO_OUTPUT[0] and pyArgs[index] is not DO_OUTPUT[1]:
316
- return self.arrayType.asArray( pyArgs[index] )
344
+ return self.c_orInput( pyArgs, index )
317
345
  return self.arrayType.c_zeros( self.c_getSize(pyArgs), self.arrayType.typeConstant )
318
346
 
319
347
  cdef class SizedOutput( Output ):
@@ -353,7 +381,7 @@ cdef class SizedOutputOrInput( SizedOutput ):
353
381
  cdef object c_call( self, tuple pyArgs, int index, object baseOperation ):
354
382
  """Return pyArgs[ self.index ]"""
355
383
  if pyArgs[index] is not DO_OUTPUT[0] and pyArgs[index] is not DO_OUTPUT[1]:
356
- return self.arrayType.asArray( pyArgs[index] )
384
+ return self.c_orInput( pyArgs, index )
357
385
  return self.arrayType.c_zeros( self.c_getSize(pyArgs), self.arrayType.typeConstant )
358
386
 
359
387
 
@@ -1,83 +0,0 @@
1
- Metadata-Version: 2.4
2
- Name: PyOpenGL-accelerate
3
- Version: 3.1.10
4
- Summary: Cython-coded accelerators for PyOpenGL
5
- Home-page: http://pyopengl.sourceforge.net
6
- Download-URL: http://sourceforge.net/project/showfiles.php?group_id=5988
7
- Author: Mike C. Fletcher
8
- Author-email: "Mike C. Fletcher" <mcfletch@vrplumber.com>
9
- License: NOTE:
10
-
11
- THIS SOFTWARE IS NOT FAULT TOLERANT AND SHOULD NOT BE USED IN ANY
12
- SITUATION ENDANGERING HUMAN LIFE OR PROPERTY.
13
-
14
- OpenGL-ctypes PyOpenGL-accelerate License
15
-
16
- Copyright (c) 2005-2009, Michael C. Fletcher and Contributors
17
- All rights reserved.
18
-
19
- Redistribution and use in source and binary forms, with or without
20
- modification, are permitted provided that the following conditions
21
- are met:
22
-
23
- Redistributions of source code must retain the above copyright
24
- notice, this list of conditions and the following disclaimer.
25
-
26
- Redistributions in binary form must reproduce the above
27
- copyright notice, this list of conditions and the following
28
- disclaimer in the documentation and/or other materials
29
- provided with the distribution.
30
-
31
- The name of Michael C. Fletcher, or the name of any Contributor,
32
- may not be used to endorse or promote products derived from this
33
- software without specific prior written permission.
34
-
35
- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
36
- ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
37
- LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
38
- FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
39
- COPYRIGHT HOLDERS AND CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
40
- INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
41
- (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
42
- SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
43
- HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
44
- STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
45
- ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
46
- OF THE POSSIBILITY OF SUCH DAMAGE.
47
-
48
-
49
-
50
- Project-URL: Homepage, https://mcfletch.github.io/pyopengl/
51
- Project-URL: Download, https://pypi.org/project/PyOpenGL-accelerate/
52
- Project-URL: Source, https://github.com/mcfletch/pyopengl
53
- Project-URL: Documentation, https://mcfletch.github.io/pyopengl/documentation/index.html
54
- Keywords: Graphics,3D,OpenGL,GLU,GLUT,GLE,GLX,EXT,ARB,Mesa,PyOpenGL
55
- Platform: Win32
56
- Platform: Linux
57
- Platform: OS-X
58
- Platform: Posix
59
- Classifier: License :: OSI Approved :: BSD License
60
- Classifier: Programming Language :: Python
61
- Classifier: Programming Language :: Python :: 2
62
- Classifier: Programming Language :: Python :: 3
63
- Classifier: Topic :: Multimedia :: Graphics :: 3D Rendering
64
- Classifier: Topic :: Software Development :: Libraries :: Python Modules
65
- Classifier: Intended Audience :: Developers
66
- Description-Content-Type: text/markdown
67
- Dynamic: download-url
68
-
69
- # Acceleration code for PyOpenGL
70
-
71
- This set of C (Cython) extensions provides acceleration of common operations
72
- for slow points in PyOpenGL 3.x. It is not a requirement for using PyOpenGL
73
- but performance without it will be poor.
74
-
75
- ## Build Process
76
-
77
- Cython is updated frequently to support newer versions of Python. As of
78
- release 3.1.9 we no longer check in the Cython generated code for the
79
- wrapper modules, relying on the build machines to generate the wrappers.
80
-
81
- The Github CI Pipeline should generate and release binary builds for most
82
- major platforms (Windows, Linux, Mac), but if you need to build from source,
83
- a `pip install .` **should** work from the PyOpenGL repository.
@@ -1,83 +0,0 @@
1
- Metadata-Version: 2.4
2
- Name: PyOpenGL-accelerate
3
- Version: 3.1.10
4
- Summary: Cython-coded accelerators for PyOpenGL
5
- Home-page: http://pyopengl.sourceforge.net
6
- Download-URL: http://sourceforge.net/project/showfiles.php?group_id=5988
7
- Author: Mike C. Fletcher
8
- Author-email: "Mike C. Fletcher" <mcfletch@vrplumber.com>
9
- License: NOTE:
10
-
11
- THIS SOFTWARE IS NOT FAULT TOLERANT AND SHOULD NOT BE USED IN ANY
12
- SITUATION ENDANGERING HUMAN LIFE OR PROPERTY.
13
-
14
- OpenGL-ctypes PyOpenGL-accelerate License
15
-
16
- Copyright (c) 2005-2009, Michael C. Fletcher and Contributors
17
- All rights reserved.
18
-
19
- Redistribution and use in source and binary forms, with or without
20
- modification, are permitted provided that the following conditions
21
- are met:
22
-
23
- Redistributions of source code must retain the above copyright
24
- notice, this list of conditions and the following disclaimer.
25
-
26
- Redistributions in binary form must reproduce the above
27
- copyright notice, this list of conditions and the following
28
- disclaimer in the documentation and/or other materials
29
- provided with the distribution.
30
-
31
- The name of Michael C. Fletcher, or the name of any Contributor,
32
- may not be used to endorse or promote products derived from this
33
- software without specific prior written permission.
34
-
35
- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
36
- ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
37
- LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
38
- FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
39
- COPYRIGHT HOLDERS AND CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
40
- INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
41
- (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
42
- SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
43
- HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
44
- STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
45
- ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
46
- OF THE POSSIBILITY OF SUCH DAMAGE.
47
-
48
-
49
-
50
- Project-URL: Homepage, https://mcfletch.github.io/pyopengl/
51
- Project-URL: Download, https://pypi.org/project/PyOpenGL-accelerate/
52
- Project-URL: Source, https://github.com/mcfletch/pyopengl
53
- Project-URL: Documentation, https://mcfletch.github.io/pyopengl/documentation/index.html
54
- Keywords: Graphics,3D,OpenGL,GLU,GLUT,GLE,GLX,EXT,ARB,Mesa,PyOpenGL
55
- Platform: Win32
56
- Platform: Linux
57
- Platform: OS-X
58
- Platform: Posix
59
- Classifier: License :: OSI Approved :: BSD License
60
- Classifier: Programming Language :: Python
61
- Classifier: Programming Language :: Python :: 2
62
- Classifier: Programming Language :: Python :: 3
63
- Classifier: Topic :: Multimedia :: Graphics :: 3D Rendering
64
- Classifier: Topic :: Software Development :: Libraries :: Python Modules
65
- Classifier: Intended Audience :: Developers
66
- Description-Content-Type: text/markdown
67
- Dynamic: download-url
68
-
69
- # Acceleration code for PyOpenGL
70
-
71
- This set of C (Cython) extensions provides acceleration of common operations
72
- for slow points in PyOpenGL 3.x. It is not a requirement for using PyOpenGL
73
- but performance without it will be poor.
74
-
75
- ## Build Process
76
-
77
- Cython is updated frequently to support newer versions of Python. As of
78
- release 3.1.9 we no longer check in the Cython generated code for the
79
- wrapper modules, relying on the build machines to generate the wrappers.
80
-
81
- The Github CI Pipeline should generate and release binary builds for most
82
- major platforms (Windows, Linux, Mac), but if you need to build from source,
83
- a `pip install .` **should** work from the PyOpenGL repository.