pyglet 3.0.dev6__tar.gz → 3.0.dev8__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 (1288) hide show
  1. pyglet-3.0.dev8/.github/workflows/unittests.yml +196 -0
  2. pyglet-3.0.dev8/.gitignore +56 -0
  3. pyglet-3.0.dev8/MANIFEST.in +21 -0
  4. pyglet-3.0.dev8/PKG-INFO +188 -0
  5. pyglet-3.0.dev8/README.md +157 -0
  6. pyglet-3.0.dev8/RELEASE_NOTES +1481 -0
  7. pyglet-3.0.dev8/contrib/svg/svg_test.py +341 -0
  8. pyglet-3.0.dev8/contrib/toys/follow_mouse.py +109 -0
  9. pyglet-3.0.dev8/doc/conf.py +452 -0
  10. pyglet-3.0.dev8/doc/index.rst +152 -0
  11. pyglet-3.0.dev8/doc/internal/media_manual.rst +367 -0
  12. pyglet-3.0.dev8/doc/internal/virtualenv.rst +153 -0
  13. pyglet-3.0.dev8/doc/modules/gui.rst +45 -0
  14. pyglet-3.0.dev8/doc/modules/info.rst +48 -0
  15. pyglet-3.0.dev8/doc/modules/media.rst +145 -0
  16. pyglet-3.0.dev8/doc/modules/storage.rst +6 -0
  17. pyglet-3.0.dev8/doc/modules/window.rst +166 -0
  18. pyglet-3.0.dev8/doc/modules/window_camera.rst +7 -0
  19. pyglet-3.0.dev8/doc/programming_guide/camera.rst +270 -0
  20. pyglet-3.0.dev8/doc/programming_guide/context.rst +425 -0
  21. pyglet-3.0.dev8/doc/programming_guide/event_chains.rst +594 -0
  22. pyglet-3.0.dev8/doc/programming_guide/eventloop.rst +142 -0
  23. pyglet-3.0.dev8/doc/programming_guide/events.rst +306 -0
  24. pyglet-3.0.dev8/doc/programming_guide/fonts.rst +354 -0
  25. pyglet-3.0.dev8/doc/programming_guide/from_pygame.rst +397 -0
  26. pyglet-3.0.dev8/doc/programming_guide/installation.rst +61 -0
  27. pyglet-3.0.dev8/doc/programming_guide/migration.rst +445 -0
  28. pyglet-3.0.dev8/doc/programming_guide/opengles.rst +118 -0
  29. pyglet-3.0.dev8/doc/programming_guide/pyodide.rst +403 -0
  30. pyglet-3.0.dev8/doc/programming_guide/rendering.rst +823 -0
  31. pyglet-3.0.dev8/doc/programming_guide/resources.rst +378 -0
  32. pyglet-3.0.dev8/doc/programming_guide/text.rst +587 -0
  33. pyglet-3.0.dev8/doc/programming_guide/texture.rst +421 -0
  34. pyglet-3.0.dev8/doc/programming_guide/time.rst +224 -0
  35. pyglet-3.0.dev8/doc/programming_guide/windowing.rst +595 -0
  36. pyglet-3.0.dev8/examples/graphics/instancing.py +153 -0
  37. pyglet-3.0.dev8/examples/graphics/instancing_order.py +150 -0
  38. pyglet-3.0.dev8/examples/graphics/uniform_buffer_object.py +152 -0
  39. pyglet-3.0.dev8/examples/gui/widgets.py +100 -0
  40. pyglet-3.0.dev8/examples/media/media_player.py +473 -0
  41. pyglet-3.0.dev8/examples/media/soundspace/soundspace.py +626 -0
  42. pyglet-3.0.dev8/examples/opengl/compute_shader.py +54 -0
  43. pyglet-3.0.dev8/examples/opengl/egl_context.py +81 -0
  44. pyglet-3.0.dev8/examples/opengl/minimal_shader.py +127 -0
  45. pyglet-3.0.dev8/examples/opengl/opengl_core.py +90 -0
  46. pyglet-3.0.dev8/examples/opengl/opengl_scissor.py +60 -0
  47. pyglet-3.0.dev8/examples/opengl/torus.py +136 -0
  48. pyglet-3.0.dev8/examples/opengl/transform_shader.py +193 -0
  49. pyglet-3.0.dev8/examples/text/font_groups.py +69 -0
  50. pyglet-3.0.dev8/examples/text/text_effect_shaders.py +170 -0
  51. pyglet-3.0.dev8/examples/text/text_effects.py +80 -0
  52. pyglet-3.0.dev8/examples/window/camera/camera_group.py +95 -0
  53. pyglet-3.0.dev8/examples/window/camera/camera_scissor.py +101 -0
  54. pyglet-3.0.dev8/examples/window/camera/camera_views.py +131 -0
  55. pyglet-3.0.dev8/pyglet/__init__.py +542 -0
  56. pyglet-3.0.dev8/pyglet/__init__.pyi +91 -0
  57. pyglet-3.0.dev8/pyglet/app/__init__.py +108 -0
  58. pyglet-3.0.dev8/pyglet/app/async_app.py +287 -0
  59. pyglet-3.0.dev8/pyglet/app/base.py +443 -0
  60. pyglet-3.0.dev8/pyglet/app/cocoa.py +294 -0
  61. pyglet-3.0.dev8/pyglet/clock.py +1881 -0
  62. pyglet-3.0.dev8/pyglet/config/gl/egl.py +123 -0
  63. pyglet-3.0.dev8/pyglet/display/__init__.py +82 -0
  64. pyglet-3.0.dev8/pyglet/display/base.py +228 -0
  65. pyglet-3.0.dev8/pyglet/display/cocoa.py +154 -0
  66. pyglet-3.0.dev8/pyglet/display/emscripten.py +39 -0
  67. pyglet-3.0.dev8/pyglet/display/headless.py +98 -0
  68. pyglet-3.0.dev8/pyglet/display/wayland.py +157 -0
  69. pyglet-3.0.dev8/pyglet/enums.py +244 -0
  70. pyglet-3.0.dev8/pyglet/event.py +498 -0
  71. pyglet-3.0.dev8/pyglet/experimental/flaccodec.py +380 -0
  72. pyglet-3.0.dev8/pyglet/experimental/geoshader_sprite.py +803 -0
  73. pyglet-3.0.dev8/pyglet/experimental/particles.py +434 -0
  74. pyglet-3.0.dev8/pyglet/font/__init__.py +426 -0
  75. pyglet-3.0.dev8/pyglet/font/base.py +590 -0
  76. pyglet-3.0.dev8/pyglet/font/dwrite/__init__.py +1709 -0
  77. pyglet-3.0.dev8/pyglet/font/dwrite/d2d1_lib.py +773 -0
  78. pyglet-3.0.dev8/pyglet/font/dwrite/d2d1_types_lib.py +103 -0
  79. pyglet-3.0.dev8/pyglet/font/dwrite/dwrite_lib.py +1599 -0
  80. pyglet-3.0.dev8/pyglet/font/fontconfig.py +536 -0
  81. pyglet-3.0.dev8/pyglet/font/freetype.py +766 -0
  82. pyglet-3.0.dev8/pyglet/font/freetype_lib.py +772 -0
  83. pyglet-3.0.dev8/pyglet/font/group.py +215 -0
  84. pyglet-3.0.dev8/pyglet/font/pyodide_js.py +383 -0
  85. pyglet-3.0.dev8/pyglet/font/quartz.py +969 -0
  86. pyglet-3.0.dev8/pyglet/font/ttf.py +659 -0
  87. pyglet-3.0.dev8/pyglet/font/user.py +312 -0
  88. pyglet-3.0.dev8/pyglet/font/win32.py +592 -0
  89. pyglet-3.0.dev8/pyglet/graphics/__init__.py +63 -0
  90. pyglet-3.0.dev8/pyglet/graphics/api/base.py +673 -0
  91. pyglet-3.0.dev8/pyglet/graphics/api/gl/cocoa/context.py +72 -0
  92. pyglet-3.0.dev8/pyglet/graphics/api/gl/context.py +445 -0
  93. pyglet-3.0.dev8/pyglet/graphics/api/gl/egl/context.py +97 -0
  94. pyglet-3.0.dev8/pyglet/graphics/api/gl/enums.py +76 -0
  95. pyglet-3.0.dev8/pyglet/graphics/api/gl/framebuffer.py +372 -0
  96. pyglet-3.0.dev8/pyglet/graphics/api/gl/gl_info.py +263 -0
  97. pyglet-3.0.dev8/pyglet/graphics/api/gl/shader.py +1306 -0
  98. pyglet-3.0.dev8/pyglet/graphics/api/gl/shapes.py +55 -0
  99. pyglet-3.0.dev8/pyglet/graphics/api/gl/sprite.py +201 -0
  100. pyglet-3.0.dev8/pyglet/graphics/api/gl/state.py +255 -0
  101. pyglet-3.0.dev8/pyglet/graphics/api/gl/text.py +207 -0
  102. pyglet-3.0.dev8/pyglet/graphics/api/gl/texture.py +1391 -0
  103. pyglet-3.0.dev8/pyglet/graphics/api/gl/vertexdomain.py +882 -0
  104. pyglet-3.0.dev8/pyglet/graphics/api/gl2/framebuffer.py +85 -0
  105. pyglet-3.0.dev8/pyglet/graphics/api/gl2/shader.py +247 -0
  106. pyglet-3.0.dev8/pyglet/graphics/api/gl2/shapes.py +51 -0
  107. pyglet-3.0.dev8/pyglet/graphics/api/gl2/sprite.py +166 -0
  108. pyglet-3.0.dev8/pyglet/graphics/api/gl2/text.py +192 -0
  109. pyglet-3.0.dev8/pyglet/graphics/api/gl2/vertexdomain.py +349 -0
  110. pyglet-3.0.dev8/pyglet/graphics/api/webgl/__init__.py +151 -0
  111. pyglet-3.0.dev8/pyglet/graphics/api/webgl/buffer.py +532 -0
  112. pyglet-3.0.dev8/pyglet/graphics/api/webgl/context.py +240 -0
  113. pyglet-3.0.dev8/pyglet/graphics/api/webgl/enums.py +76 -0
  114. pyglet-3.0.dev8/pyglet/graphics/api/webgl/framebuffer.py +401 -0
  115. pyglet-3.0.dev8/pyglet/graphics/api/webgl/gl_info.py +126 -0
  116. pyglet-3.0.dev8/pyglet/graphics/api/webgl/renderer.py +23 -0
  117. pyglet-3.0.dev8/pyglet/graphics/api/webgl/shader.py +959 -0
  118. pyglet-3.0.dev8/pyglet/graphics/api/webgl/shapes.py +92 -0
  119. pyglet-3.0.dev8/pyglet/graphics/api/webgl/sprite.py +201 -0
  120. pyglet-3.0.dev8/pyglet/graphics/api/webgl/state.py +241 -0
  121. pyglet-3.0.dev8/pyglet/graphics/api/webgl/text.py +204 -0
  122. pyglet-3.0.dev8/pyglet/graphics/api/webgl/texture.py +959 -0
  123. pyglet-3.0.dev8/pyglet/graphics/buffer.py +959 -0
  124. pyglet-3.0.dev8/pyglet/graphics/draw.py +1271 -0
  125. pyglet-3.0.dev8/pyglet/graphics/framebuffer.py +443 -0
  126. pyglet-3.0.dev8/pyglet/graphics/shader.py +1351 -0
  127. pyglet-3.0.dev8/pyglet/graphics/state.py +253 -0
  128. pyglet-3.0.dev8/pyglet/graphics/texture.py +1203 -0
  129. pyglet-3.0.dev8/pyglet/graphics/vertexdomain.py +1182 -0
  130. pyglet-3.0.dev8/pyglet/gui/ninepatch.py +315 -0
  131. pyglet-3.0.dev8/pyglet/gui/widgets.py +718 -0
  132. pyglet-3.0.dev8/pyglet/image/__init__.py +258 -0
  133. pyglet-3.0.dev8/pyglet/image/codecs/__init__.py +234 -0
  134. pyglet-3.0.dev8/pyglet/image/codecs/gdiplus.py +356 -0
  135. pyglet-3.0.dev8/pyglet/image/codecs/js_image.py +84 -0
  136. pyglet-3.0.dev8/pyglet/image/codecs/pil.py +82 -0
  137. pyglet-3.0.dev8/pyglet/image/codecs/wic.py +376 -0
  138. pyglet-3.0.dev8/pyglet/info.py +749 -0
  139. pyglet-3.0.dev8/pyglet/input/emscripten/gamepad_js.py +397 -0
  140. pyglet-3.0.dev8/pyglet/input/macos/darwin_gc.py +646 -0
  141. pyglet-3.0.dev8/pyglet/libs/darwin/cocoapy/cocoalibs.py +827 -0
  142. pyglet-3.0.dev8/pyglet/libs/darwin/cocoapy/runtime.py +1834 -0
  143. pyglet-3.0.dev8/pyglet/libs/egl/__init__.py +2 -0
  144. pyglet-3.0.dev8/pyglet/libs/egl/egl.py +568 -0
  145. pyglet-3.0.dev8/pyglet/libs/egl/eglext.py +43 -0
  146. pyglet-3.0.dev8/pyglet/libs/emscripten/__init__.py +72 -0
  147. pyglet-3.0.dev8/pyglet/libs/emscripten/files.py +45 -0
  148. pyglet-3.0.dev8/pyglet/libs/emscripten/filesystem.py +63 -0
  149. pyglet-3.0.dev8/pyglet/libs/emscripten/proxies.py +55 -0
  150. pyglet-3.0.dev8/pyglet/libs/emscripten/pyglet_emscripten.js +79 -0
  151. pyglet-3.0.dev8/pyglet/libs/win32/__init__.py +392 -0
  152. pyglet-3.0.dev8/pyglet/libs/win32/com.py +464 -0
  153. pyglet-3.0.dev8/pyglet/libs/win32/types.py +882 -0
  154. pyglet-3.0.dev8/pyglet/math.py +1604 -0
  155. pyglet-3.0.dev8/pyglet/media/__init__.py +280 -0
  156. pyglet-3.0.dev8/pyglet/media/codecs/__init__.py +176 -0
  157. pyglet-3.0.dev8/pyglet/media/codecs/base.py +623 -0
  158. pyglet-3.0.dev8/pyglet/media/codecs/coreaudio.py +189 -0
  159. pyglet-3.0.dev8/pyglet/media/codecs/ffmpeg.py +1365 -0
  160. pyglet-3.0.dev8/pyglet/media/codecs/ffmpeg_lib/libswresample.py +65 -0
  161. pyglet-3.0.dev8/pyglet/media/codecs/gstreamer.py +267 -0
  162. pyglet-3.0.dev8/pyglet/media/codecs/pyogg.py +474 -0
  163. pyglet-3.0.dev8/pyglet/media/codecs/wave.py +129 -0
  164. pyglet-3.0.dev8/pyglet/media/codecs/webaudio_pyodide.py +110 -0
  165. pyglet-3.0.dev8/pyglet/media/codecs/wmf.py +896 -0
  166. pyglet-3.0.dev8/pyglet/media/devices/base.py +101 -0
  167. pyglet-3.0.dev8/pyglet/media/drivers/base.py +457 -0
  168. pyglet-3.0.dev8/pyglet/media/drivers/directsound/adaptation.py +334 -0
  169. pyglet-3.0.dev8/pyglet/media/drivers/directsound/interface.py +414 -0
  170. pyglet-3.0.dev8/pyglet/media/drivers/openal/adaptation.py +255 -0
  171. pyglet-3.0.dev8/pyglet/media/drivers/openal/interface.py +500 -0
  172. pyglet-3.0.dev8/pyglet/media/drivers/pulse/adaptation.py +375 -0
  173. pyglet-3.0.dev8/pyglet/media/drivers/pulse/interface.py +782 -0
  174. pyglet-3.0.dev8/pyglet/media/drivers/pyodide_js/adaptation.py +259 -0
  175. pyglet-3.0.dev8/pyglet/media/drivers/silent/adaptation.py +147 -0
  176. pyglet-3.0.dev8/pyglet/media/drivers/xaudio2/adaptation.py +447 -0
  177. pyglet-3.0.dev8/pyglet/media/drivers/xaudio2/interface.py +860 -0
  178. pyglet-3.0.dev8/pyglet/media/player.py +765 -0
  179. pyglet-3.0.dev8/pyglet/media/player_worker_thread.py +128 -0
  180. pyglet-3.0.dev8/pyglet/media/synthesis.py +362 -0
  181. pyglet-3.0.dev8/pyglet/model/__init__.py +666 -0
  182. pyglet-3.0.dev8/pyglet/model/codecs/gltf.py +679 -0
  183. pyglet-3.0.dev8/pyglet/model/codecs/obj.py +285 -0
  184. pyglet-3.0.dev8/pyglet/resource.py +919 -0
  185. pyglet-3.0.dev8/pyglet/shapes.py +2760 -0
  186. pyglet-3.0.dev8/pyglet/sprite.py +1024 -0
  187. pyglet-3.0.dev8/pyglet/storage.py +398 -0
  188. pyglet-3.0.dev8/pyglet/text/__init__.py +653 -0
  189. pyglet-3.0.dev8/pyglet/text/caret.py +611 -0
  190. pyglet-3.0.dev8/pyglet/text/document.py +725 -0
  191. pyglet-3.0.dev8/pyglet/text/effects.py +62 -0
  192. pyglet-3.0.dev8/pyglet/text/formats/html.py +489 -0
  193. pyglet-3.0.dev8/pyglet/text/formats/structured.py +354 -0
  194. pyglet-3.0.dev8/pyglet/text/layout/__init__.py +159 -0
  195. pyglet-3.0.dev8/pyglet/text/layout/base.py +1138 -0
  196. pyglet-3.0.dev8/pyglet/text/layout/boxes.py +1038 -0
  197. pyglet-3.0.dev8/pyglet/text/layout/flow.py +510 -0
  198. pyglet-3.0.dev8/pyglet/text/layout/incremental.py +992 -0
  199. pyglet-3.0.dev8/pyglet/text/layout/scrolling.py +210 -0
  200. pyglet-3.0.dev8/pyglet/window/__init__.py +2021 -0
  201. pyglet-3.0.dev8/pyglet/window/camera/base.py +905 -0
  202. pyglet-3.0.dev8/pyglet/window/camera/camera2d.py +418 -0
  203. pyglet-3.0.dev8/pyglet/window/camera/camera3d.py +362 -0
  204. pyglet-3.0.dev8/pyglet/window/cocoa/__init__.py +748 -0
  205. pyglet-3.0.dev8/pyglet/window/cocoa/pyglet_delegate.py +165 -0
  206. pyglet-3.0.dev8/pyglet/window/cocoa/pyglet_view.py +445 -0
  207. pyglet-3.0.dev8/pyglet/window/dialog/__init__.py +194 -0
  208. pyglet-3.0.dev8/pyglet/window/dialog/base.py +130 -0
  209. pyglet-3.0.dev8/pyglet/window/dialog/darwin.py +121 -0
  210. pyglet-3.0.dev8/pyglet/window/dialog/emscripten.py +74 -0
  211. pyglet-3.0.dev8/pyglet/window/dialog/linux.py +74 -0
  212. pyglet-3.0.dev8/pyglet/window/dialog/windows.py +194 -0
  213. pyglet-3.0.dev8/pyglet/window/emscripten/__init__.py +864 -0
  214. pyglet-3.0.dev8/pyglet/window/headless/__init__.py +148 -0
  215. pyglet-3.0.dev8/pyglet/window/wayland/__init__.py +370 -0
  216. pyglet-3.0.dev8/pyproject.toml +187 -0
  217. pyglet-3.0.dev8/tests/annotations.py +112 -0
  218. pyglet-3.0.dev8/tests/base/event_loop.py +169 -0
  219. pyglet-3.0.dev8/tests/integration/app/test_eventloop.py +127 -0
  220. pyglet-3.0.dev8/tests/integration/conftest.py +14 -0
  221. pyglet-3.0.dev8/tests/integration/font/test_font.py +246 -0
  222. pyglet-3.0.dev8/tests/integration/font/test_freetype_face.py +146 -0
  223. pyglet-3.0.dev8/tests/integration/font/test_gdi_renderer.py +77 -0
  224. pyglet-3.0.dev8/tests/integration/graphics/__init__.py +7 -0
  225. pyglet-3.0.dev8/tests/integration/graphics/gl2/__init__.py +1 -0
  226. pyglet-3.0.dev8/tests/integration/graphics/gl2/test_buffers.py +243 -0
  227. pyglet-3.0.dev8/tests/integration/graphics/gl2/test_texture_readback.py +31 -0
  228. pyglet-3.0.dev8/tests/integration/graphics/opengl/__init__.py +1 -0
  229. pyglet-3.0.dev8/tests/integration/graphics/opengl/test_buffers.py +627 -0
  230. pyglet-3.0.dev8/tests/integration/graphics/opengl/test_compute_shader.py +97 -0
  231. pyglet-3.0.dev8/tests/integration/graphics/opengl/test_framebuffer.py +259 -0
  232. pyglet-3.0.dev8/tests/integration/graphics/opengl/test_instancing.py +410 -0
  233. pyglet-3.0.dev8/tests/integration/graphics/opengl/test_shaders.py +727 -0
  234. pyglet-3.0.dev8/tests/integration/graphics/opengl/test_surface_info.py +87 -0
  235. pyglet-3.0.dev8/tests/integration/graphics/opengl/test_texture.py +113 -0
  236. pyglet-3.0.dev8/tests/integration/graphics/opengl/test_texture_compressed.py +55 -0
  237. pyglet-3.0.dev8/tests/integration/graphics/test_atlas_bins.py +83 -0
  238. pyglet-3.0.dev8/tests/integration/graphics/test_batch_migration.py +47 -0
  239. pyglet-3.0.dev8/tests/integration/graphics/test_cameras.py +429 -0
  240. pyglet-3.0.dev8/tests/integration/graphics/test_groups.py +733 -0
  241. pyglet-3.0.dev8/tests/integration/graphics/test_objects.py +521 -0
  242. pyglet-3.0.dev8/tests/integration/graphics/test_resource_texture_transforms.py +28 -0
  243. pyglet-3.0.dev8/tests/integration/graphics/test_texture2d.py +90 -0
  244. pyglet-3.0.dev8/tests/integration/graphics/test_vertex_list.py +234 -0
  245. pyglet-3.0.dev8/tests/integration/graphics/webgl/__init__.py +1 -0
  246. pyglet-3.0.dev8/tests/integration/graphics/webgl/conftest.py +30 -0
  247. pyglet-3.0.dev8/tests/integration/graphics/webgl/test_context.py +30 -0
  248. pyglet-3.0.dev8/tests/integration/graphics/webgl/test_shaders_and_batches.py +49 -0
  249. pyglet-3.0.dev8/tests/integration/graphics/webgl/test_shapes_sprites_and_text.py +40 -0
  250. pyglet-3.0.dev8/tests/integration/graphics/webgl/test_textures_and_framebuffers.py +96 -0
  251. pyglet-3.0.dev8/tests/integration/image/test_wic.py +60 -0
  252. pyglet-3.0.dev8/tests/integration/libs/darwin/cocoapy/test_cocoalibs.py +76 -0
  253. pyglet-3.0.dev8/tests/integration/media/test_driver.py +264 -0
  254. pyglet-3.0.dev8/tests/integration/media/test_openal.py +434 -0
  255. pyglet-3.0.dev8/tests/integration/media/test_xaudio2.py +240 -0
  256. pyglet-3.0.dev8/tests/integration/platform/pyodide/test_async_event_loop.py +61 -0
  257. pyglet-3.0.dev8/tests/integration/platform/pyodide/test_filesystem.py +24 -0
  258. pyglet-3.0.dev8/tests/integration/platform/pyodide/test_proxy_lifecycle.py +27 -0
  259. pyglet-3.0.dev8/tests/integration/platform/pyodide/test_runtime.py +45 -0
  260. pyglet-3.0.dev8/tests/integration/text/test_label_creation.py +114 -0
  261. pyglet-3.0.dev8/tests/integration/text/test_layout.py +208 -0
  262. pyglet-3.0.dev8/tests/interactive/text/test_html.py +260 -0
  263. pyglet-3.0.dev8/tests/interactive/text/test_inline_elements.py +207 -0
  264. pyglet-3.0.dev8/tests/interactive/text/test_inline_elements_style_change.py +144 -0
  265. pyglet-3.0.dev8/tests/interactive/window/test_window_multisample.py +216 -0
  266. pyglet-3.0.dev8/tests/pyodide/README.md +45 -0
  267. pyglet-3.0.dev8/tests/pyodide/browser_harness.py +124 -0
  268. pyglet-3.0.dev8/tests/pyodide/index.html +12 -0
  269. pyglet-3.0.dev8/tests/pyodide/project_builder.py +96 -0
  270. pyglet-3.0.dev8/tests/pyodide/pytest_runner.py +28 -0
  271. pyglet-3.0.dev8/tests/pyodide/run_pyodide_tests.py +75 -0
  272. pyglet-3.0.dev8/tests/pyodide/script.js +46 -0
  273. pyglet-3.0.dev8/tests/requirements.txt +2 -0
  274. pyglet-3.0.dev8/tests/unit/math/test_mat.py +188 -0
  275. pyglet-3.0.dev8/tests/unit/media/test_player.py +842 -0
  276. pyglet-3.0.dev8/tests/unit/media/test_player_worker_thread.py +142 -0
  277. pyglet-3.0.dev8/tests/unit/media/test_sources.py +329 -0
  278. pyglet-3.0.dev8/tests/unit/media/test_synthesis.py +65 -0
  279. pyglet-3.0.dev8/tests/unit/platform/test_mac_objc.py +257 -0
  280. pyglet-3.0.dev8/tests/unit/test_clock.py +718 -0
  281. pyglet-3.0.dev8/tests/unit/test_clock_freq.py +51 -0
  282. pyglet-3.0.dev8/tests/unit/test_event_chain.py +1305 -0
  283. pyglet-3.0.dev8/tests/unit/test_info.py +140 -0
  284. pyglet-3.0.dev8/tests/unit/test_resource_path.py +115 -0
  285. pyglet-3.0.dev8/tests/unit/test_storage.py +175 -0
  286. pyglet-3.0.dev8/tests/unit/test_win32_com.py +36 -0
  287. pyglet-3.0.dev8/tests/unit/text/test_caret.py +108 -0
  288. pyglet-3.0.dev8/tests/unit/text/test_text.py +325 -0
  289. pyglet-3.0.dev8/tools/benchmark_clock.py +175 -0
  290. pyglet-3.0.dev8/tools/web.py +497 -0
  291. pyglet-3.0.dev8/tools/web_example/README.md +91 -0
  292. pyglet-3.0.dev8/tools/web_example/example.py +42 -0
  293. pyglet-3.0.dev8/tools/web_example/pyproject.toml +12 -0
  294. pyglet-3.0.dev8/tools/web_example/web/dev_style.css +15 -0
  295. pyglet-3.0.dev8/tools/web_example/web/index.html +15 -0
  296. pyglet-3.0.dev8/website/content/authors/benjamin/pyglet.png +0 -0
  297. pyglet-3.0.dev6/.github/workflows/unittests.yml +0 -190
  298. pyglet-3.0.dev6/.gitignore +0 -52
  299. pyglet-3.0.dev6/MANIFEST.in +0 -20
  300. pyglet-3.0.dev6/PKG-INFO +0 -165
  301. pyglet-3.0.dev6/README.md +0 -154
  302. pyglet-3.0.dev6/RELEASE_NOTES +0 -1440
  303. pyglet-3.0.dev6/contrib/svg/svg_test.py +0 -341
  304. pyglet-3.0.dev6/contrib/toys/follow_mouse.py +0 -109
  305. pyglet-3.0.dev6/doc/conf.py +0 -451
  306. pyglet-3.0.dev6/doc/index.rst +0 -120
  307. pyglet-3.0.dev6/doc/internal/media_manual.rst +0 -362
  308. pyglet-3.0.dev6/doc/internal/virtualenv.rst +0 -149
  309. pyglet-3.0.dev6/doc/modules/gui.rst +0 -40
  310. pyglet-3.0.dev6/doc/modules/info.rst +0 -6
  311. pyglet-3.0.dev6/doc/modules/media.rst +0 -148
  312. pyglet-3.0.dev6/doc/modules/window.rst +0 -166
  313. pyglet-3.0.dev6/doc/programming_guide/camera.rst +0 -131
  314. pyglet-3.0.dev6/doc/programming_guide/context.rst +0 -382
  315. pyglet-3.0.dev6/doc/programming_guide/eventloop.rst +0 -142
  316. pyglet-3.0.dev6/doc/programming_guide/events.rst +0 -302
  317. pyglet-3.0.dev6/doc/programming_guide/installation.rst +0 -48
  318. pyglet-3.0.dev6/doc/programming_guide/migration.rst +0 -308
  319. pyglet-3.0.dev6/doc/programming_guide/opengles.rst +0 -89
  320. pyglet-3.0.dev6/doc/programming_guide/pyodide.rst +0 -141
  321. pyglet-3.0.dev6/doc/programming_guide/rendering.rst +0 -791
  322. pyglet-3.0.dev6/doc/programming_guide/resources.rst +0 -245
  323. pyglet-3.0.dev6/doc/programming_guide/text.rst +0 -839
  324. pyglet-3.0.dev6/doc/programming_guide/texture.rst +0 -307
  325. pyglet-3.0.dev6/doc/programming_guide/time.rst +0 -167
  326. pyglet-3.0.dev6/doc/programming_guide/windowing.rst +0 -594
  327. pyglet-3.0.dev6/examples/graphics/instancing.py +0 -153
  328. pyglet-3.0.dev6/examples/graphics/instancing_order.py +0 -150
  329. pyglet-3.0.dev6/examples/graphics/uniform_buffer_object.py +0 -152
  330. pyglet-3.0.dev6/examples/gui/widgets.py +0 -100
  331. pyglet-3.0.dev6/examples/media/media_player.py +0 -473
  332. pyglet-3.0.dev6/examples/media/soundspace/soundspace.py +0 -661
  333. pyglet-3.0.dev6/examples/opengl/compute_shader.py +0 -45
  334. pyglet-3.0.dev6/examples/opengl/egl_context.py +0 -81
  335. pyglet-3.0.dev6/examples/opengl/minimal_shader.py +0 -127
  336. pyglet-3.0.dev6/examples/opengl/opengl_core.py +0 -90
  337. pyglet-3.0.dev6/examples/opengl/opengl_scissor.py +0 -94
  338. pyglet-3.0.dev6/examples/opengl/torus.py +0 -136
  339. pyglet-3.0.dev6/examples/opengl/transform_shader.py +0 -193
  340. pyglet-3.0.dev6/examples/text/font_groups.py +0 -39
  341. pyglet-3.0.dev6/examples/window/camera/camera_group.py +0 -91
  342. pyglet-3.0.dev6/examples/window/camera/camera_scissor.py +0 -101
  343. pyglet-3.0.dev6/examples/window/camera/camera_views.py +0 -126
  344. pyglet-3.0.dev6/pyglet/__init__.py +0 -529
  345. pyglet-3.0.dev6/pyglet/__init__.pyi +0 -91
  346. pyglet-3.0.dev6/pyglet/app/__init__.py +0 -117
  347. pyglet-3.0.dev6/pyglet/app/async_app.py +0 -212
  348. pyglet-3.0.dev6/pyglet/app/base.py +0 -330
  349. pyglet-3.0.dev6/pyglet/app/cocoa.py +0 -298
  350. pyglet-3.0.dev6/pyglet/clock.py +0 -568
  351. pyglet-3.0.dev6/pyglet/config/gl/egl.py +0 -123
  352. pyglet-3.0.dev6/pyglet/display/__init__.py +0 -82
  353. pyglet-3.0.dev6/pyglet/display/base.py +0 -228
  354. pyglet-3.0.dev6/pyglet/display/cocoa.py +0 -166
  355. pyglet-3.0.dev6/pyglet/display/emscripten.py +0 -39
  356. pyglet-3.0.dev6/pyglet/display/headless.py +0 -75
  357. pyglet-3.0.dev6/pyglet/display/wayland.py +0 -157
  358. pyglet-3.0.dev6/pyglet/enums.py +0 -230
  359. pyglet-3.0.dev6/pyglet/event.py +0 -498
  360. pyglet-3.0.dev6/pyglet/experimental/flaccodec.py +0 -380
  361. pyglet-3.0.dev6/pyglet/experimental/geoshader_sprite.py +0 -801
  362. pyglet-3.0.dev6/pyglet/experimental/particles.py +0 -433
  363. pyglet-3.0.dev6/pyglet/font/__init__.py +0 -403
  364. pyglet-3.0.dev6/pyglet/font/base.py +0 -554
  365. pyglet-3.0.dev6/pyglet/font/dwrite/__init__.py +0 -1535
  366. pyglet-3.0.dev6/pyglet/font/dwrite/d2d1_lib.py +0 -637
  367. pyglet-3.0.dev6/pyglet/font/dwrite/d2d1_types_lib.py +0 -60
  368. pyglet-3.0.dev6/pyglet/font/dwrite/dwrite_lib.py +0 -1599
  369. pyglet-3.0.dev6/pyglet/font/fontconfig.py +0 -499
  370. pyglet-3.0.dev6/pyglet/font/freetype.py +0 -613
  371. pyglet-3.0.dev6/pyglet/font/freetype_lib.py +0 -726
  372. pyglet-3.0.dev6/pyglet/font/group.py +0 -179
  373. pyglet-3.0.dev6/pyglet/font/pyodide_js.py +0 -306
  374. pyglet-3.0.dev6/pyglet/font/quartz.py +0 -816
  375. pyglet-3.0.dev6/pyglet/font/ttf.py +0 -643
  376. pyglet-3.0.dev6/pyglet/font/user.py +0 -294
  377. pyglet-3.0.dev6/pyglet/font/win32.py +0 -480
  378. pyglet-3.0.dev6/pyglet/graphics/__init__.py +0 -60
  379. pyglet-3.0.dev6/pyglet/graphics/api/base.py +0 -600
  380. pyglet-3.0.dev6/pyglet/graphics/api/gl/cocoa/context.py +0 -76
  381. pyglet-3.0.dev6/pyglet/graphics/api/gl/context.py +0 -440
  382. pyglet-3.0.dev6/pyglet/graphics/api/gl/egl/context.py +0 -97
  383. pyglet-3.0.dev6/pyglet/graphics/api/gl/enums.py +0 -75
  384. pyglet-3.0.dev6/pyglet/graphics/api/gl/framebuffer.py +0 -318
  385. pyglet-3.0.dev6/pyglet/graphics/api/gl/gl_info.py +0 -155
  386. pyglet-3.0.dev6/pyglet/graphics/api/gl/shader.py +0 -1377
  387. pyglet-3.0.dev6/pyglet/graphics/api/gl/shapes.py +0 -55
  388. pyglet-3.0.dev6/pyglet/graphics/api/gl/sprite.py +0 -201
  389. pyglet-3.0.dev6/pyglet/graphics/api/gl/state.py +0 -257
  390. pyglet-3.0.dev6/pyglet/graphics/api/gl/text.py +0 -190
  391. pyglet-3.0.dev6/pyglet/graphics/api/gl/texture.py +0 -1192
  392. pyglet-3.0.dev6/pyglet/graphics/api/gl/vertexdomain.py +0 -883
  393. pyglet-3.0.dev6/pyglet/graphics/api/gl2/shader.py +0 -246
  394. pyglet-3.0.dev6/pyglet/graphics/api/gl2/shapes.py +0 -51
  395. pyglet-3.0.dev6/pyglet/graphics/api/gl2/sprite.py +0 -166
  396. pyglet-3.0.dev6/pyglet/graphics/api/gl2/text.py +0 -175
  397. pyglet-3.0.dev6/pyglet/graphics/api/gl2/vertexdomain.py +0 -351
  398. pyglet-3.0.dev6/pyglet/graphics/api/webgl/__init__.py +0 -151
  399. pyglet-3.0.dev6/pyglet/graphics/api/webgl/buffer.py +0 -493
  400. pyglet-3.0.dev6/pyglet/graphics/api/webgl/context.py +0 -241
  401. pyglet-3.0.dev6/pyglet/graphics/api/webgl/enums.py +0 -75
  402. pyglet-3.0.dev6/pyglet/graphics/api/webgl/framebuffer.py +0 -363
  403. pyglet-3.0.dev6/pyglet/graphics/api/webgl/gl_info.py +0 -80
  404. pyglet-3.0.dev6/pyglet/graphics/api/webgl/renderer.py +0 -23
  405. pyglet-3.0.dev6/pyglet/graphics/api/webgl/shader.py +0 -1040
  406. pyglet-3.0.dev6/pyglet/graphics/api/webgl/shapes.py +0 -92
  407. pyglet-3.0.dev6/pyglet/graphics/api/webgl/sprite.py +0 -201
  408. pyglet-3.0.dev6/pyglet/graphics/api/webgl/state.py +0 -244
  409. pyglet-3.0.dev6/pyglet/graphics/api/webgl/text.py +0 -187
  410. pyglet-3.0.dev6/pyglet/graphics/api/webgl/texture.py +0 -953
  411. pyglet-3.0.dev6/pyglet/graphics/buffer.py +0 -951
  412. pyglet-3.0.dev6/pyglet/graphics/draw.py +0 -1147
  413. pyglet-3.0.dev6/pyglet/graphics/framebuffer.py +0 -30
  414. pyglet-3.0.dev6/pyglet/graphics/shader.py +0 -1091
  415. pyglet-3.0.dev6/pyglet/graphics/state.py +0 -187
  416. pyglet-3.0.dev6/pyglet/graphics/texture.py +0 -1065
  417. pyglet-3.0.dev6/pyglet/graphics/vertexdomain.py +0 -1165
  418. pyglet-3.0.dev6/pyglet/gui/ninepatch.py +0 -315
  419. pyglet-3.0.dev6/pyglet/gui/widgets.py +0 -717
  420. pyglet-3.0.dev6/pyglet/image/__init__.py +0 -232
  421. pyglet-3.0.dev6/pyglet/image/codecs/__init__.py +0 -226
  422. pyglet-3.0.dev6/pyglet/image/codecs/gdiplus.py +0 -354
  423. pyglet-3.0.dev6/pyglet/image/codecs/js_image.py +0 -99
  424. pyglet-3.0.dev6/pyglet/image/codecs/pil.py +0 -82
  425. pyglet-3.0.dev6/pyglet/image/codecs/wic.py +0 -354
  426. pyglet-3.0.dev6/pyglet/info.py +0 -394
  427. pyglet-3.0.dev6/pyglet/input/emscripten/gamepad_js.py +0 -397
  428. pyglet-3.0.dev6/pyglet/input/macos/darwin_gc.py +0 -559
  429. pyglet-3.0.dev6/pyglet/libs/darwin/cocoapy/cocoalibs.py +0 -798
  430. pyglet-3.0.dev6/pyglet/libs/darwin/cocoapy/runtime.py +0 -1757
  431. pyglet-3.0.dev6/pyglet/libs/egl/__init__.py +0 -2
  432. pyglet-3.0.dev6/pyglet/libs/egl/egl_lib.py +0 -576
  433. pyglet-3.0.dev6/pyglet/libs/egl/eglext.py +0 -63
  434. pyglet-3.0.dev6/pyglet/libs/linux/egl/egl.py +0 -568
  435. pyglet-3.0.dev6/pyglet/libs/linux/egl/eglext.py +0 -22
  436. pyglet-3.0.dev6/pyglet/libs/win32/__init__.py +0 -388
  437. pyglet-3.0.dev6/pyglet/libs/win32/com.py +0 -452
  438. pyglet-3.0.dev6/pyglet/libs/win32/types.py +0 -881
  439. pyglet-3.0.dev6/pyglet/math.py +0 -1556
  440. pyglet-3.0.dev6/pyglet/media/__init__.py +0 -172
  441. pyglet-3.0.dev6/pyglet/media/codecs/__init__.py +0 -136
  442. pyglet-3.0.dev6/pyglet/media/codecs/base.py +0 -622
  443. pyglet-3.0.dev6/pyglet/media/codecs/coreaudio.py +0 -187
  444. pyglet-3.0.dev6/pyglet/media/codecs/ffmpeg.py +0 -1244
  445. pyglet-3.0.dev6/pyglet/media/codecs/ffmpeg_lib/libswresample.py +0 -68
  446. pyglet-3.0.dev6/pyglet/media/codecs/gstreamer.py +0 -270
  447. pyglet-3.0.dev6/pyglet/media/codecs/pyogg.py +0 -474
  448. pyglet-3.0.dev6/pyglet/media/codecs/wave.py +0 -131
  449. pyglet-3.0.dev6/pyglet/media/codecs/webaudio_pyodide.py +0 -110
  450. pyglet-3.0.dev6/pyglet/media/codecs/wmf.py +0 -901
  451. pyglet-3.0.dev6/pyglet/media/devices/base.py +0 -93
  452. pyglet-3.0.dev6/pyglet/media/drivers/base.py +0 -495
  453. pyglet-3.0.dev6/pyglet/media/drivers/directsound/adaptation.py +0 -333
  454. pyglet-3.0.dev6/pyglet/media/drivers/directsound/interface.py +0 -405
  455. pyglet-3.0.dev6/pyglet/media/drivers/openal/adaptation.py +0 -256
  456. pyglet-3.0.dev6/pyglet/media/drivers/openal/interface.py +0 -479
  457. pyglet-3.0.dev6/pyglet/media/drivers/pulse/adaptation.py +0 -373
  458. pyglet-3.0.dev6/pyglet/media/drivers/pulse/interface.py +0 -774
  459. pyglet-3.0.dev6/pyglet/media/drivers/pyodide_js/adaptation.py +0 -288
  460. pyglet-3.0.dev6/pyglet/media/drivers/silent/adaptation.py +0 -142
  461. pyglet-3.0.dev6/pyglet/media/drivers/xaudio2/adaptation.py +0 -310
  462. pyglet-3.0.dev6/pyglet/media/drivers/xaudio2/interface.py +0 -673
  463. pyglet-3.0.dev6/pyglet/media/player.py +0 -739
  464. pyglet-3.0.dev6/pyglet/media/player_worker_thread.py +0 -127
  465. pyglet-3.0.dev6/pyglet/media/synthesis.py +0 -364
  466. pyglet-3.0.dev6/pyglet/model/__init__.py +0 -665
  467. pyglet-3.0.dev6/pyglet/model/codecs/gltf.py +0 -537
  468. pyglet-3.0.dev6/pyglet/model/codecs/obj.py +0 -279
  469. pyglet-3.0.dev6/pyglet/resource.py +0 -919
  470. pyglet-3.0.dev6/pyglet/shapes.py +0 -2752
  471. pyglet-3.0.dev6/pyglet/sprite.py +0 -1024
  472. pyglet-3.0.dev6/pyglet/text/__init__.py +0 -559
  473. pyglet-3.0.dev6/pyglet/text/caret.py +0 -611
  474. pyglet-3.0.dev6/pyglet/text/document.py +0 -703
  475. pyglet-3.0.dev6/pyglet/text/formats/html.py +0 -466
  476. pyglet-3.0.dev6/pyglet/text/formats/structured.py +0 -294
  477. pyglet-3.0.dev6/pyglet/text/layout/__init__.py +0 -151
  478. pyglet-3.0.dev6/pyglet/text/layout/base.py +0 -1902
  479. pyglet-3.0.dev6/pyglet/text/layout/incremental.py +0 -963
  480. pyglet-3.0.dev6/pyglet/text/layout/scrolling.py +0 -200
  481. pyglet-3.0.dev6/pyglet/window/__init__.py +0 -2007
  482. pyglet-3.0.dev6/pyglet/window/camera/base.py +0 -666
  483. pyglet-3.0.dev6/pyglet/window/camera/camera2d.py +0 -333
  484. pyglet-3.0.dev6/pyglet/window/camera/camera3d.py +0 -318
  485. pyglet-3.0.dev6/pyglet/window/cocoa/__init__.py +0 -701
  486. pyglet-3.0.dev6/pyglet/window/cocoa/pyglet_delegate.py +0 -163
  487. pyglet-3.0.dev6/pyglet/window/cocoa/pyglet_view.py +0 -445
  488. pyglet-3.0.dev6/pyglet/window/dialog/__init__.py +0 -184
  489. pyglet-3.0.dev6/pyglet/window/dialog/base.py +0 -99
  490. pyglet-3.0.dev6/pyglet/window/dialog/darwin.py +0 -121
  491. pyglet-3.0.dev6/pyglet/window/dialog/linux.py +0 -72
  492. pyglet-3.0.dev6/pyglet/window/dialog/windows.py +0 -194
  493. pyglet-3.0.dev6/pyglet/window/emscripten/__init__.py +0 -771
  494. pyglet-3.0.dev6/pyglet/window/headless/__init__.py +0 -124
  495. pyglet-3.0.dev6/pyglet/window/wayland/__init__.py +0 -370
  496. pyglet-3.0.dev6/pyproject.toml +0 -117
  497. pyglet-3.0.dev6/pytest.ini +0 -10
  498. pyglet-3.0.dev6/setup.py +0 -57
  499. pyglet-3.0.dev6/tests/annotations.py +0 -109
  500. pyglet-3.0.dev6/tests/base/event_loop.py +0 -171
  501. pyglet-3.0.dev6/tests/integration/app/test_eventloop.py +0 -60
  502. pyglet-3.0.dev6/tests/integration/conftest.py +0 -14
  503. pyglet-3.0.dev6/tests/integration/font/test_font.py +0 -188
  504. pyglet-3.0.dev6/tests/integration/font/test_freetype_face.py +0 -123
  505. pyglet-3.0.dev6/tests/integration/graphics/gl2/test_gl2_buffers.py +0 -69
  506. pyglet-3.0.dev6/tests/integration/graphics/opengl_core/__init__.py +0 -1
  507. pyglet-3.0.dev6/tests/integration/graphics/opengl_core/test_buffers.py +0 -637
  508. pyglet-3.0.dev6/tests/integration/graphics/opengl_core/test_opengl_instancing.py +0 -411
  509. pyglet-3.0.dev6/tests/integration/graphics/test_atlas_bins.py +0 -83
  510. pyglet-3.0.dev6/tests/integration/graphics/test_batch_migration.py +0 -26
  511. pyglet-3.0.dev6/tests/integration/graphics/test_cameras.py +0 -311
  512. pyglet-3.0.dev6/tests/integration/graphics/test_compute_shader.py +0 -62
  513. pyglet-3.0.dev6/tests/integration/graphics/test_framebuffer.py +0 -95
  514. pyglet-3.0.dev6/tests/integration/graphics/test_groups.py +0 -542
  515. pyglet-3.0.dev6/tests/integration/graphics/test_objects.py +0 -521
  516. pyglet-3.0.dev6/tests/integration/graphics/test_resource_texture_transforms.py +0 -28
  517. pyglet-3.0.dev6/tests/integration/graphics/test_shaders.py +0 -727
  518. pyglet-3.0.dev6/tests/integration/graphics/test_texture2d.py +0 -74
  519. pyglet-3.0.dev6/tests/integration/graphics/test_vertex_list.py +0 -220
  520. pyglet-3.0.dev6/tests/integration/libs/darwin/cocoapy/test_cocoalibs.py +0 -87
  521. pyglet-3.0.dev6/tests/integration/media/test_driver.py +0 -187
  522. pyglet-3.0.dev6/tests/integration/media/test_openal.py +0 -432
  523. pyglet-3.0.dev6/tests/integration/text/test_label_creation.py +0 -37
  524. pyglet-3.0.dev6/tests/integration/text/test_layout.py +0 -109
  525. pyglet-3.0.dev6/tests/interactive/text/test_html.py +0 -251
  526. pyglet-3.0.dev6/tests/interactive/text/test_inline_elements.py +0 -207
  527. pyglet-3.0.dev6/tests/interactive/text/test_inline_elements_style_change.py +0 -144
  528. pyglet-3.0.dev6/tests/interactive/window/test_window_multisample.py +0 -216
  529. pyglet-3.0.dev6/tests/requirements.txt +0 -3
  530. pyglet-3.0.dev6/tests/unit/math/test_mat.py +0 -161
  531. pyglet-3.0.dev6/tests/unit/media/test_player.py +0 -813
  532. pyglet-3.0.dev6/tests/unit/media/test_sources.py +0 -338
  533. pyglet-3.0.dev6/tests/unit/media/test_synthesis.py +0 -66
  534. pyglet-3.0.dev6/tests/unit/platform/test_mac_objc.py +0 -114
  535. pyglet-3.0.dev6/tests/unit/test_clock.py +0 -353
  536. pyglet-3.0.dev6/tests/unit/test_clock_freq.py +0 -86
  537. pyglet-3.0.dev6/tests/unit/test_resource_path.py +0 -114
  538. pyglet-3.0.dev6/tests/unit/text/__init__.py +0 -0
  539. pyglet-3.0.dev6/tests/unit/text/test_caret.py +0 -103
  540. pyglet-3.0.dev6/tests/unit/text/test_text.py +0 -311
  541. pyglet-3.0.dev6/tools/pyodide/dev_style.css +0 -14
  542. pyglet-3.0.dev6/tools/pyodide/example.py +0 -51
  543. pyglet-3.0.dev6/tools/pyodide/gen_pyodide_project.py +0 -194
  544. pyglet-3.0.dev6/tools/pyodide/index.html +0 -13
  545. pyglet-3.0.dev6/tools/pyodide/run_webgl_smoke.py +0 -177
  546. pyglet-3.0.dev6/tools/pyodide/script.js +0 -51
  547. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/.coveragerc +0 -0
  548. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  549. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
  550. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/.github/ISSUE_TEMPLATE/questions--or-other.md +0 -0
  551. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/.github/workflows/codeql.yml +0 -0
  552. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/.readthedocs.yml +0 -0
  553. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/API_CHANGES.rst +0 -0
  554. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/LICENSE +0 -0
  555. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/TODO.txt +0 -0
  556. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/contrib/README.md +0 -0
  557. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/contrib/aseprite_codec/README +0 -0
  558. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/contrib/aseprite_codec/asedemo.py +0 -0
  559. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/contrib/aseprite_codec/aseprite.py +0 -0
  560. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/contrib/aseprite_codec/running.ase +0 -0
  561. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/contrib/dist_field/README +0 -0
  562. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/contrib/dist_field/genfield.py +0 -0
  563. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/contrib/dist_field/py.df.png +0 -0
  564. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/contrib/dist_field/py.png +0 -0
  565. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/contrib/dist_field/renderfield.py +0 -0
  566. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/contrib/qt_sprite_preview.py +0 -0
  567. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/contrib/scenemanager.py +0 -0
  568. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/contrib/spritebenchmark.py +0 -0
  569. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/contrib/svg/hello_world.svg +0 -0
  570. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/doc/Makefile +0 -0
  571. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/doc/_static/css/custom.css +0 -0
  572. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/doc/_static/favicon.ico +0 -0
  573. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/doc/_static/logo.png +0 -0
  574. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/doc/_static/logo5.svg +0 -0
  575. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/doc/_static/relatedlogo.png +0 -0
  576. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/doc/external_resources.rst +0 -0
  577. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/doc/internal/contributing.rst +0 -0
  578. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/doc/internal/dist.rst +0 -0
  579. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/doc/internal/doc.rst +0 -0
  580. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/doc/internal/generated.rst +0 -0
  581. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/doc/internal/gl.rst +0 -0
  582. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/doc/internal/media_logging_manual.rst +0 -0
  583. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/doc/internal/testing.rst +0 -0
  584. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/doc/internal/wraptypes-class.svg +0 -0
  585. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/doc/internal/wraptypes.rst +0 -0
  586. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/doc/make.bat +0 -0
  587. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/doc/modules/app.rst +0 -0
  588. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/doc/modules/clock.rst +0 -0
  589. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/doc/modules/config/base.rst +0 -0
  590. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/doc/modules/config/gl.rst +0 -0
  591. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/doc/modules/config/index.rst +0 -0
  592. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/doc/modules/customtypes.rst +0 -0
  593. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/doc/modules/dialog.rst +0 -0
  594. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/doc/modules/display.rst +0 -0
  595. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/doc/modules/enums.rst +0 -0
  596. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/doc/modules/event.rst +0 -0
  597. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/doc/modules/font/group.rst +0 -0
  598. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/doc/modules/font/index.rst +0 -0
  599. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/doc/modules/font/user.rst +0 -0
  600. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/doc/modules/graphics/allocation.rst +0 -0
  601. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/doc/modules/graphics/atlas.rst +0 -0
  602. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/doc/modules/graphics/draw.rst +0 -0
  603. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/doc/modules/graphics/framebuffer.rst +0 -0
  604. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/doc/modules/graphics/index.rst +0 -0
  605. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/doc/modules/graphics/shader.rst +0 -0
  606. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/doc/modules/graphics/texture.rst +0 -0
  607. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/doc/modules/graphics/vertexbuffer.rst +0 -0
  608. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/doc/modules/graphics/vertexdomain.rst +0 -0
  609. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/doc/modules/image/animation.rst +0 -0
  610. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/doc/modules/image/index.rst +0 -0
  611. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/doc/modules/input.rst +0 -0
  612. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/doc/modules/math.rst +0 -0
  613. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/doc/modules/media_synthesis.rst +0 -0
  614. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/doc/modules/models.rst +0 -0
  615. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/doc/modules/pyglet.rst +0 -0
  616. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/doc/modules/resource.rst +0 -0
  617. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/doc/modules/shapes.rst +0 -0
  618. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/doc/modules/sprite.rst +0 -0
  619. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/doc/modules/text/caret.rst +0 -0
  620. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/doc/modules/text/document.rst +0 -0
  621. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/doc/modules/text/index.rst +0 -0
  622. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/doc/modules/text/layout.rst +0 -0
  623. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/doc/modules/window_key.rst +0 -0
  624. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/doc/modules/window_mouse.rst +0 -0
  625. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/doc/programming_guide/debug.rst +0 -0
  626. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/doc/programming_guide/examplegame.rst +0 -0
  627. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/doc/programming_guide/gl.rst +0 -0
  628. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/doc/programming_guide/gui.rst +0 -0
  629. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/doc/programming_guide/image.rst +0 -0
  630. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/doc/programming_guide/img/abstract_image.png +0 -0
  631. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/doc/programming_guide/img/abstract_image.svg +0 -0
  632. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/doc/programming_guide/img/buffer_image.png +0 -0
  633. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/doc/programming_guide/img/buffer_image.svg +0 -0
  634. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/doc/programming_guide/img/context_flow.png +0 -0
  635. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/doc/programming_guide/img/context_flow.svg +0 -0
  636. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/doc/programming_guide/img/cursor_mac_crosshair.png +0 -0
  637. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/doc/programming_guide/img/cursor_mac_default.png +0 -0
  638. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/doc/programming_guide/img/cursor_mac_hand.png +0 -0
  639. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/doc/programming_guide/img/cursor_mac_no.png +0 -0
  640. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/doc/programming_guide/img/cursor_mac_size_down.png +0 -0
  641. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/doc/programming_guide/img/cursor_mac_size_left.png +0 -0
  642. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/doc/programming_guide/img/cursor_mac_size_left_right.png +0 -0
  643. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/doc/programming_guide/img/cursor_mac_size_right.png +0 -0
  644. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/doc/programming_guide/img/cursor_mac_size_up.png +0 -0
  645. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/doc/programming_guide/img/cursor_mac_size_up_down.png +0 -0
  646. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/doc/programming_guide/img/cursor_mac_text.png +0 -0
  647. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/doc/programming_guide/img/cursor_mac_wait.png +0 -0
  648. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/doc/programming_guide/img/cursor_win_crosshair.png +0 -0
  649. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/doc/programming_guide/img/cursor_win_default.png +0 -0
  650. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/doc/programming_guide/img/cursor_win_hand.png +0 -0
  651. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/doc/programming_guide/img/cursor_win_help.png +0 -0
  652. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/doc/programming_guide/img/cursor_win_no.png +0 -0
  653. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/doc/programming_guide/img/cursor_win_size.png +0 -0
  654. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/doc/programming_guide/img/cursor_win_size_left_right.png +0 -0
  655. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/doc/programming_guide/img/cursor_win_size_nesw.png +0 -0
  656. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/doc/programming_guide/img/cursor_win_size_nwse.png +0 -0
  657. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/doc/programming_guide/img/cursor_win_size_up_down.png +0 -0
  658. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/doc/programming_guide/img/cursor_win_text.png +0 -0
  659. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/doc/programming_guide/img/cursor_win_wait.png +0 -0
  660. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/doc/programming_guide/img/cursor_win_wait_arrow.png +0 -0
  661. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/doc/programming_guide/img/explosion.png +0 -0
  662. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/doc/programming_guide/img/font_metrics.png +0 -0
  663. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/doc/programming_guide/img/font_metrics.svg +0 -0
  664. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/doc/programming_guide/img/image_classes.png +0 -0
  665. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/doc/programming_guide/img/image_classes.svg +0 -0
  666. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/doc/programming_guide/img/image_grid.png +0 -0
  667. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/doc/programming_guide/img/image_grid.svg +0 -0
  668. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/doc/programming_guide/img/image_sequence.png +0 -0
  669. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/doc/programming_guide/img/image_sequence.svg +0 -0
  670. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/doc/programming_guide/img/mouse_coordinates.png +0 -0
  671. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/doc/programming_guide/img/mouse_coordinates.svg +0 -0
  672. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/doc/programming_guide/img/screens.png +0 -0
  673. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/doc/programming_guide/img/screens.svg +0 -0
  674. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/doc/programming_guide/img/text_classes.png +0 -0
  675. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/doc/programming_guide/img/text_classes.svg +0 -0
  676. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/doc/programming_guide/img/window_location.png +0 -0
  677. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/doc/programming_guide/img/window_location.svg +0 -0
  678. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/doc/programming_guide/img/window_osx_borderless.png +0 -0
  679. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/doc/programming_guide/img/window_osx_default.png +0 -0
  680. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/doc/programming_guide/img/window_osx_dialog.png +0 -0
  681. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/doc/programming_guide/img/window_osx_tool.png +0 -0
  682. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/doc/programming_guide/img/window_xp_default.png +0 -0
  683. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/doc/programming_guide/img/window_xp_dialog.png +0 -0
  684. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/doc/programming_guide/img/window_xp_overlay.png +0 -0
  685. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/doc/programming_guide/img/window_xp_tool.png +0 -0
  686. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/doc/programming_guide/img/window_xp_transparent.png +0 -0
  687. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/doc/programming_guide/input.rst +0 -0
  688. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/doc/programming_guide/keyboard.rst +0 -0
  689. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/doc/programming_guide/math.rst +0 -0
  690. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/doc/programming_guide/media.rst +0 -0
  691. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/doc/programming_guide/migration2.rst +0 -0
  692. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/doc/programming_guide/models.rst +0 -0
  693. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/doc/programming_guide/mouse.rst +0 -0
  694. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/doc/programming_guide/options.rst +0 -0
  695. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/doc/programming_guide/quickstart.rst +0 -0
  696. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/doc/programming_guide/shapes.rst +0 -0
  697. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/doc/requirements.txt +0 -0
  698. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/examples/dpi_scaled_window.py +0 -0
  699. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/examples/events/events_key_state_handler.py +0 -0
  700. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/examples/events/register_event_type.py +0 -0
  701. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/examples/events/window_events.py +0 -0
  702. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/examples/events/window_platform_event.py +0 -0
  703. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/examples/game/resources/asteroid.png +0 -0
  704. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/examples/game/resources/bullet.png +0 -0
  705. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/examples/game/resources/bullet.wav +0 -0
  706. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/examples/game/resources/engine_flame.png +0 -0
  707. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/examples/game/resources/player.png +0 -0
  708. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/examples/game/version1/asteroid.py +0 -0
  709. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/examples/game/version1/game/__init__.py +0 -0
  710. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/examples/game/version1/game/load.py +0 -0
  711. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/examples/game/version1/game/util.py +0 -0
  712. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/examples/game/version2/asteroid.py +0 -0
  713. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/examples/game/version2/game/__init__.py +0 -0
  714. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/examples/game/version2/game/load.py +0 -0
  715. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/examples/game/version2/game/physicalobject.py +0 -0
  716. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/examples/game/version2/game/player.py +0 -0
  717. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/examples/game/version2/game/util.py +0 -0
  718. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/examples/game/version3/asteroid.py +0 -0
  719. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/examples/game/version3/game/__init__.py +0 -0
  720. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/examples/game/version3/game/load.py +0 -0
  721. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/examples/game/version3/game/physicalobject.py +0 -0
  722. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/examples/game/version3/game/player.py +0 -0
  723. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/examples/game/version3/game/util.py +0 -0
  724. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/examples/game/version4/asteroid.py +0 -0
  725. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/examples/game/version4/game/__init__.py +0 -0
  726. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/examples/game/version4/game/asteroid.py +0 -0
  727. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/examples/game/version4/game/bullet.py +0 -0
  728. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/examples/game/version4/game/load.py +0 -0
  729. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/examples/game/version4/game/physicalobject.py +0 -0
  730. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/examples/game/version4/game/player.py +0 -0
  731. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/examples/game/version4/game/util.py +0 -0
  732. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/examples/game/version5/asteroid.py +0 -0
  733. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/examples/game/version5/game/__init__.py +0 -0
  734. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/examples/game/version5/game/asteroid.py +0 -0
  735. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/examples/game/version5/game/bullet.py +0 -0
  736. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/examples/game/version5/game/load.py +0 -0
  737. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/examples/game/version5/game/physicalobject.py +0 -0
  738. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/examples/game/version5/game/player.py +0 -0
  739. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/examples/game/version5/game/util.py +0 -0
  740. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/examples/gui/bar.png +0 -0
  741. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/examples/gui/button_hover.png +0 -0
  742. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/examples/gui/button_pressed.png +0 -0
  743. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/examples/gui/button_unpressed.png +0 -0
  744. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/examples/gui/knob.png +0 -0
  745. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/examples/hello_world.py +0 -0
  746. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/examples/image/image_convert.py +0 -0
  747. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/examples/image/image_display.py +0 -0
  748. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/examples/input/apple_remote.py +0 -0
  749. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/examples/input/controller.py +0 -0
  750. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/examples/input/input.py +0 -0
  751. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/examples/input/joystick.py +0 -0
  752. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/examples/input/tablet.py +0 -0
  753. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/examples/media/media_info.py +0 -0
  754. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/examples/media/noisy/README +0 -0
  755. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/examples/media/noisy/ball.png +0 -0
  756. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/examples/media/noisy/ball.wav +0 -0
  757. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/examples/media/noisy/noisy.py +0 -0
  758. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/examples/media/soundspace/README +0 -0
  759. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/examples/media/soundspace/reader.py +0 -0
  760. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/examples/media/soundspace/res/bass.wav +0 -0
  761. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/examples/media/soundspace/res/drums.wav +0 -0
  762. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/examples/media/soundspace/res/guitar.wav +0 -0
  763. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/examples/media/soundspace/res/piano.wav +0 -0
  764. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/examples/media/soundspace/res/space.txt +0 -0
  765. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/examples/media/synthesizer.py +0 -0
  766. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/examples/media/video.py +0 -0
  767. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/examples/model/box.mtl +0 -0
  768. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/examples/model/box.obj +0 -0
  769. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/examples/model/fpscamera.py +0 -0
  770. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/examples/model/logo3d.mtl +0 -0
  771. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/examples/model/logo3d.obj +0 -0
  772. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/examples/model/model.py +0 -0
  773. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/examples/model/pyglet.png +0 -0
  774. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/examples/opengl/opengl_context.py +0 -0
  775. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/examples/opengl/pyglet.png +0 -0
  776. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/examples/programming_guide/animation.py +0 -0
  777. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/examples/programming_guide/dinosaur.gif +0 -0
  778. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/examples/programming_guide/events.py +0 -0
  779. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/examples/programming_guide/hello_world.py +0 -0
  780. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/examples/programming_guide/image_viewer.py +0 -0
  781. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/examples/programming_guide/kitten.jpg +0 -0
  782. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/examples/programming_guide/window_subclass.py +0 -0
  783. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/examples/resources/Brick1Blue.png +0 -0
  784. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/examples/resources/Brick1Crack3.png +0 -0
  785. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/examples/resources/Brick1Gray.png +0 -0
  786. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/examples/resources/kitten.jpg +0 -0
  787. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/examples/resources/pyglet.png +0 -0
  788. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/examples/shapes.py +0 -0
  789. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/examples/sprite/depth_sprite.py +0 -0
  790. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/examples/sprite/display_sprite.py +0 -0
  791. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/examples/sprite/multi_texture_sprite.py +0 -0
  792. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/examples/sprite/multi_texture_sprite_animation.py +0 -0
  793. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/examples/sprite/multi_texture_sprite_texture_array_animation.py +0 -0
  794. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/examples/sprite/sprite_batching.py +0 -0
  795. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/examples/sprite/toggle_sprite_shader.py +0 -0
  796. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/examples/text/advanced_font.py +0 -0
  797. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/examples/text/html_label.py +0 -0
  798. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/examples/text/pyglet.png +0 -0
  799. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/examples/text/text_input.py +0 -0
  800. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/examples/text/user_bitmap_font.py +0 -0
  801. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/examples/timer.py +0 -0
  802. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/examples/window/clipboard.py +0 -0
  803. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/examples/window/file_dialogs.py +0 -0
  804. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/examples/window/file_drag_drops.py +0 -0
  805. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/examples/window/fixed_resolution.py +0 -0
  806. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/examples/window/fps_change.py +0 -0
  807. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/examples/window/multiple_windows.py +0 -0
  808. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/examples/window/no_backend.py +0 -0
  809. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/examples/window/overlay_window.py +0 -0
  810. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/examples/window/transparent_window.py +0 -0
  811. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/make.py +0 -0
  812. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/pyglet/app/linux.py +0 -0
  813. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/pyglet/app/win32.py +0 -0
  814. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/pyglet/config/__init__.py +0 -0
  815. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/pyglet/config/base.py +0 -0
  816. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/pyglet/config/gl/__init__.py +0 -0
  817. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/pyglet/config/gl/macos.py +0 -0
  818. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/pyglet/config/gl/webgl.py +0 -0
  819. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/pyglet/config/gl/windows.py +0 -0
  820. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/pyglet/config/gl/x11.py +0 -0
  821. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/pyglet/customtypes.py +0 -0
  822. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/pyglet/display/__init__.pyi +0 -0
  823. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/pyglet/display/win32.py +0 -0
  824. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/pyglet/display/xlib.py +0 -0
  825. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/pyglet/display/xlib_vidmoderestore.py +0 -0
  826. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/pyglet/experimental/README.md +0 -0
  827. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/pyglet/experimental/hidraw.py +0 -0
  828. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/pyglet/experimental/jobs.py +0 -0
  829. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/pyglet/experimental/net.py +0 -0
  830. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/pyglet/experimental/win32priority.py +0 -0
  831. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/pyglet/extlibs/__init__.py +0 -0
  832. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/pyglet/extlibs/earcut.py +0 -0
  833. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/pyglet/extlibs/png.py +0 -0
  834. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/pyglet/font/harfbuzz.py +0 -0
  835. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/pyglet/graphics/allocation.py +0 -0
  836. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/pyglet/graphics/api/__init__.py +0 -0
  837. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/pyglet/graphics/api/gl/__init__.py +0 -0
  838. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/pyglet/graphics/api/gl/base.py +0 -0
  839. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/pyglet/graphics/api/gl/buffer.py +0 -0
  840. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/pyglet/graphics/api/gl/cocoa/__init__.py +0 -0
  841. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/pyglet/graphics/api/gl/default_shaders.py +0 -0
  842. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/pyglet/graphics/api/gl/draw.py +0 -0
  843. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/pyglet/graphics/api/gl/egl/__init__.py +0 -0
  844. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/pyglet/graphics/api/gl/gl.py +0 -0
  845. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/pyglet/graphics/api/gl/global_opengl.py +0 -0
  846. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/pyglet/graphics/api/gl/lib.py +0 -0
  847. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/pyglet/graphics/api/gl/renderer.py +0 -0
  848. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/pyglet/graphics/api/gl/vertexarray.py +0 -0
  849. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/pyglet/graphics/api/gl/win32/__init__.py +0 -0
  850. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/pyglet/graphics/api/gl/win32/context.py +0 -0
  851. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/pyglet/graphics/api/gl/win32/wgl_info.py +0 -0
  852. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/pyglet/graphics/api/gl/xlib/__init__.py +0 -0
  853. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/pyglet/graphics/api/gl/xlib/context.py +0 -0
  854. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/pyglet/graphics/api/gl/xlib/glx_info.py +0 -0
  855. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/pyglet/graphics/api/gl1/__init__.py +0 -0
  856. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/pyglet/graphics/api/gl1/gl_compat.py +0 -0
  857. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/pyglet/graphics/api/gl2/__init__.py +0 -0
  858. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/pyglet/graphics/api/gl2/buffer.py +0 -0
  859. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/pyglet/graphics/api/gl2/draw.py +0 -0
  860. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/pyglet/graphics/api/gl2/global_opengl.py +0 -0
  861. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/pyglet/graphics/api/gl2/state.py +0 -0
  862. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/pyglet/graphics/api/webgl/draw.py +0 -0
  863. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/pyglet/graphics/api/webgl/gl.py +0 -0
  864. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/pyglet/graphics/api/webgl/vertexarray.py +0 -0
  865. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/pyglet/graphics/api/webgl/vertexdomain.py +0 -0
  866. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/pyglet/graphics/api/webgl/webgl_js.pyi +0 -0
  867. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/pyglet/graphics/atlas.py +0 -0
  868. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/pyglet/graphics/instance.py +0 -0
  869. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/pyglet/gui/__init__.py +0 -0
  870. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/pyglet/gui/frame.py +0 -0
  871. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/pyglet/image/animation.py +0 -0
  872. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/pyglet/image/base.py +0 -0
  873. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/pyglet/image/codecs/bmp.py +0 -0
  874. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/pyglet/image/codecs/dds.py +0 -0
  875. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/pyglet/image/codecs/gdkpixbuf2.py +0 -0
  876. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/pyglet/image/codecs/gif.py +0 -0
  877. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/pyglet/image/codecs/ktx2.py +0 -0
  878. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/pyglet/image/codecs/png.py +0 -0
  879. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/pyglet/image/codecs/quartz.py +0 -0
  880. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/pyglet/input/__init__.py +0 -0
  881. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/pyglet/input/base.py +0 -0
  882. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/pyglet/input/controller.py +0 -0
  883. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/pyglet/input/controller_db.py +0 -0
  884. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/pyglet/input/emscripten/__init__.py +0 -0
  885. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/pyglet/input/linux/__init__.py +0 -0
  886. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/pyglet/input/linux/evdev.py +0 -0
  887. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/pyglet/input/linux/evdev_constants.py +0 -0
  888. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/pyglet/input/linux/x11_xinput.py +0 -0
  889. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/pyglet/input/linux/x11_xinput_tablet.py +0 -0
  890. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/pyglet/input/macos/__init__.py +0 -0
  891. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/pyglet/input/macos/darwin_hid.py +0 -0
  892. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/pyglet/input/win32/__init__.py +0 -0
  893. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/pyglet/input/win32/directinput.py +0 -0
  894. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/pyglet/input/win32/wintab.py +0 -0
  895. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/pyglet/input/win32/xinput.py +0 -0
  896. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/pyglet/lib.py +0 -0
  897. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/pyglet/libs/__init__.py +0 -0
  898. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/pyglet/libs/darwin/__init__.py +0 -0
  899. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/pyglet/libs/darwin/agl.py +0 -0
  900. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/pyglet/libs/darwin/cocoapy/__init__.py +0 -0
  901. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/pyglet/libs/darwin/cocoapy/cocoahelpers.py +0 -0
  902. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/pyglet/libs/darwin/cocoapy/cocoatypes.py +0 -0
  903. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/pyglet/libs/darwin/coreaudio.py +0 -0
  904. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/pyglet/libs/darwin/lib_agl.py +0 -0
  905. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/pyglet/libs/darwin/quartzkey.py +0 -0
  906. {pyglet-3.0.dev6/pyglet/libs/linux → pyglet-3.0.dev8/pyglet/libs}/egl/lib.py +0 -0
  907. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/pyglet/libs/linux/__init__.py +0 -0
  908. {pyglet-3.0.dev6/pyglet/libs/linux/egl → pyglet-3.0.dev8/pyglet/libs/linux/glx}/__init__.py +0 -0
  909. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/pyglet/libs/linux/glx/glx.py +0 -0
  910. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/pyglet/libs/linux/glx/glxext_arb.py +0 -0
  911. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/pyglet/libs/linux/glx/glxext_mesa.py +0 -0
  912. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/pyglet/libs/linux/glx/glxext_nv.py +0 -0
  913. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/pyglet/libs/linux/glx/lib_glx.py +0 -0
  914. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/pyglet/libs/linux/ioctl.py +0 -0
  915. {pyglet-3.0.dev6/pyglet/libs/linux/glx → pyglet-3.0.dev8/pyglet/libs/linux/wayland}/__init__.py +0 -0
  916. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/pyglet/libs/linux/wayland/client.py +0 -0
  917. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/pyglet/libs/linux/wayland/gbm.py +0 -0
  918. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/pyglet/libs/linux/wayland/lib_wayland.py +0 -0
  919. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/pyglet/libs/linux/wayland/wayland_egl.py +0 -0
  920. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/pyglet/libs/linux/wayland/xkbcommon.py +0 -0
  921. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/pyglet/libs/linux/x11/__init__.py +0 -0
  922. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/pyglet/libs/linux/x11/cursorfont.py +0 -0
  923. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/pyglet/libs/linux/x11/xf86vmode.py +0 -0
  924. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/pyglet/libs/linux/x11/xinerama.py +0 -0
  925. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/pyglet/libs/linux/x11/xinput.py +0 -0
  926. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/pyglet/libs/linux/x11/xlib.py +0 -0
  927. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/pyglet/libs/linux/x11/xrandr.py +0 -0
  928. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/pyglet/libs/linux/x11/xrender.py +0 -0
  929. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/pyglet/libs/linux/x11/xsync.py +0 -0
  930. {pyglet-3.0.dev6/pyglet/libs/linux/wayland → pyglet-3.0.dev8/pyglet/libs/shared}/__init__.py +0 -0
  931. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/pyglet/libs/shared/lib_harfbuzz.py +0 -0
  932. {pyglet-3.0.dev6/pyglet/libs/shared → pyglet-3.0.dev8/pyglet/libs/shared/spirv}/__init__.py +0 -0
  933. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/pyglet/libs/shared/spirv/lib_shaderc.py +0 -0
  934. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/pyglet/libs/shared/spirv/lib_spirv_cross.py +0 -0
  935. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/pyglet/libs/shared/vulkan_lib/__init__.py +0 -0
  936. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/pyglet/libs/shared/vulkan_lib/exceptions.py +0 -0
  937. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/pyglet/libs/shared/vulkan_lib/func.py +0 -0
  938. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/pyglet/libs/shared/vulkan_lib/func_helpers.py +0 -0
  939. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/pyglet/libs/shared/vulkan_lib/vk_video.py +0 -0
  940. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/pyglet/libs/shared/vulkan_lib/vk_video.pyi +0 -0
  941. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/pyglet/libs/shared/vulkan_lib/vulkan_core.py +0 -0
  942. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/pyglet/libs/shared/vulkan_lib/vulkan_core.pyi +0 -0
  943. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/pyglet/libs/shared/vulkan_lib/vulkan_ios.py +0 -0
  944. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/pyglet/libs/shared/vulkan_lib/vulkan_ios.pyi +0 -0
  945. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/pyglet/libs/shared/vulkan_lib/vulkan_macos.py +0 -0
  946. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/pyglet/libs/shared/vulkan_lib/vulkan_macos.pyi +0 -0
  947. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/pyglet/libs/shared/vulkan_lib/vulkan_metal.py +0 -0
  948. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/pyglet/libs/shared/vulkan_lib/vulkan_metal.pyi +0 -0
  949. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/pyglet/libs/shared/vulkan_lib/vulkan_wayland.py +0 -0
  950. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/pyglet/libs/shared/vulkan_lib/vulkan_wayland.pyi +0 -0
  951. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/pyglet/libs/shared/vulkan_lib/vulkan_win32.py +0 -0
  952. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/pyglet/libs/shared/vulkan_lib/vulkan_win32.pyi +0 -0
  953. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/pyglet/libs/shared/vulkan_lib/vulkan_xcb.py +0 -0
  954. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/pyglet/libs/shared/vulkan_lib/vulkan_xcb.pyi +0 -0
  955. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/pyglet/libs/shared/vulkan_lib/vulkan_xlib.py +0 -0
  956. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/pyglet/libs/shared/vulkan_lib/vulkan_xlib.pyi +0 -0
  957. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/pyglet/libs/shared/vulkan_lib/vulkan_xlib_xrandr.py +0 -0
  958. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/pyglet/libs/shared/vulkan_lib/vulkan_xlib_xrandr.pyi +0 -0
  959. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/pyglet/libs/win32/constants.py +0 -0
  960. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/pyglet/libs/win32/context_managers.py +0 -0
  961. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/pyglet/libs/win32/dinput.py +0 -0
  962. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/pyglet/libs/win32/lib_wgl.py +0 -0
  963. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/pyglet/libs/win32/libwintab.py +0 -0
  964. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/pyglet/libs/win32/wgl.py +0 -0
  965. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/pyglet/libs/win32/wglext_arb.py +0 -0
  966. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/pyglet/libs/win32/wincodec.py +0 -0
  967. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/pyglet/libs/win32/winkey.py +0 -0
  968. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/pyglet/media/buffered_logger.py +0 -0
  969. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/pyglet/media/codecs/ffmpeg_lib/__init__.py +0 -0
  970. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/pyglet/media/codecs/ffmpeg_lib/compat.py +0 -0
  971. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/pyglet/media/codecs/ffmpeg_lib/libavcodec.py +0 -0
  972. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/pyglet/media/codecs/ffmpeg_lib/libavformat.py +0 -0
  973. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/pyglet/media/codecs/ffmpeg_lib/libavutil.py +0 -0
  974. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/pyglet/media/codecs/ffmpeg_lib/libswscale.py +0 -0
  975. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/pyglet/media/devices/__init__.py +0 -0
  976. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/pyglet/media/devices/win32.py +0 -0
  977. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/pyglet/media/drivers/__init__.py +0 -0
  978. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/pyglet/media/drivers/directsound/__init__.py +0 -0
  979. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/pyglet/media/drivers/directsound/exceptions.py +0 -0
  980. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/pyglet/media/drivers/directsound/lib_dsound.py +0 -0
  981. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/pyglet/media/drivers/listener.py +0 -0
  982. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/pyglet/media/drivers/openal/__init__.py +0 -0
  983. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/pyglet/media/drivers/openal/lib_alc.py +0 -0
  984. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/pyglet/media/drivers/openal/lib_openal.py +0 -0
  985. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/pyglet/media/drivers/pulse/__init__.py +0 -0
  986. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/pyglet/media/drivers/pulse/lib_pulseaudio.py +0 -0
  987. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/pyglet/media/drivers/pyodide_js/__init__.py +0 -0
  988. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/pyglet/media/drivers/silent/__init__.py +0 -0
  989. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/pyglet/media/drivers/xaudio2/__init__.py +0 -0
  990. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/pyglet/media/drivers/xaudio2/lib_xaudio2.py +0 -0
  991. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/pyglet/media/exceptions.py +0 -0
  992. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/pyglet/media/instrumentation.py +0 -0
  993. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/pyglet/model/codecs/__init__.py +0 -0
  994. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/pyglet/model/codecs/base.py +0 -0
  995. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/pyglet/py.typed +0 -0
  996. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/pyglet/text/formats/__init__.py +0 -0
  997. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/pyglet/text/formats/attributed.py +0 -0
  998. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/pyglet/text/formats/plaintext.py +0 -0
  999. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/pyglet/text/runlist.py +0 -0
  1000. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/pyglet/util.py +0 -0
  1001. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/pyglet/window/camera/__init__.py +0 -0
  1002. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/pyglet/window/cocoa/pyglet_textview.py +0 -0
  1003. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/pyglet/window/cocoa/pyglet_window.py +0 -0
  1004. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/pyglet/window/cocoa/systemcursor.py +0 -0
  1005. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/pyglet/window/event.py +0 -0
  1006. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/pyglet/window/key.py +0 -0
  1007. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/pyglet/window/mouse.py +0 -0
  1008. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/pyglet/window/win32/__init__.py +0 -0
  1009. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/pyglet/window/xlib/__init__.py +0 -0
  1010. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/tests/__init__.py +0 -0
  1011. {pyglet-3.0.dev6/pyglet/libs/shared/spirv → pyglet-3.0.dev8/tests/base}/__init__.py +0 -0
  1012. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/tests/base/data.py +0 -0
  1013. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/tests/base/interactive.py +0 -0
  1014. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/tests/base/performance.py +0 -0
  1015. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/tests/conftest.py +0 -0
  1016. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/tests/data/fonts/README +0 -0
  1017. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/tests/data/fonts/action_man.ttf +0 -0
  1018. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/tests/data/fonts/action_man_atlas.png +0 -0
  1019. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/tests/data/fonts/action_man_bold.ttf +0 -0
  1020. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/tests/data/fonts/action_man_bold_italic.ttf +0 -0
  1021. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/tests/data/fonts/action_man_italic.ttf +0 -0
  1022. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/tests/data/fonts/courR12-ISO8859-1.pcf +0 -0
  1023. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/tests/data/images/8bpp.gif +0 -0
  1024. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/tests/data/images/cursor.png +0 -0
  1025. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/tests/data/images/dinosaur.gif +0 -0
  1026. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/tests/data/images/gdk_close.png +0 -0
  1027. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/tests/data/images/grey_background.png +0 -0
  1028. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/tests/data/images/icon1.png +0 -0
  1029. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/tests/data/images/icon_size1.png +0 -0
  1030. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/tests/data/images/icon_size2.png +0 -0
  1031. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/tests/data/images/icon_size3.png +0 -0
  1032. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/tests/data/images/icon_size4.png +0 -0
  1033. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/tests/data/images/icon_size5.png +0 -0
  1034. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/tests/data/images/l.png +0 -0
  1035. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/tests/data/images/la.png +0 -0
  1036. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/tests/data/images/multitexture.png +0 -0
  1037. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/tests/data/images/rgb.png +0 -0
  1038. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/tests/data/images/rgb_16bpp.bmp +0 -0
  1039. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/tests/data/images/rgb_1bpp.bmp +0 -0
  1040. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/tests/data/images/rgb_24bpp.bmp +0 -0
  1041. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/tests/data/images/rgb_32bpp.bmp +0 -0
  1042. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/tests/data/images/rgb_4bpp.bmp +0 -0
  1043. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/tests/data/images/rgb_8bpp.bmp +0 -0
  1044. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/tests/data/images/rgb_8bpp.png +0 -0
  1045. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/tests/data/images/rgb_8bpp_trans.png +0 -0
  1046. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/tests/data/images/rgb_bc6s.dds +0 -0
  1047. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/tests/data/images/rgb_dxt1.dds +0 -0
  1048. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/tests/data/images/rgba.png +0 -0
  1049. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/tests/data/images/rgba_32bpp.bmp +0 -0
  1050. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/tests/data/images/rgba_bc7.dds +0 -0
  1051. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/tests/data/images/rgba_bc7.ktx2 +0 -0
  1052. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/tests/data/images/rgba_dxt1.dds +0 -0
  1053. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/tests/data/images/rgba_dxt3.dds +0 -0
  1054. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/tests/data/images/rgba_dxt5.dds +0 -0
  1055. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/tests/data/images/tests.interactive.test_interactive_test_base._Test.test_1.001.png +0 -0
  1056. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/tests/data/media/README +0 -0
  1057. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/tests/data/media/alert.wav +0 -0
  1058. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/tests/data/media/login.wav +0 -0
  1059. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/tests/data/media/logout.wav +0 -0
  1060. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/tests/data/media/receive.wav +0 -0
  1061. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/tests/data/media/send.wav +0 -0
  1062. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/tests/data/media/synthesis_sawtooth_16_11025_1ch.wav +0 -0
  1063. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/tests/data/media/synthesis_sawtooth_16_44800_1ch.wav +0 -0
  1064. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/tests/data/media/synthesis_silence_16_11025_1ch.wav +0 -0
  1065. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/tests/data/media/synthesis_silence_16_44800_1ch.wav +0 -0
  1066. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/tests/data/media/synthesis_simplefm_16_11025_1ch.wav +0 -0
  1067. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/tests/data/media/synthesis_simplefm_16_44800_1ch.wav +0 -0
  1068. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/tests/data/media/synthesis_sine_16_11025_1ch.wav +0 -0
  1069. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/tests/data/media/synthesis_sine_16_44800_1ch.wav +0 -0
  1070. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/tests/data/media/synthesis_square_16_11025_1ch.wav +0 -0
  1071. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/tests/data/media/synthesis_square_16_44800_1ch.wav +0 -0
  1072. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/tests/data/media/synthesis_triangle_16_11025_1ch.wav +0 -0
  1073. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/tests/data/media/synthesis_triangle_16_44800_1ch.wav +0 -0
  1074. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/tests/data/models/logo3d.mtl +0 -0
  1075. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/tests/data/models/logo3d.obj +0 -0
  1076. {pyglet-3.0.dev6/tests/base → pyglet-3.0.dev8/tests/integration}/__init__.py +0 -0
  1077. {pyglet-3.0.dev6/tests/integration → pyglet-3.0.dev8/tests/integration/app}/__init__.py +0 -0
  1078. {pyglet-3.0.dev6/tests/integration/app → pyglet-3.0.dev8/tests/integration/font}/__init__.py +0 -0
  1079. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/tests/integration/graphics/test_allocation.py +0 -0
  1080. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/tests/integration/graphics/test_texture3d.py +0 -0
  1081. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/tests/integration/graphics/test_texture_mipmaps.py +0 -0
  1082. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/tests/integration/graphics/test_texturearray.py +0 -0
  1083. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/tests/integration/graphics/test_texturegrid.py +0 -0
  1084. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/tests/integration/graphics/test_window_backend_config.py +0 -0
  1085. {pyglet-3.0.dev6/tests/integration/font → pyglet-3.0.dev8/tests/integration/image}/__init__.py +0 -0
  1086. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/tests/integration/image/test_gdkpixbuf2.py +0 -0
  1087. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/tests/integration/image/test_imagegrid.py +0 -0
  1088. {pyglet-3.0.dev6/tests/integration/graphics → pyglet-3.0.dev8/tests/integration/libs}/__init__.py +0 -0
  1089. {pyglet-3.0.dev6/tests/integration/image → pyglet-3.0.dev8/tests/integration/libs/darwin}/__init__.py +0 -0
  1090. {pyglet-3.0.dev6/tests/integration/libs → pyglet-3.0.dev8/tests/integration/libs/darwin/cocoapy}/__init__.py +0 -0
  1091. {pyglet-3.0.dev6/tests/integration/libs/darwin → pyglet-3.0.dev8/tests/integration/media}/__init__.py +0 -0
  1092. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/tests/integration/media/mock_player.py +0 -0
  1093. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/tests/integration/media/test_directsound.py +0 -0
  1094. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/tests/integration/media/test_ffmpeg.py +0 -0
  1095. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/tests/integration/media/test_listener.py +0 -0
  1096. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/tests/integration/media/test_loading.py +0 -0
  1097. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/tests/integration/media/test_player.py +0 -0
  1098. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/tests/integration/media/test_pulse.py +0 -0
  1099. {pyglet-3.0.dev6/tests/integration/libs/darwin/cocoapy → pyglet-3.0.dev8/tests/integration/model}/__init__.py +0 -0
  1100. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/tests/integration/model/test_loading.py +0 -0
  1101. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/tests/integration/platform/__init__.py +0 -0
  1102. {pyglet-3.0.dev6/tests/integration/media → pyglet-3.0.dev8/tests/integration/platform/pyodide}/__init__.py +0 -0
  1103. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/tests/integration/platform/test_win_context_managers.py +0 -0
  1104. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/tests/integration/platform/test_win_multicore_clock.py +0 -0
  1105. {pyglet-3.0.dev6/tests/integration/model → pyglet-3.0.dev8/tests/integration/resource}/__init__.py +0 -0
  1106. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/tests/integration/resource/dir1/dir1/f3.txt +0 -0
  1107. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/tests/integration/resource/dir1/f2.txt +0 -0
  1108. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/tests/integration/resource/dir1/res.zip +0 -0
  1109. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/tests/integration/resource/dir2/f6.txt +0 -0
  1110. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/tests/integration/resource/f1.txt +0 -0
  1111. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/tests/integration/resource/rgbm.png +0 -0
  1112. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/tests/integration/resource/test_resource_loading.py +0 -0
  1113. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/tests/integration/test_integrations.py +0 -0
  1114. {pyglet-3.0.dev6/tests/integration/resource → pyglet-3.0.dev8/tests/integration/text}/__init__.py +0 -0
  1115. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/tests/integration/text/test_empty_document.py +0 -0
  1116. {pyglet-3.0.dev6/tests/integration/text → pyglet-3.0.dev8/tests/integration/window}/__init__.py +0 -0
  1117. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/tests/integration/window/test_context_share.py +0 -0
  1118. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/tests/integration/window/test_event_sequence.py +0 -0
  1119. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/tests/integration/window/test_window_caption.py +0 -0
  1120. {pyglet-3.0.dev6/tests/integration/window → pyglet-3.0.dev8/tests/interactive}/__init__.py +0 -0
  1121. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/tests/interactive/conftest.py +0 -0
  1122. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/tests/interactive/graphics/group_ordering.py +0 -0
  1123. {pyglet-3.0.dev6/tests/interactive → pyglet-3.0.dev8/tests/interactive/image}/__init__.py +0 -0
  1124. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/tests/interactive/image/test_image.py +0 -0
  1125. {pyglet-3.0.dev6/tests/interactive/image → pyglet-3.0.dev8/tests/interactive/media}/__init__.py +0 -0
  1126. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/tests/interactive/media/test_player.py +0 -0
  1127. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/tests/interactive/screenshots/committed/README +0 -0
  1128. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/tests/interactive/screenshots/session/README +0 -0
  1129. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/tests/interactive/shapes/test_shapes.py +0 -0
  1130. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/tests/interactive/test_interactive_test_base.py +0 -0
  1131. {pyglet-3.0.dev6/tests/interactive/media → pyglet-3.0.dev8/tests/interactive/text}/__init__.py +0 -0
  1132. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/tests/interactive/text/test_caret_color.py +0 -0
  1133. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/tests/interactive/text/test_content_valign.py +0 -0
  1134. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/tests/interactive/text/test_layout_anchoring.py +0 -0
  1135. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/tests/interactive/text/test_multiline_wrap.py +0 -0
  1136. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/tests/interactive/text/test_plain.py +0 -0
  1137. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/tests/interactive/text/test_style.py +0 -0
  1138. {pyglet-3.0.dev6/tests/interactive/text → pyglet-3.0.dev8/tests/interactive/window}/__init__.py +0 -0
  1139. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/tests/interactive/window/test_window_events.py +0 -0
  1140. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/tests/interactive/window/test_window_fullscreen.py +0 -0
  1141. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/tests/interactive/window/test_window_modes.py +0 -0
  1142. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/tests/interactive/window/test_window_open.py +0 -0
  1143. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/tests/interactive/window/test_window_settings.py +0 -0
  1144. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/tests/interactive/window/test_window_styles.py +0 -0
  1145. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/tests/interactive/windowed_test_base.py +0 -0
  1146. {pyglet-3.0.dev6/tests/interactive/window → pyglet-3.0.dev8/tests/unit}/__init__.py +0 -0
  1147. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/tests/unit/conftest.py +0 -0
  1148. {pyglet-3.0.dev6/tests/unit → pyglet-3.0.dev8/tests/unit/libs}/__init__.py +0 -0
  1149. {pyglet-3.0.dev6/tests/unit/libs → pyglet-3.0.dev8/tests/unit/libs/darwin}/__init__.py +0 -0
  1150. {pyglet-3.0.dev6/tests/unit/libs/darwin → pyglet-3.0.dev8/tests/unit/libs/darwin/cocoapy}/__init__.py +0 -0
  1151. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/tests/unit/libs/darwin/cocoapy/test_cocoalibs.py +0 -0
  1152. {pyglet-3.0.dev6/tests/unit/libs/darwin/cocoapy → pyglet-3.0.dev8/tests/unit/math}/__init__.py +0 -0
  1153. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/tests/unit/math/test_quat.py +0 -0
  1154. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/tests/unit/math/test_vec2.py +0 -0
  1155. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/tests/unit/math/test_vec3.py +0 -0
  1156. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/tests/unit/math/test_vec4.py +0 -0
  1157. {pyglet-3.0.dev6/tests/unit/math → pyglet-3.0.dev8/tests/unit/media}/__init__.py +0 -0
  1158. {pyglet-3.0.dev6/tests/unit/media → pyglet-3.0.dev8/tests/unit/platform}/__init__.py +0 -0
  1159. {pyglet-3.0.dev6/tests/unit/platform → pyglet-3.0.dev8/tests/unit/shader}/__init__.py +0 -0
  1160. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/tests/unit/shader/conftest.py +0 -0
  1161. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/tests/unit/shader/test_shader.py-SUSPENDED +0 -0
  1162. {pyglet-3.0.dev6/tests/unit/shader → pyglet-3.0.dev8/tests/unit/shapes}/__init__.py +0 -0
  1163. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/tests/unit/shapes/conftest.py +0 -0
  1164. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/tests/unit/shapes/test_bordered_rectangle.py +0 -0
  1165. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/tests/unit/shapes/test_shapes.py +0 -0
  1166. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/tests/unit/test_atlas.py +0 -0
  1167. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/tests/unit/test_events.py +0 -0
  1168. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/tests/unit/test_image_data.py +0 -0
  1169. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/tests/unit/test_input.py +0 -0
  1170. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/tests/unit/test_sprite.py +0 -0
  1171. {pyglet-3.0.dev6/tests/unit/shapes → pyglet-3.0.dev8/tests/unit/text}/__init__.py +0 -0
  1172. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/tools/al_info.py +0 -0
  1173. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/tools/ffmpeg/bokeh_timeline.py +0 -0
  1174. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/tools/ffmpeg/compare.py +0 -0
  1175. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/tools/ffmpeg/configure.py +0 -0
  1176. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/tools/ffmpeg/extractors.py +0 -0
  1177. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/tools/ffmpeg/fs.py +0 -0
  1178. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/tools/ffmpeg/mp.py +0 -0
  1179. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/tools/ffmpeg/mpexceptions.py +0 -0
  1180. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/tools/ffmpeg/playmany.py +0 -0
  1181. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/tools/ffmpeg/readme_ffmpeg_debbuging_branch.txt +0 -0
  1182. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/tools/ffmpeg/readme_run_tests.txt +0 -0
  1183. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/tools/ffmpeg/report.py +0 -0
  1184. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/tools/ffmpeg/reports.py +0 -0
  1185. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/tools/ffmpeg/retry_crashed.py +0 -0
  1186. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/tools/ffmpeg/run_test_suite.py +0 -0
  1187. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/tools/ffmpeg/summarize.py +0 -0
  1188. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/tools/ffmpeg/test_instrumentation.py +0 -0
  1189. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/tools/ffmpeg/timeline.py +0 -0
  1190. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/tools/gencontrollerdb.py +0 -0
  1191. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/tools/gengl.py +0 -0
  1192. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/tools/genwrappers.py +0 -0
  1193. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/tools/gl.template +0 -0
  1194. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/tools/gl.xml +0 -0
  1195. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/tools/gl_info.py +0 -0
  1196. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/tools/gl_stub.template +0 -0
  1197. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/tools/inspect_font.py +0 -0
  1198. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/tools/requirements.txt +0 -0
  1199. {pyglet-3.0.dev6/website/assets/static/images → pyglet-3.0.dev8/tools/web_example}/pyglet.png +0 -0
  1200. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/tools/wgl.h +0 -0
  1201. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/tools/wraptypes/__init__.py +0 -0
  1202. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/tools/wraptypes/cparser.py +0 -0
  1203. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/tools/wraptypes/ctypesparser.py +0 -0
  1204. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/tools/wraptypes/lex.py +0 -0
  1205. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/tools/wraptypes/preprocessor.py +0 -0
  1206. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/tools/wraptypes/wrap.py +0 -0
  1207. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/tools/wraptypes/yacc.py +0 -0
  1208. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/website/LICENSE.txt +0 -0
  1209. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/website/README.rst +0 -0
  1210. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/website/assets/favicon.ico +0 -0
  1211. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/website/assets/static/css/example-custom-styles.css +0 -0
  1212. {pyglet-3.0.dev6/website/content/authors/benjamin → pyglet-3.0.dev8/website/assets/static/images}/pyglet.png +0 -0
  1213. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/website/content/404.html/contents.lr +0 -0
  1214. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/website/content/404.html/ngc-5793.jpg +0 -0
  1215. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/website/content/authors/benjamin/contents.lr +0 -0
  1216. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/website/content/authors/contents.lr +0 -0
  1217. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/website/content/blog/contents.lr +0 -0
  1218. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/website/content/blog/welcome-blog/contents.lr +0 -0
  1219. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/website/content/contents.lr +0 -0
  1220. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/website/content/eclipse.jpg +0 -0
  1221. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/website/pyglet.lektorproject +0 -0
  1222. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/website/themes/lektor-icon/AUTHORS.txt +0 -0
  1223. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/website/themes/lektor-icon/CHANGELOG.md +0 -0
  1224. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/website/themes/lektor-icon/CONTRIBUTING.md +0 -0
  1225. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/website/themes/lektor-icon/LICENSE.txt +0 -0
  1226. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/website/themes/lektor-icon/NOTICE.txt +0 -0
  1227. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/website/themes/lektor-icon/README.md +0 -0
  1228. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/website/themes/lektor-icon/assets/static/css/bootstrap.css +0 -0
  1229. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/website/themes/lektor-icon/assets/static/css/icomoon.css +0 -0
  1230. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/website/themes/lektor-icon/assets/static/css/magnific-popup.css +0 -0
  1231. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/website/themes/lektor-icon/assets/static/css/style.css +0 -0
  1232. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/website/themes/lektor-icon/assets/static/fonts/bootstrap/glyphicons-halflings-regular.ttf +0 -0
  1233. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/website/themes/lektor-icon/assets/static/fonts/bootstrap/glyphicons-halflings-regular.woff +0 -0
  1234. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/website/themes/lektor-icon/assets/static/fonts/bootstrap/glyphicons-halflings-regular.woff2 +0 -0
  1235. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/website/themes/lektor-icon/assets/static/fonts/icomoon/icomoon.ttf +0 -0
  1236. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/website/themes/lektor-icon/assets/static/fonts/icomoon/icomoon.woff +0 -0
  1237. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/website/themes/lektor-icon/assets/static/images/Preloader_2.gif +0 -0
  1238. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/website/themes/lektor-icon/assets/static/images/placeholder_person.png +0 -0
  1239. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/website/themes/lektor-icon/assets/static/js/jquery-3.3.1.min.js +0 -0
  1240. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/website/themes/lektor-icon/assets/static/js/jquery.easing.min.js +0 -0
  1241. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/website/themes/lektor-icon/assets/static/js/jquery.magnific-popup.min.js +0 -0
  1242. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/website/themes/lektor-icon/assets/static/js/jquery.stellar.js +0 -0
  1243. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/website/themes/lektor-icon/assets/static/js/jquery.stellar.min.js +0 -0
  1244. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/website/themes/lektor-icon/assets/static/js/jquery.waypoints.min.js +0 -0
  1245. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/website/themes/lektor-icon/assets/static/js/magnific-popup-options.js +0 -0
  1246. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/website/themes/lektor-icon/assets/static/js/main-singlelayout.js +0 -0
  1247. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/website/themes/lektor-icon/assets/static/js/main.js +0 -0
  1248. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/website/themes/lektor-icon/flowblocks/content.ini +0 -0
  1249. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/website/themes/lektor-icon/flowblocks/gallery.ini +0 -0
  1250. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/website/themes/lektor-icon/flowblocks/gallery_item.ini +0 -0
  1251. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/website/themes/lektor-icon/flowblocks/member.ini +0 -0
  1252. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/website/themes/lektor-icon/flowblocks/mission.ini +0 -0
  1253. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/website/themes/lektor-icon/flowblocks/mission_tab.ini +0 -0
  1254. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/website/themes/lektor-icon/flowblocks/service.ini +0 -0
  1255. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/website/themes/lektor-icon/flowblocks/services.ini +0 -0
  1256. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/website/themes/lektor-icon/flowblocks/team.ini +0 -0
  1257. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/website/themes/lektor-icon/images/blog-index.png +0 -0
  1258. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/website/themes/lektor-icon/images/full-blog.png +0 -0
  1259. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/website/themes/lektor-icon/images/full-page.png +0 -0
  1260. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/website/themes/lektor-icon/images/gallery-404.png +0 -0
  1261. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/website/themes/lektor-icon/images/gallery-singlepage.png +0 -0
  1262. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/website/themes/lektor-icon/images/mainpage-screenshots.png +0 -0
  1263. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/website/themes/lektor-icon/images/responsive-layout.png +0 -0
  1264. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/website/themes/lektor-icon/models/404.ini +0 -0
  1265. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/website/themes/lektor-icon/models/author.ini +0 -0
  1266. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/website/themes/lektor-icon/models/authors.ini +0 -0
  1267. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/website/themes/lektor-icon/models/blog-post.ini +0 -0
  1268. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/website/themes/lektor-icon/models/blog.ini +0 -0
  1269. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/website/themes/lektor-icon/models/page.ini +0 -0
  1270. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/website/themes/lektor-icon/models/single-layout.ini +0 -0
  1271. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/website/themes/lektor-icon/templates/404.html +0 -0
  1272. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/website/themes/lektor-icon/templates/author.html +0 -0
  1273. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/website/themes/lektor-icon/templates/authors.html +0 -0
  1274. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/website/themes/lektor-icon/templates/blocks/content.html +0 -0
  1275. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/website/themes/lektor-icon/templates/blocks/gallery.html +0 -0
  1276. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/website/themes/lektor-icon/templates/blocks/mission.html +0 -0
  1277. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/website/themes/lektor-icon/templates/blocks/services.html +0 -0
  1278. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/website/themes/lektor-icon/templates/blocks/team.html +0 -0
  1279. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/website/themes/lektor-icon/templates/blog-layout.html +0 -0
  1280. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/website/themes/lektor-icon/templates/blog-post.html +0 -0
  1281. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/website/themes/lektor-icon/templates/blog.html +0 -0
  1282. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/website/themes/lektor-icon/templates/layout.html +0 -0
  1283. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/website/themes/lektor-icon/templates/macros/blog.html +0 -0
  1284. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/website/themes/lektor-icon/templates/macros/pagination.html +0 -0
  1285. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/website/themes/lektor-icon/templates/none.html +0 -0
  1286. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/website/themes/lektor-icon/templates/page.html +0 -0
  1287. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/website/themes/lektor-icon/templates/single-layout.html +0 -0
  1288. {pyglet-3.0.dev6 → pyglet-3.0.dev8}/website/themes/lektor-icon/theme.ini +0 -0
@@ -0,0 +1,196 @@
1
+ name: PyTest
2
+
3
+ on: [push, pull_request]
4
+
5
+ jobs:
6
+ linux:
7
+ runs-on: ubuntu-latest
8
+ timeout-minutes: 10
9
+ strategy:
10
+ matrix:
11
+ python-version: [ '3.10', '3.11', '3.12', '3.13', '3.14', 'pypy-3.10' ]
12
+
13
+ name: Python ${{ matrix.python-version }} Ubuntu
14
+ steps:
15
+ - uses: actions/checkout@v7
16
+ - name: Setup python
17
+ uses: actions/setup-python@v6
18
+ with:
19
+ python-version: ${{ matrix.python-version }}
20
+ - name: Install dependencies
21
+ run: |
22
+ python -m pip install --upgrade pip
23
+ pip install pytest
24
+ sudo apt-get update
25
+ sudo apt-get install -y libopenal1 openal-tools
26
+ sudo apt-get install xvfb ffmpeg
27
+ - name: Run tests
28
+ env:
29
+ ALSOFT_DRIVERS: "null"
30
+ ALSOFT_LOGLEVEL: 1
31
+ run: |
32
+ backend_overrides=(
33
+ "opengl:4.6"
34
+ "gl2:2.0"
35
+ "gles2:2.0"
36
+ "gles3:3.2"
37
+ )
38
+
39
+ export PYGLET_BACKEND=opengl
40
+ export MESA_GL_VERSION_OVERRIDE=4.6
41
+ export MESA_GLES_VERSION_OVERRIDE=4.6
42
+ openal-info || true
43
+ xvfb-run --auto-servernum python3 -m pyglet.info
44
+ xvfb-run --auto-servernum pytest tests \
45
+ --ignore=tests/interactive \
46
+ --ignore=tests/integration/graphics
47
+ for backend_override in "${backend_overrides[@]}"; do
48
+ backend="${backend_override%%:*}"
49
+ version="${backend_override##*:}"
50
+ export PYGLET_BACKEND="${backend}"
51
+ export MESA_GL_VERSION_OVERRIDE="${version}"
52
+ export MESA_GLES_VERSION_OVERRIDE="${version}"
53
+ echo "Running backend-sensitive tests for backend=${backend}, version=${version}"
54
+ xvfb-run --auto-servernum python3 -m pyglet.info
55
+ xvfb-run --auto-servernum pytest tests/integration/graphics
56
+ done
57
+
58
+ osx:
59
+ runs-on: macos-latest
60
+ timeout-minutes: 10
61
+ strategy:
62
+ matrix:
63
+ python-version: [ '3.10', '3.11', '3.12', '3.13', '3.14']
64
+ name: Python ${{ matrix.python-version }} macOS
65
+ steps:
66
+ - uses: actions/checkout@v7
67
+ - name: Setup python
68
+ uses: actions/setup-python@v6
69
+ with:
70
+ python-version: ${{ matrix.python-version }}
71
+ - name: Install dependencies
72
+ run: |
73
+ pip install pytest
74
+ - name: Run tests
75
+ env:
76
+ PYGLET_BACKEND: opengl
77
+ run: |
78
+ python3 -m pyglet.info
79
+ pytest tests --ignore=tests/interactive
80
+
81
+ windows:
82
+ runs-on: windows-latest
83
+ timeout-minutes: 10
84
+ strategy:
85
+ matrix:
86
+ python-version: [ '3.10', '3.11', '3.12', '3.13', '3.14']
87
+
88
+ name: Python ${{ matrix.python-version }} Windows
89
+ steps:
90
+ - uses: actions/checkout@v7
91
+ - name: Setup python
92
+ uses: actions/setup-python@v6
93
+ with:
94
+ python-version: ${{ matrix.python-version }}
95
+ - uses: msys2/setup-msys2@v2
96
+ with:
97
+ msystem: MINGW64
98
+ release: false
99
+ install: mingw-w64-x86_64-mesa
100
+ - uses: ssciwr/setup-mesa-dist-win@v3
101
+ - name: Install dependencies
102
+ run: |
103
+ pip install pytest
104
+ - name: Run tests
105
+ shell: pwsh
106
+ run: |
107
+ $backend_test_args = @(
108
+ 'tests/integration/graphics'
109
+ )
110
+
111
+ $backend_overrides = @(
112
+ @{ backend = 'opengl'; version = '4.6' },
113
+ @{ backend = 'gl2'; version = '2.0' },
114
+ @{ backend = 'gles2'; version = '2.0' }
115
+ )
116
+
117
+ $env:PYGLET_BACKEND = 'opengl'
118
+ $env:MESA_GL_VERSION_OVERRIDE = '4.6'
119
+ $env:MESA_GLES_VERSION_OVERRIDE = '4.6'
120
+ python3 -m pyglet.info
121
+ pytest tests --ignore=tests/interactive --ignore=tests/integration/graphics
122
+ foreach ($backend_override in $backend_overrides) {
123
+ $env:PYGLET_BACKEND = $backend_override.backend
124
+ $env:MESA_GL_VERSION_OVERRIDE = $backend_override.version
125
+ $env:MESA_GLES_VERSION_OVERRIDE = $backend_override.version
126
+ Write-Host "Running backend-sensitive tests for backend=$($backend_override.backend), version=$($backend_override.version)"
127
+ python3 -m pyglet.info
128
+ pytest @backend_test_args
129
+ }
130
+
131
+ headless:
132
+ runs-on: ubuntu-latest
133
+ timeout-minutes: 10
134
+ strategy:
135
+ matrix:
136
+ python-version: [ '3.12', '3.13', '3.14', 'pypy-3.10' ]
137
+
138
+ name: Python ${{ matrix.python-version }} Ubuntu HEADLESS
139
+ steps:
140
+ - uses: actions/checkout@v7
141
+ - name: Setup python
142
+ uses: actions/setup-python@v6
143
+ with:
144
+ python-version: ${{ matrix.python-version }}
145
+ - name: Install dependencies
146
+ run: |
147
+ python -m pip install --upgrade pip
148
+ pip install pytest
149
+ sudo apt-get update
150
+ sudo apt-get install --fix-missing libgl1-mesa-dev xvfb
151
+ - name: Run tests
152
+ env:
153
+ PYGLET_HEADLESS: true
154
+ run: |
155
+ backend_overrides=(
156
+ "opengl:4.6"
157
+ "gles2:2.0"
158
+ "gles3:3.2"
159
+ )
160
+
161
+ export PYGLET_BACKEND=opengl
162
+ export MESA_GL_VERSION_OVERRIDE=4.6
163
+ export MESA_GLES_VERSION_OVERRIDE=4.6
164
+ python3 -m pyglet.info
165
+ pytest tests \
166
+ --ignore=tests/interactive \
167
+ --ignore=tests/integration/graphics
168
+ for backend_override in "${backend_overrides[@]}"; do
169
+ backend="${backend_override%%:*}"
170
+ version="${backend_override##*:}"
171
+ export PYGLET_BACKEND="${backend}"
172
+ export MESA_GL_VERSION_OVERRIDE="${version}"
173
+ export MESA_GLES_VERSION_OVERRIDE="${version}"
174
+ echo "Running backend-sensitive tests for backend=${backend}, version=${version}"
175
+ python3 -m pyglet.info
176
+ pytest tests/integration/graphics
177
+ done
178
+
179
+ pyodide-tests:
180
+ runs-on: ubuntu-latest
181
+ timeout-minutes: 10
182
+ name: Pyodide Tests
183
+ steps:
184
+ - uses: actions/checkout@v7
185
+ - name: Setup python
186
+ uses: actions/setup-python@v6
187
+ with:
188
+ python-version: '3.12'
189
+ - name: Install dependencies
190
+ run: |
191
+ python -m pip install --upgrade pip
192
+ pip install playwright
193
+ python -m playwright install --with-deps chromium
194
+ - name: Run Pyodide tests
195
+ run: |
196
+ python tests/pyodide/run_pyodide_tests.py --clean --timeout-seconds 300
@@ -0,0 +1,56 @@
1
+ # Python
2
+ __pycache__
3
+ *.pyc
4
+ *.pyo
5
+
6
+ # Virtualenvs (from project root)
7
+ /env
8
+ /.env
9
+ /.venv*
10
+
11
+ # Pyenv
12
+ .python-version
13
+
14
+ # Build / Docs
15
+ _build
16
+ pyglet.*.log
17
+ *.orig
18
+ build
19
+ dist
20
+ pyglet.egg-info/
21
+ MANIFEST
22
+ .coverage
23
+ coverage_report/
24
+
25
+ # Version control
26
+ .hgrc
27
+
28
+ # IDEs / Editors
29
+ .idea
30
+ .vscode
31
+ *~
32
+ *.bak
33
+ *.cache
34
+
35
+ # Platforms
36
+ .DS_Store
37
+ *.swp
38
+
39
+ # Internal
40
+ tests/regression/images/*.png
41
+ tests/interactive/screenshots/session/*.png
42
+ tests/interactive/screenshots/committed/*.png
43
+ doc/api
44
+ doc/internal/build.rst
45
+ website/dist
46
+ tools/*tab.py
47
+ tools/pyodide/.*_build/
48
+ tools/pyodide/**/.build/
49
+ tests/pyodide/**/.build/
50
+ .pyodide_test_build/
51
+ exprtab.py
52
+ parser.out
53
+ parsetab.py
54
+ pptab.py
55
+ strict_exprtab.py
56
+ prof/
@@ -0,0 +1,21 @@
1
+ include LICENSE
2
+ include README.md
3
+ include RELEASE_NOTES
4
+ include pyglet/libs/emscripten/pyglet_emscripten.js
5
+
6
+ # Public tools
7
+ include tools/inspect_font.py
8
+
9
+ # Examples
10
+ recursive-include examples *
11
+ prune examples/**/dist
12
+
13
+ # Tests
14
+ recursive-include tests *
15
+ recursive-exclude tests/regression/images *.png
16
+ recursive-exclude tests *.log
17
+
18
+ # Development artifacts
19
+ prune **/.svn
20
+ recursive-exclude * *.pyc
21
+ recursive-exclude * *.pyo
@@ -0,0 +1,188 @@
1
+ Metadata-Version: 2.4
2
+ Name: pyglet
3
+ Version: 3.0.dev8
4
+ Summary: pyglet is a cross-platform games and multimedia package.
5
+ Author-email: Alex Holkner & contributors <Alex.Holkner@gmail.com>
6
+ Requires-Python: >=3.10
7
+ Description-Content-Type: text/markdown
8
+ Classifier: Development Status :: 5 - Production/Stable
9
+ Classifier: Environment :: MacOS X
10
+ Classifier: Environment :: Win32 (MS Windows)
11
+ Classifier: Environment :: X11 Applications
12
+ Classifier: Intended Audience :: Developers
13
+ Classifier: License :: OSI Approved :: BSD License
14
+ Classifier: Operating System :: MacOS :: MacOS X
15
+ Classifier: Operating System :: Microsoft :: Windows
16
+ Classifier: Operating System :: POSIX :: Linux
17
+ Classifier: Programming Language :: Python :: 3
18
+ Classifier: Programming Language :: Python :: 3.10
19
+ Classifier: Programming Language :: Python :: 3.11
20
+ Classifier: Programming Language :: Python :: 3.12
21
+ Classifier: Programming Language :: Python :: 3.13
22
+ Classifier: Programming Language :: Python :: 3.14
23
+ Classifier: Topic :: Games/Entertainment
24
+ Classifier: Topic :: Software Development :: Libraries :: Python Modules
25
+ License-File: LICENSE
26
+ Project-URL: Documentation, https://pyglet.readthedocs.io
27
+ Project-URL: Home, https://pyglet.org
28
+ Project-URL: Repository, https://github.com/pyglet/pyglet/
29
+ Project-URL: Tracker, https://github.com/pyglet/pyglet/issues
30
+
31
+ [![pypi](https://badge.fury.io/py/pyglet.svg)](https://pypi.python.org/pypi/pyglet) [![rtd](https://readthedocs.org/projects/pyglet/badge/?version=latest)](https://pyglet.readthedocs.io) [![PyTest](https://github.com/pyglet/pyglet/actions/workflows/unittests.yml/badge.svg)](https://github.com/pyglet/pyglet/actions/workflows/unittests.yml)
32
+
33
+ ![logo_large.png](https://github.com/pyglet/pyglet/blob/54a8c8b7e701b1692c6a10dd80f94ec837c27bd3/examples/opengl/pyglet.png?raw=true)
34
+
35
+ # pyglet
36
+
37
+ *pyglet* is a cross-platform windowing and multimedia library for Python, intended for developing games
38
+ and other visually rich applications. It supports Windowing, input event handling, Controllers & Joysticks,
39
+ OpenGL graphics, loading images and videos, and playing sounds and music. *pyglet* works on Windows, OS X and Linux.
40
+
41
+ > :exclamation: :exclamation: **We are preparing to release a major pyglet update very soon**.
42
+ > Version 3.0 will include an extensive internal rewrite, bringing support for multiple rendering backends
43
+ > and significant performance improvements. This brings back support for some legacy platforms, as well as
44
+ > new support for WebGL. The high level APIs will be largely the same, but some adjustments will be necessary
45
+ > if you are using OpenGL directly in your game or application. See the migration guide to prepare for the
46
+ > new release at https://pyglet.readthedocs.io/en/development/programming_guide/migration.html, and try out
47
+ > the new release by downloading a 3.0.devX release today (pip install --upgrade pyglet --pre).
48
+ > **If you want to do a pull request for the previous release, please target the appropriate branch**.
49
+
50
+ * pyglet [documentation]
51
+ * pyglet on [PyPI]
52
+ * pyglet [discord] server
53
+ * pyglet [mailing list]
54
+ * pyglet [issue tracker]
55
+ * pyglet [website]
56
+
57
+ pyglet has an active developer and user community. If you find a bug or a problem with the documentation,
58
+ please [open an issue](https://github.com/pyglet/pyglet/issues).
59
+ Anyone is welcome to join our [discord] server where a lot of the development discussion is going on.
60
+ It's also a great place to ask for help.
61
+
62
+ Some features of pyglet are:
63
+
64
+ * **No external dependencies or installation requirements.** For most application and game requirements, *pyglet*
65
+ needs nothing else besides Python, simplifying distribution and installation. It's easy to package and distribute
66
+ your project with [Nuitka](https://nuitka.net) or [PyInstaller](https://pyinstaller.org).
67
+ * **Take advantage of multiple windows and multi-monitor desktops.** *pyglet* allows you to use multiple
68
+ platform-native windows, and is fully aware of multi-monitor setups for use with fullscreen games.
69
+ * **Load images, sound, music and video in almost any format.** *pyglet* can optionally use FFmpeg to play back
70
+ audio formats such as MP3, OGG/Vorbis and WMA, and video formats such as MPEG2, H.264, H.265, WMV and Xvid.
71
+ Without FFmpeg, *pyglet* contains built-in support for standard formats such as wav, png, bmp, and others.
72
+ * **pyglet is written entirely in pure Python**, and makes use of the *ctypes* module to interface with system
73
+ libraries. You can modify the codebase or make a contribution without any second language compilation steps or
74
+ compiler setup. Despite being pure Python, *pyglet* has excellent performance thanks to advanced batching for
75
+ drawing thousands of objects.
76
+ * **pyglet is provided under the BSD open-source license**, allowing you to use it for both commercial and other
77
+ open-source projects with very little restriction.
78
+
79
+ ## Requirements
80
+
81
+ pyglet runs under Python 3.10+. Being written in pure Python, it also works on other Python interpreters such as PyPy. Supported platforms are:
82
+
83
+ * Windows 7 or later
84
+ * macOS 10.9 or later.
85
+ * Linux, with the following libraries (most recent distributions will have
86
+ these in a default installation):
87
+ * OpenGL and GLX
88
+ * GDK 2.0+ or Pillow (required for loading images other than PNG and BMP)
89
+ * OpenAL or Pulseaudio (required for playing audio)
90
+
91
+ **As of pyglet 2.0, OpenGL 3.3+ is required**.
92
+
93
+ To play a large variety of compressed audio and video files,
94
+ pyglet can optionally take advantage of [FFmpeg](https://ffmpeg.org/).
95
+
96
+ ## Installation
97
+
98
+ pyglet is installable from PyPI:
99
+
100
+ pip install --upgrade --user pyglet
101
+
102
+ ## Installation from source
103
+
104
+ If you're reading this `README` from a source distribution, you can install pyglet with:
105
+
106
+ pip install --upgrade --user .
107
+ # or
108
+ python setup.py install --user
109
+
110
+ You can also install the latest development version directly from Github:
111
+
112
+ pip install --upgrade --user https://github.com/pyglet/pyglet/archive/master.zip
113
+
114
+ For local development install pyglet in editable mode:
115
+
116
+ ```bash
117
+ # with pip
118
+ pip install -e .
119
+ # with setup.py
120
+ python setup.py develop
121
+ ```
122
+
123
+ There are no compilation steps during the installation; if you prefer,
124
+ you can simply add this directory to your `PYTHONPATH` and use pyglet without
125
+ installing it. You can also copy pyglet directly into your project folder.
126
+
127
+ ## Contributing
128
+
129
+ **A good way to start contributing to a component of pyglet is by its documentation**. When studying the code you
130
+ are going to work with, also read the associated docs. If you don't understand the code with the help of the docs,
131
+ it is a sign that the docs should be improved. If you wish to make large changes to any part of pyglet, it's always
132
+ a good idea to reach out for feedback first. This can avoid wasted effort in cases where someone is already working
133
+ on something similar, or if your idea can't be accepted for any reason.
134
+
135
+ A basic outline of how to a contribution is as follows:
136
+
137
+ * Fork the [official repository](https://github.com/pyglet/pyglet/fork).
138
+ * In your fork, checkout the branch you wish to contribute to (such as *pyglet-1.5-maintenance*).
139
+ * Apply your changes to your fork.
140
+ * Submit a [pull request](https://github.com/pyglet/pyglet/pulls) describing the changes you have made.
141
+ * Alternatively you can create a patch and submit it to the issue tracker.
142
+
143
+ When making a pull request, check that you have addressed its respective documentation, both within the code docstrings
144
+ and the programming guide (if applicable). It is very important to all of us that the documentation matches the latest
145
+ code and vice versa.
146
+
147
+ Consequently, an error in the documentation, either because it is hard to understand or because it doesn't match the
148
+ code, is a bug that deserves to be reported on a ticket.
149
+
150
+ ## Building Docs
151
+
152
+ [Documentation and Type Hints]: https://pyglet.readthedocs.io/en/latest/internal/doc.html
153
+
154
+ To get started quickly:
155
+
156
+ python -m pip install -e . --group docs
157
+ python make.py docs
158
+
159
+ Please check [Documentation and Type Hints][] guide to learn more.
160
+
161
+ ## Testing
162
+
163
+ pyglet makes use of pytest for its test suite.
164
+
165
+ ```bash
166
+ python -m pip install -e . --group test
167
+ # Only run unittests
168
+ pytest tests/unit
169
+ ```
170
+
171
+ Please check the [testing section in the development guide](https://pyglet.readthedocs.io/en/latest/internal/testing.html)
172
+ for more information about running and writing tests.
173
+
174
+ ## Contact
175
+
176
+ pyglet is developed by many individual volunteers, and there is no central point of contact. If you have a question
177
+ about developing with pyglet, or you wish to contribute, please join the [discord] server, or [subreddit].
178
+
179
+ For legal issues, please contact [Alex Holkner](mailto:Alex.Holkner@gmail.com).
180
+
181
+ [discord]: https://discord.gg/QXyegWe
182
+ [subreddit]: https://www.reddit.com/r/pyglet/
183
+ [documentation]: https://pyglet.readthedocs.io
184
+ [wiki]: https://github.com/pyglet/pyglet/wiki
185
+ [pypi]: https://pypi.org/project/pyglet/
186
+ [website]: http://pyglet.org/
187
+ [issue tracker]: https://github.com/pyglet/pyglet/issues
188
+
@@ -0,0 +1,157 @@
1
+ [![pypi](https://badge.fury.io/py/pyglet.svg)](https://pypi.python.org/pypi/pyglet) [![rtd](https://readthedocs.org/projects/pyglet/badge/?version=latest)](https://pyglet.readthedocs.io) [![PyTest](https://github.com/pyglet/pyglet/actions/workflows/unittests.yml/badge.svg)](https://github.com/pyglet/pyglet/actions/workflows/unittests.yml)
2
+
3
+ ![logo_large.png](https://github.com/pyglet/pyglet/blob/54a8c8b7e701b1692c6a10dd80f94ec837c27bd3/examples/opengl/pyglet.png?raw=true)
4
+
5
+ # pyglet
6
+
7
+ *pyglet* is a cross-platform windowing and multimedia library for Python, intended for developing games
8
+ and other visually rich applications. It supports Windowing, input event handling, Controllers & Joysticks,
9
+ OpenGL graphics, loading images and videos, and playing sounds and music. *pyglet* works on Windows, OS X and Linux.
10
+
11
+ > :exclamation: :exclamation: **We are preparing to release a major pyglet update very soon**.
12
+ > Version 3.0 will include an extensive internal rewrite, bringing support for multiple rendering backends
13
+ > and significant performance improvements. This brings back support for some legacy platforms, as well as
14
+ > new support for WebGL. The high level APIs will be largely the same, but some adjustments will be necessary
15
+ > if you are using OpenGL directly in your game or application. See the migration guide to prepare for the
16
+ > new release at https://pyglet.readthedocs.io/en/development/programming_guide/migration.html, and try out
17
+ > the new release by downloading a 3.0.devX release today (pip install --upgrade pyglet --pre).
18
+ > **If you want to do a pull request for the previous release, please target the appropriate branch**.
19
+
20
+ * pyglet [documentation]
21
+ * pyglet on [PyPI]
22
+ * pyglet [discord] server
23
+ * pyglet [mailing list]
24
+ * pyglet [issue tracker]
25
+ * pyglet [website]
26
+
27
+ pyglet has an active developer and user community. If you find a bug or a problem with the documentation,
28
+ please [open an issue](https://github.com/pyglet/pyglet/issues).
29
+ Anyone is welcome to join our [discord] server where a lot of the development discussion is going on.
30
+ It's also a great place to ask for help.
31
+
32
+ Some features of pyglet are:
33
+
34
+ * **No external dependencies or installation requirements.** For most application and game requirements, *pyglet*
35
+ needs nothing else besides Python, simplifying distribution and installation. It's easy to package and distribute
36
+ your project with [Nuitka](https://nuitka.net) or [PyInstaller](https://pyinstaller.org).
37
+ * **Take advantage of multiple windows and multi-monitor desktops.** *pyglet* allows you to use multiple
38
+ platform-native windows, and is fully aware of multi-monitor setups for use with fullscreen games.
39
+ * **Load images, sound, music and video in almost any format.** *pyglet* can optionally use FFmpeg to play back
40
+ audio formats such as MP3, OGG/Vorbis and WMA, and video formats such as MPEG2, H.264, H.265, WMV and Xvid.
41
+ Without FFmpeg, *pyglet* contains built-in support for standard formats such as wav, png, bmp, and others.
42
+ * **pyglet is written entirely in pure Python**, and makes use of the *ctypes* module to interface with system
43
+ libraries. You can modify the codebase or make a contribution without any second language compilation steps or
44
+ compiler setup. Despite being pure Python, *pyglet* has excellent performance thanks to advanced batching for
45
+ drawing thousands of objects.
46
+ * **pyglet is provided under the BSD open-source license**, allowing you to use it for both commercial and other
47
+ open-source projects with very little restriction.
48
+
49
+ ## Requirements
50
+
51
+ pyglet runs under Python 3.10+. Being written in pure Python, it also works on other Python interpreters such as PyPy. Supported platforms are:
52
+
53
+ * Windows 7 or later
54
+ * macOS 10.9 or later.
55
+ * Linux, with the following libraries (most recent distributions will have
56
+ these in a default installation):
57
+ * OpenGL and GLX
58
+ * GDK 2.0+ or Pillow (required for loading images other than PNG and BMP)
59
+ * OpenAL or Pulseaudio (required for playing audio)
60
+
61
+ **As of pyglet 2.0, OpenGL 3.3+ is required**.
62
+
63
+ To play a large variety of compressed audio and video files,
64
+ pyglet can optionally take advantage of [FFmpeg](https://ffmpeg.org/).
65
+
66
+ ## Installation
67
+
68
+ pyglet is installable from PyPI:
69
+
70
+ pip install --upgrade --user pyglet
71
+
72
+ ## Installation from source
73
+
74
+ If you're reading this `README` from a source distribution, you can install pyglet with:
75
+
76
+ pip install --upgrade --user .
77
+ # or
78
+ python setup.py install --user
79
+
80
+ You can also install the latest development version directly from Github:
81
+
82
+ pip install --upgrade --user https://github.com/pyglet/pyglet/archive/master.zip
83
+
84
+ For local development install pyglet in editable mode:
85
+
86
+ ```bash
87
+ # with pip
88
+ pip install -e .
89
+ # with setup.py
90
+ python setup.py develop
91
+ ```
92
+
93
+ There are no compilation steps during the installation; if you prefer,
94
+ you can simply add this directory to your `PYTHONPATH` and use pyglet without
95
+ installing it. You can also copy pyglet directly into your project folder.
96
+
97
+ ## Contributing
98
+
99
+ **A good way to start contributing to a component of pyglet is by its documentation**. When studying the code you
100
+ are going to work with, also read the associated docs. If you don't understand the code with the help of the docs,
101
+ it is a sign that the docs should be improved. If you wish to make large changes to any part of pyglet, it's always
102
+ a good idea to reach out for feedback first. This can avoid wasted effort in cases where someone is already working
103
+ on something similar, or if your idea can't be accepted for any reason.
104
+
105
+ A basic outline of how to a contribution is as follows:
106
+
107
+ * Fork the [official repository](https://github.com/pyglet/pyglet/fork).
108
+ * In your fork, checkout the branch you wish to contribute to (such as *pyglet-1.5-maintenance*).
109
+ * Apply your changes to your fork.
110
+ * Submit a [pull request](https://github.com/pyglet/pyglet/pulls) describing the changes you have made.
111
+ * Alternatively you can create a patch and submit it to the issue tracker.
112
+
113
+ When making a pull request, check that you have addressed its respective documentation, both within the code docstrings
114
+ and the programming guide (if applicable). It is very important to all of us that the documentation matches the latest
115
+ code and vice versa.
116
+
117
+ Consequently, an error in the documentation, either because it is hard to understand or because it doesn't match the
118
+ code, is a bug that deserves to be reported on a ticket.
119
+
120
+ ## Building Docs
121
+
122
+ [Documentation and Type Hints]: https://pyglet.readthedocs.io/en/latest/internal/doc.html
123
+
124
+ To get started quickly:
125
+
126
+ python -m pip install -e . --group docs
127
+ python make.py docs
128
+
129
+ Please check [Documentation and Type Hints][] guide to learn more.
130
+
131
+ ## Testing
132
+
133
+ pyglet makes use of pytest for its test suite.
134
+
135
+ ```bash
136
+ python -m pip install -e . --group test
137
+ # Only run unittests
138
+ pytest tests/unit
139
+ ```
140
+
141
+ Please check the [testing section in the development guide](https://pyglet.readthedocs.io/en/latest/internal/testing.html)
142
+ for more information about running and writing tests.
143
+
144
+ ## Contact
145
+
146
+ pyglet is developed by many individual volunteers, and there is no central point of contact. If you have a question
147
+ about developing with pyglet, or you wish to contribute, please join the [discord] server, or [subreddit].
148
+
149
+ For legal issues, please contact [Alex Holkner](mailto:Alex.Holkner@gmail.com).
150
+
151
+ [discord]: https://discord.gg/QXyegWe
152
+ [subreddit]: https://www.reddit.com/r/pyglet/
153
+ [documentation]: https://pyglet.readthedocs.io
154
+ [wiki]: https://github.com/pyglet/pyglet/wiki
155
+ [pypi]: https://pypi.org/project/pyglet/
156
+ [website]: http://pyglet.org/
157
+ [issue tracker]: https://github.com/pyglet/pyglet/issues