vispy 0.14.3__tar.gz → 0.15.1__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.

Potentially problematic release.


This version of vispy might be problematic. Click here for more details.

Files changed (828) hide show
  1. {vispy-0.14.3 → vispy-0.15.1}/.github/workflows/main.yml +2 -2
  2. {vispy-0.14.3 → vispy-0.15.1}/.github/workflows/wheels.yml +7 -47
  3. {vispy-0.14.3 → vispy-0.15.1}/.gitignore +2 -1
  4. {vispy-0.14.3 → vispy-0.15.1}/CHANGELOG.md +48 -0
  5. {vispy-0.14.3 → vispy-0.15.1}/LICENSE.txt +1 -1
  6. {vispy-0.14.3/vispy.egg-info → vispy-0.15.1}/PKG-INFO +25 -2
  7. {vispy-0.14.3 → vispy-0.15.1}/ci/requirements/linux_full_deps_apt.txt +2 -0
  8. {vispy-0.14.3 → vispy-0.15.1}/ci/requirements/linux_full_deps_conda.txt +2 -2
  9. {vispy-0.14.3 → vispy-0.15.1}/ci/requirements/linux_full_newqtdeps_apt.txt +1 -1
  10. {vispy-0.14.3 → vispy-0.15.1}/doc/getting_started/modern-gl.rst +1 -1
  11. {vispy-0.14.3 → vispy-0.15.1}/doc/installation.rst +1 -1
  12. vispy-0.15.1/examples/scene/instanced_mesh_picking.py +96 -0
  13. vispy-0.15.1/pyproject.toml +27 -0
  14. {vispy-0.14.3 → vispy-0.15.1}/setup.py +1 -0
  15. {vispy-0.14.3 → vispy-0.15.1}/vispy/app/backends/_qt.py +46 -11
  16. {vispy-0.14.3 → vispy-0.15.1}/vispy/color/colormap.py +106 -27
  17. {vispy-0.14.3 → vispy-0.15.1}/vispy/color/tests/test_color.py +27 -1
  18. {vispy-0.14.3 → vispy-0.15.1}/vispy/ext/cocoapy.py +1 -21
  19. {vispy-0.14.3 → vispy-0.15.1}/vispy/geometry/meshdata.py +3 -1
  20. {vispy-0.14.3 → vispy-0.15.1}/vispy/geometry/tests/test_triangulation.py +88 -0
  21. {vispy-0.14.3 → vispy-0.15.1}/vispy/geometry/triangulation.py +11 -13
  22. {vispy-0.14.3 → vispy-0.15.1}/vispy/gloo/program.py +2 -2
  23. {vispy-0.14.3 → vispy-0.15.1}/vispy/scene/cameras/arcball.py +1 -2
  24. {vispy-0.14.3 → vispy-0.15.1}/vispy/scene/cameras/base_camera.py +63 -50
  25. {vispy-0.14.3 → vispy-0.15.1}/vispy/scene/cameras/panzoom.py +4 -1
  26. {vispy-0.14.3 → vispy-0.15.1}/vispy/scene/cameras/perspective.py +6 -1
  27. {vispy-0.14.3 → vispy-0.15.1}/vispy/scene/cameras/turntable.py +11 -1
  28. {vispy-0.14.3 → vispy-0.15.1}/vispy/version.py +9 -4
  29. {vispy-0.14.3 → vispy-0.15.1}/vispy/visuals/_scalable_textures.py +5 -4
  30. {vispy-0.14.3 → vispy-0.15.1}/vispy/visuals/filters/mesh.py +6 -1
  31. {vispy-0.14.3 → vispy-0.15.1}/vispy/visuals/gridlines.py +61 -5
  32. {vispy-0.14.3 → vispy-0.15.1}/vispy/visuals/image.py +19 -7
  33. {vispy-0.14.3 → vispy-0.15.1}/vispy/visuals/surface_plot.py +1 -1
  34. vispy-0.15.1/vispy/visuals/tests/test_gridlines.py +30 -0
  35. {vispy-0.14.3 → vispy-0.15.1}/vispy/visuals/tests/test_image.py +17 -15
  36. {vispy-0.14.3 → vispy-0.15.1}/vispy/visuals/tests/test_scalable_textures.py +16 -0
  37. {vispy-0.14.3 → vispy-0.15.1}/vispy/visuals/tests/test_surface_plot.py +8 -3
  38. {vispy-0.14.3 → vispy-0.15.1/vispy.egg-info}/PKG-INFO +25 -2
  39. {vispy-0.14.3 → vispy-0.15.1}/vispy.egg-info/SOURCES.txt +2 -0
  40. {vispy-0.14.3 → vispy-0.15.1}/vispy.egg-info/requires.txt +8 -0
  41. vispy-0.14.3/pyproject.toml +0 -13
  42. {vispy-0.14.3 → vispy-0.15.1}/.coveragerc +0 -0
  43. {vispy-0.14.3 → vispy-0.15.1}/.git_archival.txt +0 -0
  44. {vispy-0.14.3 → vispy-0.15.1}/.gitattributes +0 -0
  45. {vispy-0.14.3 → vispy-0.15.1}/.github/dependabot.yml +0 -0
  46. {vispy-0.14.3 → vispy-0.15.1}/.github_changelog_generator +0 -0
  47. {vispy-0.14.3 → vispy-0.15.1}/CITATION.rst +0 -0
  48. {vispy-0.14.3 → vispy-0.15.1}/CODE_OF_CONDUCT.md +0 -0
  49. {vispy-0.14.3 → vispy-0.15.1}/CONTRIBUTING.md +0 -0
  50. {vispy-0.14.3 → vispy-0.15.1}/MANIFEST.in +0 -0
  51. {vispy-0.14.3 → vispy-0.15.1}/README.rst +0 -0
  52. {vispy-0.14.3 → vispy-0.15.1}/ci/build_website.sh +0 -0
  53. {vispy-0.14.3 → vispy-0.15.1}/ci/requirements/linux_full_deps_pip.txt +0 -0
  54. {vispy-0.14.3 → vispy-0.15.1}/ci/requirements/linux_full_newqtdeps_conda.txt +0 -0
  55. {vispy-0.14.3 → vispy-0.15.1}/ci/requirements/linux_full_newqtdeps_pip.txt +0 -0
  56. {vispy-0.14.3 → vispy-0.15.1}/ci/requirements/linux_min_deps_conda.txt +0 -0
  57. {vispy-0.14.3 → vispy-0.15.1}/ci/requirements/linux_osmesa_deps_conda.txt +0 -0
  58. {vispy-0.14.3 → vispy-0.15.1}/ci/requirements/linux_website_deps_pip.txt +0 -0
  59. {vispy-0.14.3 → vispy-0.15.1}/ci/requirements/py310.yml +0 -0
  60. {vispy-0.14.3 → vispy-0.15.1}/ci/requirements/py39.yml +0 -0
  61. {vispy-0.14.3 → vispy-0.15.1}/doc/.gitignore +0 -0
  62. {vispy-0.14.3 → vispy-0.15.1}/doc/.nojekyll +0 -0
  63. {vispy-0.14.3 → vispy-0.15.1}/doc/CNAME +0 -0
  64. {vispy-0.14.3 → vispy-0.15.1}/doc/Makefile +0 -0
  65. {vispy-0.14.3 → vispy-0.15.1}/doc/README.rst +0 -0
  66. {vispy-0.14.3 → vispy-0.15.1}/doc/_static/ViewFrustum.png +0 -0
  67. {vispy-0.14.3 → vispy-0.15.1}/doc/_static/ViewFrustum.svg +0 -0
  68. {vispy-0.14.3 → vispy-0.15.1}/doc/_static/carousel/galaxy.png +0 -0
  69. {vispy-0.14.3 → vispy-0.15.1}/doc/_static/carousel/high-frequency.png +0 -0
  70. {vispy-0.14.3 → vispy-0.15.1}/doc/_static/carousel/mandelbrot.png +0 -0
  71. {vispy-0.14.3 → vispy-0.15.1}/doc/_static/carousel/signals.png +0 -0
  72. {vispy-0.14.3 → vispy-0.15.1}/doc/_static/favicon.ico +0 -0
  73. {vispy-0.14.3 → vispy-0.15.1}/doc/_static/frustum-matrix.png +0 -0
  74. {vispy-0.14.3 → vispy-0.15.1}/doc/_static/gl-history.png +0 -0
  75. {vispy-0.14.3 → vispy-0.15.1}/doc/_static/gl-pipeline.png +0 -0
  76. {vispy-0.14.3 → vispy-0.15.1}/doc/_static/gl-pipeline.svg +0 -0
  77. {vispy-0.14.3 → vispy-0.15.1}/doc/_static/ortho-matrix.png +0 -0
  78. {vispy-0.14.3 → vispy-0.15.1}/doc/_static/perspective-matrix.png +0 -0
  79. {vispy-0.14.3 → vispy-0.15.1}/doc/_static/style.css +0 -0
  80. {vispy-0.14.3 → vispy-0.15.1}/doc/_static/vispy-logo-V.png +0 -0
  81. {vispy-0.14.3 → vispy-0.15.1}/doc/_static/vispy-logo-V.svg +0 -0
  82. {vispy-0.14.3 → vispy-0.15.1}/doc/_static/vispy-teaser-short.png +0 -0
  83. {vispy-0.14.3 → vispy-0.15.1}/doc/_static/vispy-teaser-short.svg +0 -0
  84. {vispy-0.14.3 → vispy-0.15.1}/doc/_static/vispy-teaser.png +0 -0
  85. {vispy-0.14.3 → vispy-0.15.1}/doc/_static/vispy-teaser.svg +0 -0
  86. {vispy-0.14.3 → vispy-0.15.1}/doc/_static/vispy-text-white.png +0 -0
  87. {vispy-0.14.3 → vispy-0.15.1}/doc/_static/vispy-text-white.svg +0 -0
  88. {vispy-0.14.3 → vispy-0.15.1}/doc/api/.gitkeep +0 -0
  89. {vispy-0.14.3 → vispy-0.15.1}/doc/community.rst +0 -0
  90. {vispy-0.14.3 → vispy-0.15.1}/doc/conf.py +0 -0
  91. {vispy-0.14.3 → vispy-0.15.1}/doc/dev_guide/contributor_guide.rst +0 -0
  92. {vispy-0.14.3 → vispy-0.15.1}/doc/dev_guide/index.rst +0 -0
  93. {vispy-0.14.3 → vispy-0.15.1}/doc/dev_guide/writing_examples.rst +0 -0
  94. {vispy-0.14.3 → vispy-0.15.1}/doc/faq.rst +0 -0
  95. {vispy-0.14.3 → vispy-0.15.1}/doc/gallery/index.rst +0 -0
  96. {vispy-0.14.3 → vispy-0.15.1}/doc/getting_started/_canvas_app.rst +0 -0
  97. {vispy-0.14.3 → vispy-0.15.1}/doc/getting_started/gloo.rst +0 -0
  98. {vispy-0.14.3 → vispy-0.15.1}/doc/getting_started/index.rst +0 -0
  99. {vispy-0.14.3 → vispy-0.15.1}/doc/getting_started/plot.rst +0 -0
  100. {vispy-0.14.3 → vispy-0.15.1}/doc/getting_started/scene.rst +0 -0
  101. {vispy-0.14.3 → vispy-0.15.1}/doc/getting_started/visuals.rst +0 -0
  102. {vispy-0.14.3 → vispy-0.15.1}/doc/governance/GOVERNANCE.md +0 -0
  103. {vispy-0.14.3 → vispy-0.15.1}/doc/governance/MAINTAINERS.md +0 -0
  104. {vispy-0.14.3 → vispy-0.15.1}/doc/index.rst +0 -0
  105. {vispy-0.14.3 → vispy-0.15.1}/doc/news.rst +0 -0
  106. {vispy-0.14.3 → vispy-0.15.1}/doc/org/ANTITRUST.md +0 -0
  107. {vispy-0.14.3 → vispy-0.15.1}/doc/org/CHARTER.md +0 -0
  108. {vispy-0.14.3 → vispy-0.15.1}/doc/org/STEERING-COMMITTEE.md +0 -0
  109. {vispy-0.14.3 → vispy-0.15.1}/doc/org/TRADEMARKS.md +0 -0
  110. {vispy-0.14.3 → vispy-0.15.1}/doc/overview.rst +0 -0
  111. {vispy-0.14.3 → vispy-0.15.1}/doc/raspberry.rst +0 -0
  112. {vispy-0.14.3 → vispy-0.15.1}/doc/resources.rst +0 -0
  113. {vispy-0.14.3 → vispy-0.15.1}/doc/roadmap.rst +0 -0
  114. {vispy-0.14.3 → vispy-0.15.1}/doc/thirdparty.rst +0 -0
  115. {vispy-0.14.3 → vispy-0.15.1}/examples/README.rst +0 -0
  116. {vispy-0.14.3 → vispy-0.15.1}/examples/basics/scene/modular_shaders/editor.py +0 -0
  117. {vispy-0.14.3 → vispy-0.15.1}/examples/basics/scene/modular_shaders/sandbox.py +0 -0
  118. {vispy-0.14.3 → vispy-0.15.1}/examples/basics/scene/shared_context.py +0 -0
  119. {vispy-0.14.3 → vispy-0.15.1}/examples/basics/scene/stereo.py +0 -0
  120. {vispy-0.14.3 → vispy-0.15.1}/examples/basics/visuals/arcball.py +0 -0
  121. {vispy-0.14.3 → vispy-0.15.1}/examples/basics/visuals/arrows.py +0 -0
  122. {vispy-0.14.3 → vispy-0.15.1}/examples/basics/visuals/arrows_quiver.py +0 -0
  123. {vispy-0.14.3 → vispy-0.15.1}/examples/basics/visuals/axially_symmetric_surfaces.py +0 -0
  124. {vispy-0.14.3 → vispy-0.15.1}/examples/basics/visuals/bezier.py +0 -0
  125. {vispy-0.14.3 → vispy-0.15.1}/examples/basics/visuals/box.py +0 -0
  126. {vispy-0.14.3 → vispy-0.15.1}/examples/basics/visuals/colorbar_visual.py +0 -0
  127. {vispy-0.14.3 → vispy-0.15.1}/examples/basics/visuals/colorbar_visual_types.py +0 -0
  128. {vispy-0.14.3 → vispy-0.15.1}/examples/basics/visuals/custom_visual.py +0 -0
  129. {vispy-0.14.3 → vispy-0.15.1}/examples/basics/visuals/dynamic_polygon.py +0 -0
  130. {vispy-0.14.3 → vispy-0.15.1}/examples/basics/visuals/graph.py +0 -0
  131. {vispy-0.14.3 → vispy-0.15.1}/examples/basics/visuals/grid_mesh.py +0 -0
  132. {vispy-0.14.3 → vispy-0.15.1}/examples/basics/visuals/image_transforms.py +0 -0
  133. {vispy-0.14.3 → vispy-0.15.1}/examples/basics/visuals/image_visual.py +0 -0
  134. {vispy-0.14.3 → vispy-0.15.1}/examples/basics/visuals/line.py +0 -0
  135. {vispy-0.14.3 → vispy-0.15.1}/examples/basics/visuals/line_draw.py +0 -0
  136. {vispy-0.14.3 → vispy-0.15.1}/examples/basics/visuals/line_plot.py +0 -0
  137. {vispy-0.14.3 → vispy-0.15.1}/examples/basics/visuals/line_plot3d.py +0 -0
  138. {vispy-0.14.3 → vispy-0.15.1}/examples/basics/visuals/line_plot_axes.py +0 -0
  139. {vispy-0.14.3 → vispy-0.15.1}/examples/basics/visuals/line_prototype.py +0 -0
  140. {vispy-0.14.3 → vispy-0.15.1}/examples/basics/visuals/line_transform.py +0 -0
  141. {vispy-0.14.3 → vispy-0.15.1}/examples/basics/visuals/markers.py +0 -0
  142. {vispy-0.14.3 → vispy-0.15.1}/examples/basics/visuals/mesh.py +0 -0
  143. {vispy-0.14.3 → vispy-0.15.1}/examples/basics/visuals/networkx_layout.py +0 -0
  144. {vispy-0.14.3 → vispy-0.15.1}/examples/basics/visuals/plane.py +0 -0
  145. {vispy-0.14.3 → vispy-0.15.1}/examples/basics/visuals/polygon_visual.py +0 -0
  146. {vispy-0.14.3 → vispy-0.15.1}/examples/basics/visuals/rescalingmarkers.py +0 -0
  147. {vispy-0.14.3 → vispy-0.15.1}/examples/basics/visuals/rotating_box.py +0 -0
  148. {vispy-0.14.3 → vispy-0.15.1}/examples/basics/visuals/text_scatter.py +0 -0
  149. {vispy-0.14.3 → vispy-0.15.1}/examples/basics/visuals/text_visual.py +0 -0
  150. {vispy-0.14.3 → vispy-0.15.1}/examples/basics/visuals/tube.py +0 -0
  151. {vispy-0.14.3 → vispy-0.15.1}/examples/basics/visuals/visual_filters.py +0 -0
  152. {vispy-0.14.3 → vispy-0.15.1}/examples/basics/visuals/windbarb_quiver.py +0 -0
  153. {vispy-0.14.3 → vispy-0.15.1}/examples/benchmark/scene_test_1.py +0 -0
  154. {vispy-0.14.3 → vispy-0.15.1}/examples/benchmark/scene_test_2.py +0 -0
  155. {vispy-0.14.3 → vispy-0.15.1}/examples/benchmark/simple_glut.py +0 -0
  156. {vispy-0.14.3 → vispy-0.15.1}/examples/benchmark/simple_vispy.py +0 -0
  157. {vispy-0.14.3 → vispy-0.15.1}/examples/collections/chloropleth.py +0 -0
  158. {vispy-0.14.3 → vispy-0.15.1}/examples/collections/path_collection.py +0 -0
  159. {vispy-0.14.3 → vispy-0.15.1}/examples/collections/point_collection.py +0 -0
  160. {vispy-0.14.3 → vispy-0.15.1}/examples/collections/polygon_collection.py +0 -0
  161. {vispy-0.14.3 → vispy-0.15.1}/examples/collections/segment_collection.py +0 -0
  162. {vispy-0.14.3 → vispy-0.15.1}/examples/collections/tiger.py +0 -0
  163. {vispy-0.14.3 → vispy-0.15.1}/examples/collections/triangle_collection.py +0 -0
  164. {vispy-0.14.3 → vispy-0.15.1}/examples/demo/gloo/atom.py +0 -0
  165. {vispy-0.14.3 → vispy-0.15.1}/examples/demo/gloo/boids.py +0 -0
  166. {vispy-0.14.3 → vispy-0.15.1}/examples/demo/gloo/brain.py +0 -0
  167. {vispy-0.14.3 → vispy-0.15.1}/examples/demo/gloo/camera.py +0 -0
  168. {vispy-0.14.3 → vispy-0.15.1}/examples/demo/gloo/cloud.py +0 -0
  169. {vispy-0.14.3 → vispy-0.15.1}/examples/demo/gloo/donut.py +0 -0
  170. {vispy-0.14.3 → vispy-0.15.1}/examples/demo/gloo/fireworks.py +0 -0
  171. {vispy-0.14.3 → vispy-0.15.1}/examples/demo/gloo/galaxy/galaxy.py +0 -0
  172. {vispy-0.14.3 → vispy-0.15.1}/examples/demo/gloo/galaxy/galaxy_simulation.py +0 -0
  173. {vispy-0.14.3 → vispy-0.15.1}/examples/demo/gloo/galaxy/galaxy_specrend.py +0 -0
  174. {vispy-0.14.3 → vispy-0.15.1}/examples/demo/gloo/galaxy.py +0 -0
  175. {vispy-0.14.3 → vispy-0.15.1}/examples/demo/gloo/game_of_life.py +0 -0
  176. {vispy-0.14.3 → vispy-0.15.1}/examples/demo/gloo/glsl_sandbox_cube.py +0 -0
  177. {vispy-0.14.3 → vispy-0.15.1}/examples/demo/gloo/graph.py +0 -0
  178. {vispy-0.14.3 → vispy-0.15.1}/examples/demo/gloo/grayscott.py +0 -0
  179. {vispy-0.14.3 → vispy-0.15.1}/examples/demo/gloo/high_frequency.py +0 -0
  180. {vispy-0.14.3 → vispy-0.15.1}/examples/demo/gloo/imshow.py +0 -0
  181. {vispy-0.14.3 → vispy-0.15.1}/examples/demo/gloo/imshow_cuts.py +0 -0
  182. {vispy-0.14.3 → vispy-0.15.1}/examples/demo/gloo/jfa/fragment_display.glsl +0 -0
  183. {vispy-0.14.3 → vispy-0.15.1}/examples/demo/gloo/jfa/fragment_flood.glsl +0 -0
  184. {vispy-0.14.3 → vispy-0.15.1}/examples/demo/gloo/jfa/fragment_seed.glsl +0 -0
  185. {vispy-0.14.3 → vispy-0.15.1}/examples/demo/gloo/jfa/jfa_translation.py +0 -0
  186. {vispy-0.14.3 → vispy-0.15.1}/examples/demo/gloo/jfa/jfa_vispy.py +0 -0
  187. {vispy-0.14.3 → vispy-0.15.1}/examples/demo/gloo/jfa/vertex.glsl +0 -0
  188. {vispy-0.14.3 → vispy-0.15.1}/examples/demo/gloo/jfa/vertex_vispy.glsl +0 -0
  189. {vispy-0.14.3 → vispy-0.15.1}/examples/demo/gloo/mandelbrot.py +0 -0
  190. {vispy-0.14.3 → vispy-0.15.1}/examples/demo/gloo/mandelbrot_double.py +0 -0
  191. {vispy-0.14.3 → vispy-0.15.1}/examples/demo/gloo/molecular_viewer.py +0 -0
  192. {vispy-0.14.3 → vispy-0.15.1}/examples/demo/gloo/ndscatter.py +0 -0
  193. {vispy-0.14.3 → vispy-0.15.1}/examples/demo/gloo/offscreen.py +0 -0
  194. {vispy-0.14.3 → vispy-0.15.1}/examples/demo/gloo/primitive_mesh_viewer_qt.py +0 -0
  195. {vispy-0.14.3 → vispy-0.15.1}/examples/demo/gloo/quiver.py +0 -0
  196. {vispy-0.14.3 → vispy-0.15.1}/examples/demo/gloo/rain.py +0 -0
  197. {vispy-0.14.3 → vispy-0.15.1}/examples/demo/gloo/raytracing.py +0 -0
  198. {vispy-0.14.3 → vispy-0.15.1}/examples/demo/gloo/realtime_signals.py +0 -0
  199. {vispy-0.14.3 → vispy-0.15.1}/examples/demo/gloo/signals.py +0 -0
  200. {vispy-0.14.3 → vispy-0.15.1}/examples/demo/gloo/skybox.py +0 -0
  201. {vispy-0.14.3 → vispy-0.15.1}/examples/demo/gloo/spacy.py +0 -0
  202. {vispy-0.14.3 → vispy-0.15.1}/examples/demo/gloo/terrain.py +0 -0
  203. {vispy-0.14.3 → vispy-0.15.1}/examples/demo/gloo/two_qt_widgets.py +0 -0
  204. {vispy-0.14.3 → vispy-0.15.1}/examples/demo/gloo/unstructured_2d.py +0 -0
  205. {vispy-0.14.3 → vispy-0.15.1}/examples/demo/gloo/voronoi.py +0 -0
  206. {vispy-0.14.3 → vispy-0.15.1}/examples/demo/plot/plot.py +0 -0
  207. {vispy-0.14.3 → vispy-0.15.1}/examples/demo/scene/flow_lines.py +0 -0
  208. {vispy-0.14.3 → vispy-0.15.1}/examples/demo/scene/force_directed_graph.py +0 -0
  209. {vispy-0.14.3 → vispy-0.15.1}/examples/demo/scene/klein.py +0 -0
  210. {vispy-0.14.3 → vispy-0.15.1}/examples/demo/scene/oscilloscope.py +0 -0
  211. {vispy-0.14.3 → vispy-0.15.1}/examples/demo/scene/picking.py +0 -0
  212. {vispy-0.14.3 → vispy-0.15.1}/examples/demo/scene/scrolling_plots.py +0 -0
  213. {vispy-0.14.3 → vispy-0.15.1}/examples/demo/visuals/wiggly_bar.py +0 -0
  214. {vispy-0.14.3 → vispy-0.15.1}/examples/gloo/README.rst +0 -0
  215. {vispy-0.14.3 → vispy-0.15.1}/examples/gloo/animate_images.py +0 -0
  216. {vispy-0.14.3 → vispy-0.15.1}/examples/gloo/animate_images_slice.py +0 -0
  217. {vispy-0.14.3 → vispy-0.15.1}/examples/gloo/animate_shape.py +0 -0
  218. {vispy-0.14.3 → vispy-0.15.1}/examples/gloo/colored_cube.py +0 -0
  219. {vispy-0.14.3 → vispy-0.15.1}/examples/gloo/colored_cube_instanced.py +0 -0
  220. {vispy-0.14.3 → vispy-0.15.1}/examples/gloo/colored_quad.py +0 -0
  221. {vispy-0.14.3 → vispy-0.15.1}/examples/gloo/display_lines.py +0 -0
  222. {vispy-0.14.3 → vispy-0.15.1}/examples/gloo/display_points.py +0 -0
  223. {vispy-0.14.3 → vispy-0.15.1}/examples/gloo/display_shape.py +0 -0
  224. {vispy-0.14.3 → vispy-0.15.1}/examples/gloo/geometry_shader.py +0 -0
  225. {vispy-0.14.3 → vispy-0.15.1}/examples/gloo/gl/README.rst +0 -0
  226. {vispy-0.14.3 → vispy-0.15.1}/examples/gloo/gl/cube.py +0 -0
  227. {vispy-0.14.3 → vispy-0.15.1}/examples/gloo/gl/fireworks.py +0 -0
  228. {vispy-0.14.3 → vispy-0.15.1}/examples/gloo/gl/quad.py +0 -0
  229. {vispy-0.14.3 → vispy-0.15.1}/examples/gloo/gl/quad_instanced.py +0 -0
  230. {vispy-0.14.3 → vispy-0.15.1}/examples/gloo/gpuimage.py +0 -0
  231. {vispy-0.14.3 → vispy-0.15.1}/examples/gloo/hello_fbo.py +0 -0
  232. {vispy-0.14.3 → vispy-0.15.1}/examples/gloo/lighted_cube.py +0 -0
  233. {vispy-0.14.3 → vispy-0.15.1}/examples/gloo/multi_texture.py +0 -0
  234. {vispy-0.14.3 → vispy-0.15.1}/examples/gloo/outlined_cube.py +0 -0
  235. {vispy-0.14.3 → vispy-0.15.1}/examples/gloo/post_processing.py +0 -0
  236. {vispy-0.14.3 → vispy-0.15.1}/examples/gloo/rotate_cube.py +0 -0
  237. {vispy-0.14.3 → vispy-0.15.1}/examples/gloo/rotating_quad.py +0 -0
  238. {vispy-0.14.3 → vispy-0.15.1}/examples/gloo/spatial_filters.py +0 -0
  239. {vispy-0.14.3 → vispy-0.15.1}/examples/gloo/start.py +0 -0
  240. {vispy-0.14.3 → vispy-0.15.1}/examples/gloo/start_shaders.py +0 -0
  241. {vispy-0.14.3 → vispy-0.15.1}/examples/gloo/texture_precision.py +0 -0
  242. {vispy-0.14.3 → vispy-0.15.1}/examples/gloo/textured_cube.py +0 -0
  243. {vispy-0.14.3 → vispy-0.15.1}/examples/gloo/textured_quad.py +0 -0
  244. {vispy-0.14.3 → vispy-0.15.1}/examples/jupyter/Rotating Cube.ipynb +0 -0
  245. {vispy-0.14.3 → vispy-0.15.1}/examples/jupyter/colormaps.ipynb +0 -0
  246. {vispy-0.14.3 → vispy-0.15.1}/examples/jupyter/gloo_display_lines.ipynb +0 -0
  247. {vispy-0.14.3 → vispy-0.15.1}/examples/jupyter/gloo_molecular_viewer.ipynb +0 -0
  248. {vispy-0.14.3 → vispy-0.15.1}/examples/offscreen/simple_egl.py +0 -0
  249. {vispy-0.14.3 → vispy-0.15.1}/examples/offscreen/simple_osmesa.py +0 -0
  250. {vispy-0.14.3 → vispy-0.15.1}/examples/plotting/README.rst +0 -0
  251. {vispy-0.14.3 → vispy-0.15.1}/examples/plotting/colorbar.py +0 -0
  252. {vispy-0.14.3 → vispy-0.15.1}/examples/plotting/export.py +0 -0
  253. {vispy-0.14.3 → vispy-0.15.1}/examples/plotting/ipython_fig_playground.py +0 -0
  254. {vispy-0.14.3 → vispy-0.15.1}/examples/plotting/plot.py +0 -0
  255. {vispy-0.14.3 → vispy-0.15.1}/examples/plotting/plot_colorbars.py +0 -0
  256. {vispy-0.14.3 → vispy-0.15.1}/examples/plotting/scatter_histogram.py +0 -0
  257. {vispy-0.14.3 → vispy-0.15.1}/examples/plotting/spectrogram.py +0 -0
  258. {vispy-0.14.3 → vispy-0.15.1}/examples/plotting/volume_plot.py +0 -0
  259. {vispy-0.14.3 → vispy-0.15.1}/examples/scene/README.rst +0 -0
  260. {vispy-0.14.3 → vispy-0.15.1}/examples/scene/axes_plot.py +0 -0
  261. {vispy-0.14.3 → vispy-0.15.1}/examples/scene/background_borders.py +0 -0
  262. {vispy-0.14.3 → vispy-0.15.1}/examples/scene/clipping_planes.py +0 -0
  263. {vispy-0.14.3 → vispy-0.15.1}/examples/scene/colorbar_widget.py +0 -0
  264. {vispy-0.14.3 → vispy-0.15.1}/examples/scene/colored_line.py +0 -0
  265. {vispy-0.14.3 → vispy-0.15.1}/examples/scene/complex_image.py +0 -0
  266. {vispy-0.14.3 → vispy-0.15.1}/examples/scene/console.py +0 -0
  267. {vispy-0.14.3 → vispy-0.15.1}/examples/scene/contour.py +0 -0
  268. {vispy-0.14.3 → vispy-0.15.1}/examples/scene/example..gif +0 -0
  269. {vispy-0.14.3 → vispy-0.15.1}/examples/scene/example.png +0 -0
  270. {vispy-0.14.3 → vispy-0.15.1}/examples/scene/face_picking.py +0 -0
  271. {vispy-0.14.3 → vispy-0.15.1}/examples/scene/flipped_axis.py +0 -0
  272. {vispy-0.14.3 → vispy-0.15.1}/examples/scene/graph.py +0 -0
  273. {vispy-0.14.3 → vispy-0.15.1}/examples/scene/grid_layout/README.rst +0 -0
  274. {vispy-0.14.3 → vispy-0.15.1}/examples/scene/grid_layout/grid.py +0 -0
  275. {vispy-0.14.3 → vispy-0.15.1}/examples/scene/grid_layout/grid_basic.py +0 -0
  276. {vispy-0.14.3 → vispy-0.15.1}/examples/scene/grid_layout/grid_holed.py +0 -0
  277. {vispy-0.14.3 → vispy-0.15.1}/examples/scene/grid_layout/grid_large.py +0 -0
  278. {vispy-0.14.3 → vispy-0.15.1}/examples/scene/grid_layout/grid_uneven_col.py +0 -0
  279. {vispy-0.14.3 → vispy-0.15.1}/examples/scene/grid_layout/grid_x_y_viewbox.py +0 -0
  280. {vispy-0.14.3 → vispy-0.15.1}/examples/scene/image.py +0 -0
  281. {vispy-0.14.3 → vispy-0.15.1}/examples/scene/image_custom_kernel.py +0 -0
  282. {vispy-0.14.3 → vispy-0.15.1}/examples/scene/infinite_line.py +0 -0
  283. {vispy-0.14.3 → vispy-0.15.1}/examples/scene/instanced_mesh.py +0 -0
  284. {vispy-0.14.3 → vispy-0.15.1}/examples/scene/instanced_mesh_visual.py +0 -0
  285. {vispy-0.14.3 → vispy-0.15.1}/examples/scene/instanced_quad_visual.py +0 -0
  286. {vispy-0.14.3 → vispy-0.15.1}/examples/scene/isocurve.py +0 -0
  287. {vispy-0.14.3 → vispy-0.15.1}/examples/scene/isocurve_for_trisurface.py +0 -0
  288. {vispy-0.14.3 → vispy-0.15.1}/examples/scene/isocurve_for_trisurface_qt.py +0 -0
  289. {vispy-0.14.3 → vispy-0.15.1}/examples/scene/isocurve_updates.py +0 -0
  290. {vispy-0.14.3 → vispy-0.15.1}/examples/scene/isosurface.py +0 -0
  291. {vispy-0.14.3 → vispy-0.15.1}/examples/scene/lasso.py +0 -0
  292. {vispy-0.14.3 → vispy-0.15.1}/examples/scene/line.py +0 -0
  293. {vispy-0.14.3 → vispy-0.15.1}/examples/scene/line_update.py +0 -0
  294. {vispy-0.14.3 → vispy-0.15.1}/examples/scene/linear_region.py +0 -0
  295. {vispy-0.14.3 → vispy-0.15.1}/examples/scene/magnify.py +0 -0
  296. {vispy-0.14.3 → vispy-0.15.1}/examples/scene/marker_picking.py +0 -0
  297. {vispy-0.14.3 → vispy-0.15.1}/examples/scene/marker_spheres.py +0 -0
  298. {vispy-0.14.3 → vispy-0.15.1}/examples/scene/mesh_normals.py +0 -0
  299. {vispy-0.14.3 → vispy-0.15.1}/examples/scene/mesh_shading.py +0 -0
  300. {vispy-0.14.3 → vispy-0.15.1}/examples/scene/mesh_texture.py +0 -0
  301. {vispy-0.14.3 → vispy-0.15.1}/examples/scene/nested_viewbox.py +0 -0
  302. {vispy-0.14.3 → vispy-0.15.1}/examples/scene/one_cam_two_scenes.py +0 -0
  303. {vispy-0.14.3 → vispy-0.15.1}/examples/scene/one_scene_four_cams.py +0 -0
  304. {vispy-0.14.3 → vispy-0.15.1}/examples/scene/point_cloud.py +0 -0
  305. {vispy-0.14.3 → vispy-0.15.1}/examples/scene/polygon.py +0 -0
  306. {vispy-0.14.3 → vispy-0.15.1}/examples/scene/realtime_data/README.rst +0 -0
  307. {vispy-0.14.3 → vispy-0.15.1}/examples/scene/realtime_data/ex01_embedded_vispy.py +0 -0
  308. {vispy-0.14.3 → vispy-0.15.1}/examples/scene/realtime_data/ex02_control_vispy_from_qt.py +0 -0
  309. {vispy-0.14.3 → vispy-0.15.1}/examples/scene/realtime_data/ex03a_data_sources_timer.py +0 -0
  310. {vispy-0.14.3 → vispy-0.15.1}/examples/scene/realtime_data/ex03b_data_sources_threaded_loop.py +0 -0
  311. {vispy-0.14.3 → vispy-0.15.1}/examples/scene/realtime_data/ex03c_data_sources_threaded_events.py +0 -0
  312. {vispy-0.14.3 → vispy-0.15.1}/examples/scene/save_animation.py +0 -0
  313. {vispy-0.14.3 → vispy-0.15.1}/examples/scene/sensitivity.py +0 -0
  314. {vispy-0.14.3 → vispy-0.15.1}/examples/scene/shape_draw.py +0 -0
  315. {vispy-0.14.3 → vispy-0.15.1}/examples/scene/sphere.py +0 -0
  316. {vispy-0.14.3 → vispy-0.15.1}/examples/scene/surface_plot.py +0 -0
  317. {vispy-0.14.3 → vispy-0.15.1}/examples/scene/text.py +0 -0
  318. {vispy-0.14.3 → vispy-0.15.1}/examples/scene/turntable_box.py +0 -0
  319. {vispy-0.14.3 → vispy-0.15.1}/examples/scene/viewbox.py +0 -0
  320. {vispy-0.14.3 → vispy-0.15.1}/examples/scene/volume.py +0 -0
  321. {vispy-0.14.3 → vispy-0.15.1}/examples/scene/volume_plane.py +0 -0
  322. {vispy-0.14.3 → vispy-0.15.1}/examples/tutorial/app/app_events.py +0 -0
  323. {vispy-0.14.3 → vispy-0.15.1}/examples/tutorial/app/fps.py +0 -0
  324. {vispy-0.14.3 → vispy-0.15.1}/examples/tutorial/app/shared_context.py +0 -0
  325. {vispy-0.14.3 → vispy-0.15.1}/examples/tutorial/app/simple.py +0 -0
  326. {vispy-0.14.3 → vispy-0.15.1}/examples/tutorial/app/simple_wx.py +0 -0
  327. {vispy-0.14.3 → vispy-0.15.1}/examples/tutorial/visuals/T01_basic_visual.py +0 -0
  328. {vispy-0.14.3 → vispy-0.15.1}/examples/tutorial/visuals/T02_measurements.py +0 -0
  329. {vispy-0.14.3 → vispy-0.15.1}/examples/tutorial/visuals/T03_antialiasing.py +0 -0
  330. {vispy-0.14.3 → vispy-0.15.1}/examples/tutorial/visuals/T04_fragment_programs.py +0 -0
  331. {vispy-0.14.3 → vispy-0.15.1}/examples/tutorial/visuals/T05_viewer_location.py +0 -0
  332. {vispy-0.14.3 → vispy-0.15.1}/pytest.ini +0 -0
  333. {vispy-0.14.3 → vispy-0.15.1}/setup.cfg +0 -0
  334. {vispy-0.14.3 → vispy-0.15.1}/vispy/__init__.py +0 -0
  335. {vispy-0.14.3 → vispy-0.15.1}/vispy/app/__init__.py +0 -0
  336. {vispy-0.14.3 → vispy-0.15.1}/vispy/app/_default_app.py +0 -0
  337. {vispy-0.14.3 → vispy-0.15.1}/vispy/app/_detect_eventloop.py +0 -0
  338. {vispy-0.14.3 → vispy-0.15.1}/vispy/app/application.py +0 -0
  339. {vispy-0.14.3 → vispy-0.15.1}/vispy/app/backends/__init__.py +0 -0
  340. {vispy-0.14.3 → vispy-0.15.1}/vispy/app/backends/_egl.py +0 -0
  341. {vispy-0.14.3 → vispy-0.15.1}/vispy/app/backends/_glfw.py +0 -0
  342. {vispy-0.14.3 → vispy-0.15.1}/vispy/app/backends/_jupyter_rfb.py +0 -0
  343. {vispy-0.14.3 → vispy-0.15.1}/vispy/app/backends/_offscreen_util.py +0 -0
  344. {vispy-0.14.3 → vispy-0.15.1}/vispy/app/backends/_osmesa.py +0 -0
  345. {vispy-0.14.3 → vispy-0.15.1}/vispy/app/backends/_pyglet.py +0 -0
  346. {vispy-0.14.3 → vispy-0.15.1}/vispy/app/backends/_pyqt4.py +0 -0
  347. {vispy-0.14.3 → vispy-0.15.1}/vispy/app/backends/_pyqt5.py +0 -0
  348. {vispy-0.14.3 → vispy-0.15.1}/vispy/app/backends/_pyqt6.py +0 -0
  349. {vispy-0.14.3 → vispy-0.15.1}/vispy/app/backends/_pyside.py +0 -0
  350. {vispy-0.14.3 → vispy-0.15.1}/vispy/app/backends/_pyside2.py +0 -0
  351. {vispy-0.14.3 → vispy-0.15.1}/vispy/app/backends/_pyside6.py +0 -0
  352. {vispy-0.14.3 → vispy-0.15.1}/vispy/app/backends/_sdl2.py +0 -0
  353. {vispy-0.14.3 → vispy-0.15.1}/vispy/app/backends/_template.py +0 -0
  354. {vispy-0.14.3 → vispy-0.15.1}/vispy/app/backends/_test.py +0 -0
  355. {vispy-0.14.3 → vispy-0.15.1}/vispy/app/backends/_tk.py +0 -0
  356. {vispy-0.14.3 → vispy-0.15.1}/vispy/app/backends/_wx.py +0 -0
  357. {vispy-0.14.3 → vispy-0.15.1}/vispy/app/backends/tests/__init__.py +0 -0
  358. {vispy-0.14.3 → vispy-0.15.1}/vispy/app/backends/tests/test_offscreen_util.py +0 -0
  359. {vispy-0.14.3 → vispy-0.15.1}/vispy/app/backends/tests/test_rfb.py +0 -0
  360. {vispy-0.14.3 → vispy-0.15.1}/vispy/app/base.py +0 -0
  361. {vispy-0.14.3 → vispy-0.15.1}/vispy/app/canvas.py +0 -0
  362. {vispy-0.14.3 → vispy-0.15.1}/vispy/app/qt.py +0 -0
  363. {vispy-0.14.3 → vispy-0.15.1}/vispy/app/tests/__init__.py +0 -0
  364. {vispy-0.14.3 → vispy-0.15.1}/vispy/app/tests/qt-designer.ui +0 -0
  365. {vispy-0.14.3 → vispy-0.15.1}/vispy/app/tests/test_app.py +0 -0
  366. {vispy-0.14.3 → vispy-0.15.1}/vispy/app/tests/test_backends.py +0 -0
  367. {vispy-0.14.3 → vispy-0.15.1}/vispy/app/tests/test_canvas.py +0 -0
  368. {vispy-0.14.3 → vispy-0.15.1}/vispy/app/tests/test_context.py +0 -0
  369. {vispy-0.14.3 → vispy-0.15.1}/vispy/app/tests/test_qt.py +0 -0
  370. {vispy-0.14.3 → vispy-0.15.1}/vispy/app/tests/test_simultaneous.py +0 -0
  371. {vispy-0.14.3 → vispy-0.15.1}/vispy/app/timer.py +0 -0
  372. {vispy-0.14.3 → vispy-0.15.1}/vispy/color/__init__.py +0 -0
  373. {vispy-0.14.3 → vispy-0.15.1}/vispy/color/_color_dict.py +0 -0
  374. {vispy-0.14.3 → vispy-0.15.1}/vispy/color/color_array.py +0 -0
  375. {vispy-0.14.3 → vispy-0.15.1}/vispy/color/color_space.py +0 -0
  376. {vispy-0.14.3 → vispy-0.15.1}/vispy/color/tests/__init__.py +0 -0
  377. {vispy-0.14.3 → vispy-0.15.1}/vispy/conftest.py +0 -0
  378. {vispy-0.14.3 → vispy-0.15.1}/vispy/ext/__init__.py +0 -0
  379. {vispy-0.14.3 → vispy-0.15.1}/vispy/ext/cubehelix.py +0 -0
  380. {vispy-0.14.3 → vispy-0.15.1}/vispy/ext/egl.py +0 -0
  381. {vispy-0.14.3 → vispy-0.15.1}/vispy/ext/fontconfig.py +0 -0
  382. {vispy-0.14.3 → vispy-0.15.1}/vispy/ext/gdi32plus.py +0 -0
  383. {vispy-0.14.3 → vispy-0.15.1}/vispy/ext/osmesa.py +0 -0
  384. {vispy-0.14.3 → vispy-0.15.1}/vispy/geometry/__init__.py +0 -0
  385. {vispy-0.14.3 → vispy-0.15.1}/vispy/geometry/_triangulation_debugger.py +0 -0
  386. {vispy-0.14.3 → vispy-0.15.1}/vispy/geometry/calculations.py +0 -0
  387. {vispy-0.14.3 → vispy-0.15.1}/vispy/geometry/curves.py +0 -0
  388. {vispy-0.14.3 → vispy-0.15.1}/vispy/geometry/generation.py +0 -0
  389. {vispy-0.14.3 → vispy-0.15.1}/vispy/geometry/isocurve.py +0 -0
  390. {vispy-0.14.3 → vispy-0.15.1}/vispy/geometry/isosurface.py +0 -0
  391. {vispy-0.14.3 → vispy-0.15.1}/vispy/geometry/normals.py +0 -0
  392. {vispy-0.14.3 → vispy-0.15.1}/vispy/geometry/parametric.py +0 -0
  393. {vispy-0.14.3 → vispy-0.15.1}/vispy/geometry/polygon.py +0 -0
  394. {vispy-0.14.3 → vispy-0.15.1}/vispy/geometry/rect.py +0 -0
  395. {vispy-0.14.3 → vispy-0.15.1}/vispy/geometry/tests/__init__.py +0 -0
  396. {vispy-0.14.3 → vispy-0.15.1}/vispy/geometry/tests/test_calculations.py +0 -0
  397. {vispy-0.14.3 → vispy-0.15.1}/vispy/geometry/tests/test_generation.py +0 -0
  398. {vispy-0.14.3 → vispy-0.15.1}/vispy/geometry/tests/test_meshdata.py +0 -0
  399. {vispy-0.14.3 → vispy-0.15.1}/vispy/geometry/torusknot.py +0 -0
  400. {vispy-0.14.3 → vispy-0.15.1}/vispy/gloo/__init__.py +0 -0
  401. {vispy-0.14.3 → vispy-0.15.1}/vispy/gloo/buffer.py +0 -0
  402. {vispy-0.14.3 → vispy-0.15.1}/vispy/gloo/context.py +0 -0
  403. {vispy-0.14.3 → vispy-0.15.1}/vispy/gloo/framebuffer.py +0 -0
  404. {vispy-0.14.3 → vispy-0.15.1}/vispy/gloo/gl/__init__.py +0 -0
  405. {vispy-0.14.3 → vispy-0.15.1}/vispy/gloo/gl/_constants.py +0 -0
  406. {vispy-0.14.3 → vispy-0.15.1}/vispy/gloo/gl/_es2.py +0 -0
  407. {vispy-0.14.3 → vispy-0.15.1}/vispy/gloo/gl/_gl2.py +0 -0
  408. {vispy-0.14.3 → vispy-0.15.1}/vispy/gloo/gl/_proxy.py +0 -0
  409. {vispy-0.14.3 → vispy-0.15.1}/vispy/gloo/gl/_pyopengl2.py +0 -0
  410. {vispy-0.14.3 → vispy-0.15.1}/vispy/gloo/gl/dummy.py +0 -0
  411. {vispy-0.14.3 → vispy-0.15.1}/vispy/gloo/gl/es2.py +0 -0
  412. {vispy-0.14.3 → vispy-0.15.1}/vispy/gloo/gl/gl2.py +0 -0
  413. {vispy-0.14.3 → vispy-0.15.1}/vispy/gloo/gl/glplus.py +0 -0
  414. {vispy-0.14.3 → vispy-0.15.1}/vispy/gloo/gl/pyopengl2.py +0 -0
  415. {vispy-0.14.3 → vispy-0.15.1}/vispy/gloo/gl/tests/__init__.py +0 -0
  416. {vispy-0.14.3 → vispy-0.15.1}/vispy/gloo/gl/tests/test_basics.py +0 -0
  417. {vispy-0.14.3 → vispy-0.15.1}/vispy/gloo/gl/tests/test_functionality.py +0 -0
  418. {vispy-0.14.3 → vispy-0.15.1}/vispy/gloo/gl/tests/test_names.py +0 -0
  419. {vispy-0.14.3 → vispy-0.15.1}/vispy/gloo/gl/tests/test_use.py +0 -0
  420. {vispy-0.14.3 → vispy-0.15.1}/vispy/gloo/glir.py +0 -0
  421. {vispy-0.14.3 → vispy-0.15.1}/vispy/gloo/globject.py +0 -0
  422. {vispy-0.14.3 → vispy-0.15.1}/vispy/gloo/preprocessor.py +0 -0
  423. {vispy-0.14.3 → vispy-0.15.1}/vispy/gloo/tests/__init__.py +0 -0
  424. {vispy-0.14.3 → vispy-0.15.1}/vispy/gloo/tests/test_buffer.py +0 -0
  425. {vispy-0.14.3 → vispy-0.15.1}/vispy/gloo/tests/test_context.py +0 -0
  426. {vispy-0.14.3 → vispy-0.15.1}/vispy/gloo/tests/test_framebuffer.py +0 -0
  427. {vispy-0.14.3 → vispy-0.15.1}/vispy/gloo/tests/test_glir.py +0 -0
  428. {vispy-0.14.3 → vispy-0.15.1}/vispy/gloo/tests/test_globject.py +0 -0
  429. {vispy-0.14.3 → vispy-0.15.1}/vispy/gloo/tests/test_program.py +0 -0
  430. {vispy-0.14.3 → vispy-0.15.1}/vispy/gloo/tests/test_texture.py +0 -0
  431. {vispy-0.14.3 → vispy-0.15.1}/vispy/gloo/tests/test_use_gloo.py +0 -0
  432. {vispy-0.14.3 → vispy-0.15.1}/vispy/gloo/tests/test_util.py +0 -0
  433. {vispy-0.14.3 → vispy-0.15.1}/vispy/gloo/tests/test_wrappers.py +0 -0
  434. {vispy-0.14.3 → vispy-0.15.1}/vispy/gloo/texture.py +0 -0
  435. {vispy-0.14.3 → vispy-0.15.1}/vispy/gloo/util.py +0 -0
  436. {vispy-0.14.3 → vispy-0.15.1}/vispy/gloo/wrappers.py +0 -0
  437. {vispy-0.14.3 → vispy-0.15.1}/vispy/glsl/__init__.py +0 -0
  438. {vispy-0.14.3 → vispy-0.15.1}/vispy/glsl/antialias/antialias.glsl +0 -0
  439. {vispy-0.14.3 → vispy-0.15.1}/vispy/glsl/antialias/cap-butt.glsl +0 -0
  440. {vispy-0.14.3 → vispy-0.15.1}/vispy/glsl/antialias/cap-round.glsl +0 -0
  441. {vispy-0.14.3 → vispy-0.15.1}/vispy/glsl/antialias/cap-square.glsl +0 -0
  442. {vispy-0.14.3 → vispy-0.15.1}/vispy/glsl/antialias/cap-triangle-in.glsl +0 -0
  443. {vispy-0.14.3 → vispy-0.15.1}/vispy/glsl/antialias/cap-triangle-out.glsl +0 -0
  444. {vispy-0.14.3 → vispy-0.15.1}/vispy/glsl/antialias/cap.glsl +0 -0
  445. {vispy-0.14.3 → vispy-0.15.1}/vispy/glsl/antialias/caps.glsl +0 -0
  446. {vispy-0.14.3 → vispy-0.15.1}/vispy/glsl/antialias/filled.glsl +0 -0
  447. {vispy-0.14.3 → vispy-0.15.1}/vispy/glsl/antialias/outline.glsl +0 -0
  448. {vispy-0.14.3 → vispy-0.15.1}/vispy/glsl/antialias/stroke.glsl +0 -0
  449. {vispy-0.14.3 → vispy-0.15.1}/vispy/glsl/arrowheads/angle.glsl +0 -0
  450. {vispy-0.14.3 → vispy-0.15.1}/vispy/glsl/arrowheads/arrowheads.frag +0 -0
  451. {vispy-0.14.3 → vispy-0.15.1}/vispy/glsl/arrowheads/arrowheads.glsl +0 -0
  452. {vispy-0.14.3 → vispy-0.15.1}/vispy/glsl/arrowheads/arrowheads.vert +0 -0
  453. {vispy-0.14.3 → vispy-0.15.1}/vispy/glsl/arrowheads/curved.glsl +0 -0
  454. {vispy-0.14.3 → vispy-0.15.1}/vispy/glsl/arrowheads/inhibitor.glsl +0 -0
  455. {vispy-0.14.3 → vispy-0.15.1}/vispy/glsl/arrowheads/stealth.glsl +0 -0
  456. {vispy-0.14.3 → vispy-0.15.1}/vispy/glsl/arrowheads/triangle.glsl +0 -0
  457. {vispy-0.14.3 → vispy-0.15.1}/vispy/glsl/arrowheads/util.glsl +0 -0
  458. {vispy-0.14.3 → vispy-0.15.1}/vispy/glsl/arrows/angle-30.glsl +0 -0
  459. {vispy-0.14.3 → vispy-0.15.1}/vispy/glsl/arrows/angle-60.glsl +0 -0
  460. {vispy-0.14.3 → vispy-0.15.1}/vispy/glsl/arrows/angle-90.glsl +0 -0
  461. {vispy-0.14.3 → vispy-0.15.1}/vispy/glsl/arrows/arrow.frag +0 -0
  462. {vispy-0.14.3 → vispy-0.15.1}/vispy/glsl/arrows/arrow.vert +0 -0
  463. {vispy-0.14.3 → vispy-0.15.1}/vispy/glsl/arrows/arrows.glsl +0 -0
  464. {vispy-0.14.3 → vispy-0.15.1}/vispy/glsl/arrows/common.glsl +0 -0
  465. {vispy-0.14.3 → vispy-0.15.1}/vispy/glsl/arrows/curved.glsl +0 -0
  466. {vispy-0.14.3 → vispy-0.15.1}/vispy/glsl/arrows/stealth.glsl +0 -0
  467. {vispy-0.14.3 → vispy-0.15.1}/vispy/glsl/arrows/triangle-30.glsl +0 -0
  468. {vispy-0.14.3 → vispy-0.15.1}/vispy/glsl/arrows/triangle-60.glsl +0 -0
  469. {vispy-0.14.3 → vispy-0.15.1}/vispy/glsl/arrows/triangle-90.glsl +0 -0
  470. {vispy-0.14.3 → vispy-0.15.1}/vispy/glsl/arrows/util.glsl +0 -0
  471. {vispy-0.14.3 → vispy-0.15.1}/vispy/glsl/build_spatial_filters.py +0 -0
  472. {vispy-0.14.3 → vispy-0.15.1}/vispy/glsl/collections/agg-fast-path.frag +0 -0
  473. {vispy-0.14.3 → vispy-0.15.1}/vispy/glsl/collections/agg-fast-path.vert +0 -0
  474. {vispy-0.14.3 → vispy-0.15.1}/vispy/glsl/collections/agg-glyph.frag +0 -0
  475. {vispy-0.14.3 → vispy-0.15.1}/vispy/glsl/collections/agg-glyph.vert +0 -0
  476. {vispy-0.14.3 → vispy-0.15.1}/vispy/glsl/collections/agg-marker.frag +0 -0
  477. {vispy-0.14.3 → vispy-0.15.1}/vispy/glsl/collections/agg-marker.vert +0 -0
  478. {vispy-0.14.3 → vispy-0.15.1}/vispy/glsl/collections/agg-path.frag +0 -0
  479. {vispy-0.14.3 → vispy-0.15.1}/vispy/glsl/collections/agg-path.vert +0 -0
  480. {vispy-0.14.3 → vispy-0.15.1}/vispy/glsl/collections/agg-point.frag +0 -0
  481. {vispy-0.14.3 → vispy-0.15.1}/vispy/glsl/collections/agg-point.vert +0 -0
  482. {vispy-0.14.3 → vispy-0.15.1}/vispy/glsl/collections/agg-segment.frag +0 -0
  483. {vispy-0.14.3 → vispy-0.15.1}/vispy/glsl/collections/agg-segment.vert +0 -0
  484. {vispy-0.14.3 → vispy-0.15.1}/vispy/glsl/collections/marker.frag +0 -0
  485. {vispy-0.14.3 → vispy-0.15.1}/vispy/glsl/collections/marker.vert +0 -0
  486. {vispy-0.14.3 → vispy-0.15.1}/vispy/glsl/collections/raw-path.frag +0 -0
  487. {vispy-0.14.3 → vispy-0.15.1}/vispy/glsl/collections/raw-path.vert +0 -0
  488. {vispy-0.14.3 → vispy-0.15.1}/vispy/glsl/collections/raw-point.frag +0 -0
  489. {vispy-0.14.3 → vispy-0.15.1}/vispy/glsl/collections/raw-point.vert +0 -0
  490. {vispy-0.14.3 → vispy-0.15.1}/vispy/glsl/collections/raw-segment.frag +0 -0
  491. {vispy-0.14.3 → vispy-0.15.1}/vispy/glsl/collections/raw-segment.vert +0 -0
  492. {vispy-0.14.3 → vispy-0.15.1}/vispy/glsl/collections/raw-triangle.frag +0 -0
  493. {vispy-0.14.3 → vispy-0.15.1}/vispy/glsl/collections/raw-triangle.vert +0 -0
  494. {vispy-0.14.3 → vispy-0.15.1}/vispy/glsl/collections/sdf-glyph-ticks.vert +0 -0
  495. {vispy-0.14.3 → vispy-0.15.1}/vispy/glsl/collections/sdf-glyph.frag +0 -0
  496. {vispy-0.14.3 → vispy-0.15.1}/vispy/glsl/collections/sdf-glyph.vert +0 -0
  497. {vispy-0.14.3 → vispy-0.15.1}/vispy/glsl/collections/tick-labels.vert +0 -0
  498. {vispy-0.14.3 → vispy-0.15.1}/vispy/glsl/colormaps/autumn.glsl +0 -0
  499. {vispy-0.14.3 → vispy-0.15.1}/vispy/glsl/colormaps/blues.glsl +0 -0
  500. {vispy-0.14.3 → vispy-0.15.1}/vispy/glsl/colormaps/color-space.glsl +0 -0
  501. {vispy-0.14.3 → vispy-0.15.1}/vispy/glsl/colormaps/colormaps.glsl +0 -0
  502. {vispy-0.14.3 → vispy-0.15.1}/vispy/glsl/colormaps/cool.glsl +0 -0
  503. {vispy-0.14.3 → vispy-0.15.1}/vispy/glsl/colormaps/fire.glsl +0 -0
  504. {vispy-0.14.3 → vispy-0.15.1}/vispy/glsl/colormaps/gray.glsl +0 -0
  505. {vispy-0.14.3 → vispy-0.15.1}/vispy/glsl/colormaps/greens.glsl +0 -0
  506. {vispy-0.14.3 → vispy-0.15.1}/vispy/glsl/colormaps/hot.glsl +0 -0
  507. {vispy-0.14.3 → vispy-0.15.1}/vispy/glsl/colormaps/ice.glsl +0 -0
  508. {vispy-0.14.3 → vispy-0.15.1}/vispy/glsl/colormaps/icefire.glsl +0 -0
  509. {vispy-0.14.3 → vispy-0.15.1}/vispy/glsl/colormaps/parse.py +0 -0
  510. {vispy-0.14.3 → vispy-0.15.1}/vispy/glsl/colormaps/reds.glsl +0 -0
  511. {vispy-0.14.3 → vispy-0.15.1}/vispy/glsl/colormaps/spring.glsl +0 -0
  512. {vispy-0.14.3 → vispy-0.15.1}/vispy/glsl/colormaps/summer.glsl +0 -0
  513. {vispy-0.14.3 → vispy-0.15.1}/vispy/glsl/colormaps/user.glsl +0 -0
  514. {vispy-0.14.3 → vispy-0.15.1}/vispy/glsl/colormaps/util.glsl +0 -0
  515. {vispy-0.14.3 → vispy-0.15.1}/vispy/glsl/colormaps/wheel.glsl +0 -0
  516. {vispy-0.14.3 → vispy-0.15.1}/vispy/glsl/colormaps/winter.glsl +0 -0
  517. {vispy-0.14.3 → vispy-0.15.1}/vispy/glsl/lines/agg.frag +0 -0
  518. {vispy-0.14.3 → vispy-0.15.1}/vispy/glsl/lines/agg.vert +0 -0
  519. {vispy-0.14.3 → vispy-0.15.1}/vispy/glsl/markers/arrow.glsl +0 -0
  520. {vispy-0.14.3 → vispy-0.15.1}/vispy/glsl/markers/asterisk.glsl +0 -0
  521. {vispy-0.14.3 → vispy-0.15.1}/vispy/glsl/markers/chevron.glsl +0 -0
  522. {vispy-0.14.3 → vispy-0.15.1}/vispy/glsl/markers/clover.glsl +0 -0
  523. {vispy-0.14.3 → vispy-0.15.1}/vispy/glsl/markers/club.glsl +0 -0
  524. {vispy-0.14.3 → vispy-0.15.1}/vispy/glsl/markers/cross.glsl +0 -0
  525. {vispy-0.14.3 → vispy-0.15.1}/vispy/glsl/markers/diamond.glsl +0 -0
  526. {vispy-0.14.3 → vispy-0.15.1}/vispy/glsl/markers/disc.glsl +0 -0
  527. {vispy-0.14.3 → vispy-0.15.1}/vispy/glsl/markers/ellipse.glsl +0 -0
  528. {vispy-0.14.3 → vispy-0.15.1}/vispy/glsl/markers/hbar.glsl +0 -0
  529. {vispy-0.14.3 → vispy-0.15.1}/vispy/glsl/markers/heart.glsl +0 -0
  530. {vispy-0.14.3 → vispy-0.15.1}/vispy/glsl/markers/infinity.glsl +0 -0
  531. {vispy-0.14.3 → vispy-0.15.1}/vispy/glsl/markers/marker-sdf.frag +0 -0
  532. {vispy-0.14.3 → vispy-0.15.1}/vispy/glsl/markers/marker-sdf.vert +0 -0
  533. {vispy-0.14.3 → vispy-0.15.1}/vispy/glsl/markers/marker.frag +0 -0
  534. {vispy-0.14.3 → vispy-0.15.1}/vispy/glsl/markers/marker.vert +0 -0
  535. {vispy-0.14.3 → vispy-0.15.1}/vispy/glsl/markers/markers.glsl +0 -0
  536. {vispy-0.14.3 → vispy-0.15.1}/vispy/glsl/markers/pin.glsl +0 -0
  537. {vispy-0.14.3 → vispy-0.15.1}/vispy/glsl/markers/ring.glsl +0 -0
  538. {vispy-0.14.3 → vispy-0.15.1}/vispy/glsl/markers/spade.glsl +0 -0
  539. {vispy-0.14.3 → vispy-0.15.1}/vispy/glsl/markers/square.glsl +0 -0
  540. {vispy-0.14.3 → vispy-0.15.1}/vispy/glsl/markers/tag.glsl +0 -0
  541. {vispy-0.14.3 → vispy-0.15.1}/vispy/glsl/markers/triangle.glsl +0 -0
  542. {vispy-0.14.3 → vispy-0.15.1}/vispy/glsl/markers/vbar.glsl +0 -0
  543. {vispy-0.14.3 → vispy-0.15.1}/vispy/glsl/math/circle-through-2-points.glsl +0 -0
  544. {vispy-0.14.3 → vispy-0.15.1}/vispy/glsl/math/constants.glsl +0 -0
  545. {vispy-0.14.3 → vispy-0.15.1}/vispy/glsl/math/double.glsl +0 -0
  546. {vispy-0.14.3 → vispy-0.15.1}/vispy/glsl/math/functions.glsl +0 -0
  547. {vispy-0.14.3 → vispy-0.15.1}/vispy/glsl/math/point-to-line-distance.glsl +0 -0
  548. {vispy-0.14.3 → vispy-0.15.1}/vispy/glsl/math/point-to-line-projection.glsl +0 -0
  549. {vispy-0.14.3 → vispy-0.15.1}/vispy/glsl/math/signed-line-distance.glsl +0 -0
  550. {vispy-0.14.3 → vispy-0.15.1}/vispy/glsl/math/signed-segment-distance.glsl +0 -0
  551. {vispy-0.14.3 → vispy-0.15.1}/vispy/glsl/misc/regular-grid.frag +0 -0
  552. {vispy-0.14.3 → vispy-0.15.1}/vispy/glsl/misc/spatial-filters.frag +0 -0
  553. {vispy-0.14.3 → vispy-0.15.1}/vispy/glsl/misc/viewport-NDC.glsl +0 -0
  554. {vispy-0.14.3 → vispy-0.15.1}/vispy/glsl/transforms/azimuthal-equal-area.glsl +0 -0
  555. {vispy-0.14.3 → vispy-0.15.1}/vispy/glsl/transforms/azimuthal-equidistant.glsl +0 -0
  556. {vispy-0.14.3 → vispy-0.15.1}/vispy/glsl/transforms/hammer.glsl +0 -0
  557. {vispy-0.14.3 → vispy-0.15.1}/vispy/glsl/transforms/identity.glsl +0 -0
  558. {vispy-0.14.3 → vispy-0.15.1}/vispy/glsl/transforms/identity_forward.glsl +0 -0
  559. {vispy-0.14.3 → vispy-0.15.1}/vispy/glsl/transforms/identity_inverse.glsl +0 -0
  560. {vispy-0.14.3 → vispy-0.15.1}/vispy/glsl/transforms/linear-scale.glsl +0 -0
  561. {vispy-0.14.3 → vispy-0.15.1}/vispy/glsl/transforms/log-scale.glsl +0 -0
  562. {vispy-0.14.3 → vispy-0.15.1}/vispy/glsl/transforms/mercator-transverse-forward.glsl +0 -0
  563. {vispy-0.14.3 → vispy-0.15.1}/vispy/glsl/transforms/mercator-transverse-inverse.glsl +0 -0
  564. {vispy-0.14.3 → vispy-0.15.1}/vispy/glsl/transforms/panzoom.glsl +0 -0
  565. {vispy-0.14.3 → vispy-0.15.1}/vispy/glsl/transforms/polar.glsl +0 -0
  566. {vispy-0.14.3 → vispy-0.15.1}/vispy/glsl/transforms/position.glsl +0 -0
  567. {vispy-0.14.3 → vispy-0.15.1}/vispy/glsl/transforms/power-scale.glsl +0 -0
  568. {vispy-0.14.3 → vispy-0.15.1}/vispy/glsl/transforms/projection.glsl +0 -0
  569. {vispy-0.14.3 → vispy-0.15.1}/vispy/glsl/transforms/pvm.glsl +0 -0
  570. {vispy-0.14.3 → vispy-0.15.1}/vispy/glsl/transforms/rotate.glsl +0 -0
  571. {vispy-0.14.3 → vispy-0.15.1}/vispy/glsl/transforms/trackball.glsl +0 -0
  572. {vispy-0.14.3 → vispy-0.15.1}/vispy/glsl/transforms/translate.glsl +0 -0
  573. {vispy-0.14.3 → vispy-0.15.1}/vispy/glsl/transforms/transverse_mercator.glsl +0 -0
  574. {vispy-0.14.3 → vispy-0.15.1}/vispy/glsl/transforms/viewport-clipping.glsl +0 -0
  575. {vispy-0.14.3 → vispy-0.15.1}/vispy/glsl/transforms/viewport-transform.glsl +0 -0
  576. {vispy-0.14.3 → vispy-0.15.1}/vispy/glsl/transforms/viewport.glsl +0 -0
  577. {vispy-0.14.3 → vispy-0.15.1}/vispy/glsl/transforms/x.glsl +0 -0
  578. {vispy-0.14.3 → vispy-0.15.1}/vispy/glsl/transforms/y.glsl +0 -0
  579. {vispy-0.14.3 → vispy-0.15.1}/vispy/glsl/transforms/z.glsl +0 -0
  580. {vispy-0.14.3 → vispy-0.15.1}/vispy/io/__init__.py +0 -0
  581. {vispy-0.14.3 → vispy-0.15.1}/vispy/io/_data/spatial-filters.npy +0 -0
  582. {vispy-0.14.3 → vispy-0.15.1}/vispy/io/datasets.py +0 -0
  583. {vispy-0.14.3 → vispy-0.15.1}/vispy/io/image.py +0 -0
  584. {vispy-0.14.3 → vispy-0.15.1}/vispy/io/mesh.py +0 -0
  585. {vispy-0.14.3 → vispy-0.15.1}/vispy/io/stl.py +0 -0
  586. {vispy-0.14.3 → vispy-0.15.1}/vispy/io/tests/__init__.py +0 -0
  587. {vispy-0.14.3 → vispy-0.15.1}/vispy/io/tests/test_image.py +0 -0
  588. {vispy-0.14.3 → vispy-0.15.1}/vispy/io/tests/test_io.py +0 -0
  589. {vispy-0.14.3 → vispy-0.15.1}/vispy/io/wavefront.py +0 -0
  590. {vispy-0.14.3 → vispy-0.15.1}/vispy/plot/__init__.py +0 -0
  591. {vispy-0.14.3 → vispy-0.15.1}/vispy/plot/fig.py +0 -0
  592. {vispy-0.14.3 → vispy-0.15.1}/vispy/plot/plotwidget.py +0 -0
  593. {vispy-0.14.3 → vispy-0.15.1}/vispy/plot/tests/__init__.py +0 -0
  594. {vispy-0.14.3 → vispy-0.15.1}/vispy/plot/tests/test_plot.py +0 -0
  595. {vispy-0.14.3 → vispy-0.15.1}/vispy/scene/__init__.py +0 -0
  596. {vispy-0.14.3 → vispy-0.15.1}/vispy/scene/cameras/__init__.py +0 -0
  597. {vispy-0.14.3 → vispy-0.15.1}/vispy/scene/cameras/_base.py +0 -0
  598. {vispy-0.14.3 → vispy-0.15.1}/vispy/scene/cameras/fly.py +0 -0
  599. {vispy-0.14.3 → vispy-0.15.1}/vispy/scene/cameras/magnify.py +0 -0
  600. {vispy-0.14.3 → vispy-0.15.1}/vispy/scene/cameras/tests/__init__.py +0 -0
  601. {vispy-0.14.3 → vispy-0.15.1}/vispy/scene/cameras/tests/test_cameras.py +0 -0
  602. {vispy-0.14.3 → vispy-0.15.1}/vispy/scene/cameras/tests/test_link.py +0 -0
  603. {vispy-0.14.3 → vispy-0.15.1}/vispy/scene/cameras/tests/test_perspective.py +0 -0
  604. {vispy-0.14.3 → vispy-0.15.1}/vispy/scene/canvas.py +0 -0
  605. {vispy-0.14.3 → vispy-0.15.1}/vispy/scene/events.py +0 -0
  606. {vispy-0.14.3 → vispy-0.15.1}/vispy/scene/node.py +0 -0
  607. {vispy-0.14.3 → vispy-0.15.1}/vispy/scene/subscene.py +0 -0
  608. {vispy-0.14.3 → vispy-0.15.1}/vispy/scene/tests/__init__.py +0 -0
  609. {vispy-0.14.3 → vispy-0.15.1}/vispy/scene/tests/test_canvas.py +0 -0
  610. {vispy-0.14.3 → vispy-0.15.1}/vispy/scene/tests/test_node.py +0 -0
  611. {vispy-0.14.3 → vispy-0.15.1}/vispy/scene/tests/test_visuals.py +0 -0
  612. {vispy-0.14.3 → vispy-0.15.1}/vispy/scene/visuals.py +0 -0
  613. {vispy-0.14.3 → vispy-0.15.1}/vispy/scene/widgets/__init__.py +0 -0
  614. {vispy-0.14.3 → vispy-0.15.1}/vispy/scene/widgets/anchor.py +0 -0
  615. {vispy-0.14.3 → vispy-0.15.1}/vispy/scene/widgets/axis.py +0 -0
  616. {vispy-0.14.3 → vispy-0.15.1}/vispy/scene/widgets/colorbar.py +0 -0
  617. {vispy-0.14.3 → vispy-0.15.1}/vispy/scene/widgets/console.py +0 -0
  618. {vispy-0.14.3 → vispy-0.15.1}/vispy/scene/widgets/grid.py +0 -0
  619. {vispy-0.14.3 → vispy-0.15.1}/vispy/scene/widgets/label.py +0 -0
  620. {vispy-0.14.3 → vispy-0.15.1}/vispy/scene/widgets/tests/__init__.py +0 -0
  621. {vispy-0.14.3 → vispy-0.15.1}/vispy/scene/widgets/tests/test_colorbar.py +0 -0
  622. {vispy-0.14.3 → vispy-0.15.1}/vispy/scene/widgets/viewbox.py +0 -0
  623. {vispy-0.14.3 → vispy-0.15.1}/vispy/scene/widgets/widget.py +0 -0
  624. {vispy-0.14.3 → vispy-0.15.1}/vispy/testing/__init__.py +0 -0
  625. {vispy-0.14.3 → vispy-0.15.1}/vispy/testing/_runners.py +0 -0
  626. {vispy-0.14.3 → vispy-0.15.1}/vispy/testing/_testing.py +0 -0
  627. {vispy-0.14.3 → vispy-0.15.1}/vispy/testing/image_tester.py +0 -0
  628. {vispy-0.14.3 → vispy-0.15.1}/vispy/testing/rendered_array_tester.py +0 -0
  629. {vispy-0.14.3 → vispy-0.15.1}/vispy/testing/tests/__init__.py +0 -0
  630. {vispy-0.14.3 → vispy-0.15.1}/vispy/testing/tests/test_testing.py +0 -0
  631. {vispy-0.14.3 → vispy-0.15.1}/vispy/util/__init__.py +0 -0
  632. {vispy-0.14.3 → vispy-0.15.1}/vispy/util/bunch.py +0 -0
  633. {vispy-0.14.3 → vispy-0.15.1}/vispy/util/check_environment.py +0 -0
  634. {vispy-0.14.3 → vispy-0.15.1}/vispy/util/config.py +0 -0
  635. {vispy-0.14.3 → vispy-0.15.1}/vispy/util/dpi/__init__.py +0 -0
  636. {vispy-0.14.3 → vispy-0.15.1}/vispy/util/dpi/_linux.py +0 -0
  637. {vispy-0.14.3 → vispy-0.15.1}/vispy/util/dpi/_quartz.py +0 -0
  638. {vispy-0.14.3 → vispy-0.15.1}/vispy/util/dpi/_win32.py +0 -0
  639. {vispy-0.14.3 → vispy-0.15.1}/vispy/util/dpi/tests/__init__.py +0 -0
  640. {vispy-0.14.3 → vispy-0.15.1}/vispy/util/dpi/tests/test_dpi.py +0 -0
  641. {vispy-0.14.3 → vispy-0.15.1}/vispy/util/eq.py +0 -0
  642. {vispy-0.14.3 → vispy-0.15.1}/vispy/util/event.py +0 -0
  643. {vispy-0.14.3 → vispy-0.15.1}/vispy/util/fetching.py +0 -0
  644. {vispy-0.14.3 → vispy-0.15.1}/vispy/util/filter.py +0 -0
  645. {vispy-0.14.3 → vispy-0.15.1}/vispy/util/fonts/__init__.py +0 -0
  646. {vispy-0.14.3 → vispy-0.15.1}/vispy/util/fonts/_freetype.py +0 -0
  647. {vispy-0.14.3 → vispy-0.15.1}/vispy/util/fonts/_quartz.py +0 -0
  648. {vispy-0.14.3 → vispy-0.15.1}/vispy/util/fonts/_triage.py +0 -0
  649. {vispy-0.14.3 → vispy-0.15.1}/vispy/util/fonts/_vispy_fonts.py +0 -0
  650. {vispy-0.14.3 → vispy-0.15.1}/vispy/util/fonts/_win32.py +0 -0
  651. {vispy-0.14.3 → vispy-0.15.1}/vispy/util/fonts/data/OpenSans-Bold.ttf +0 -0
  652. {vispy-0.14.3 → vispy-0.15.1}/vispy/util/fonts/data/OpenSans-BoldItalic.ttf +0 -0
  653. {vispy-0.14.3 → vispy-0.15.1}/vispy/util/fonts/data/OpenSans-Italic.ttf +0 -0
  654. {vispy-0.14.3 → vispy-0.15.1}/vispy/util/fonts/data/OpenSans-Regular.ttf +0 -0
  655. {vispy-0.14.3 → vispy-0.15.1}/vispy/util/fonts/tests/__init__.py +0 -0
  656. {vispy-0.14.3 → vispy-0.15.1}/vispy/util/fonts/tests/test_font.py +0 -0
  657. {vispy-0.14.3 → vispy-0.15.1}/vispy/util/fourier.py +0 -0
  658. {vispy-0.14.3 → vispy-0.15.1}/vispy/util/frozen.py +0 -0
  659. {vispy-0.14.3 → vispy-0.15.1}/vispy/util/gallery_scraper.py +0 -0
  660. {vispy-0.14.3 → vispy-0.15.1}/vispy/util/keys.py +0 -0
  661. {vispy-0.14.3 → vispy-0.15.1}/vispy/util/logs.py +0 -0
  662. {vispy-0.14.3 → vispy-0.15.1}/vispy/util/osmesa_gl.py +0 -0
  663. {vispy-0.14.3 → vispy-0.15.1}/vispy/util/profiler.py +0 -0
  664. {vispy-0.14.3 → vispy-0.15.1}/vispy/util/ptime.py +0 -0
  665. {vispy-0.14.3 → vispy-0.15.1}/vispy/util/quaternion.py +0 -0
  666. {vispy-0.14.3 → vispy-0.15.1}/vispy/util/svg/__init__.py +0 -0
  667. {vispy-0.14.3 → vispy-0.15.1}/vispy/util/svg/base.py +0 -0
  668. {vispy-0.14.3 → vispy-0.15.1}/vispy/util/svg/color.py +0 -0
  669. {vispy-0.14.3 → vispy-0.15.1}/vispy/util/svg/element.py +0 -0
  670. {vispy-0.14.3 → vispy-0.15.1}/vispy/util/svg/geometry.py +0 -0
  671. {vispy-0.14.3 → vispy-0.15.1}/vispy/util/svg/group.py +0 -0
  672. {vispy-0.14.3 → vispy-0.15.1}/vispy/util/svg/length.py +0 -0
  673. {vispy-0.14.3 → vispy-0.15.1}/vispy/util/svg/number.py +0 -0
  674. {vispy-0.14.3 → vispy-0.15.1}/vispy/util/svg/path.py +0 -0
  675. {vispy-0.14.3 → vispy-0.15.1}/vispy/util/svg/shapes.py +0 -0
  676. {vispy-0.14.3 → vispy-0.15.1}/vispy/util/svg/style.py +0 -0
  677. {vispy-0.14.3 → vispy-0.15.1}/vispy/util/svg/svg.py +0 -0
  678. {vispy-0.14.3 → vispy-0.15.1}/vispy/util/svg/transform.py +0 -0
  679. {vispy-0.14.3 → vispy-0.15.1}/vispy/util/svg/transformable.py +0 -0
  680. {vispy-0.14.3 → vispy-0.15.1}/vispy/util/svg/viewport.py +0 -0
  681. {vispy-0.14.3 → vispy-0.15.1}/vispy/util/tests/__init__.py +0 -0
  682. {vispy-0.14.3 → vispy-0.15.1}/vispy/util/tests/test_config.py +0 -0
  683. {vispy-0.14.3 → vispy-0.15.1}/vispy/util/tests/test_docstring_parameters.py +0 -0
  684. {vispy-0.14.3 → vispy-0.15.1}/vispy/util/tests/test_emitter_group.py +0 -0
  685. {vispy-0.14.3 → vispy-0.15.1}/vispy/util/tests/test_event_emitter.py +0 -0
  686. {vispy-0.14.3 → vispy-0.15.1}/vispy/util/tests/test_fourier.py +0 -0
  687. {vispy-0.14.3 → vispy-0.15.1}/vispy/util/tests/test_gallery_scraper.py +0 -0
  688. {vispy-0.14.3 → vispy-0.15.1}/vispy/util/tests/test_import.py +0 -0
  689. {vispy-0.14.3 → vispy-0.15.1}/vispy/util/tests/test_key.py +0 -0
  690. {vispy-0.14.3 → vispy-0.15.1}/vispy/util/tests/test_logging.py +0 -0
  691. {vispy-0.14.3 → vispy-0.15.1}/vispy/util/tests/test_run.py +0 -0
  692. {vispy-0.14.3 → vispy-0.15.1}/vispy/util/tests/test_transforms.py +0 -0
  693. {vispy-0.14.3 → vispy-0.15.1}/vispy/util/tests/test_vispy.py +0 -0
  694. {vispy-0.14.3 → vispy-0.15.1}/vispy/util/transforms.py +0 -0
  695. {vispy-0.14.3 → vispy-0.15.1}/vispy/util/wrappers.py +0 -0
  696. {vispy-0.14.3 → vispy-0.15.1}/vispy/visuals/__init__.py +0 -0
  697. {vispy-0.14.3 → vispy-0.15.1}/vispy/visuals/axis.py +0 -0
  698. {vispy-0.14.3 → vispy-0.15.1}/vispy/visuals/border.py +0 -0
  699. {vispy-0.14.3 → vispy-0.15.1}/vispy/visuals/box.py +0 -0
  700. {vispy-0.14.3 → vispy-0.15.1}/vispy/visuals/collections/__init__.py +0 -0
  701. {vispy-0.14.3 → vispy-0.15.1}/vispy/visuals/collections/agg_fast_path_collection.py +0 -0
  702. {vispy-0.14.3 → vispy-0.15.1}/vispy/visuals/collections/agg_path_collection.py +0 -0
  703. {vispy-0.14.3 → vispy-0.15.1}/vispy/visuals/collections/agg_point_collection.py +0 -0
  704. {vispy-0.14.3 → vispy-0.15.1}/vispy/visuals/collections/agg_segment_collection.py +0 -0
  705. {vispy-0.14.3 → vispy-0.15.1}/vispy/visuals/collections/array_list.py +0 -0
  706. {vispy-0.14.3 → vispy-0.15.1}/vispy/visuals/collections/base_collection.py +0 -0
  707. {vispy-0.14.3 → vispy-0.15.1}/vispy/visuals/collections/collection.py +0 -0
  708. {vispy-0.14.3 → vispy-0.15.1}/vispy/visuals/collections/path_collection.py +0 -0
  709. {vispy-0.14.3 → vispy-0.15.1}/vispy/visuals/collections/point_collection.py +0 -0
  710. {vispy-0.14.3 → vispy-0.15.1}/vispy/visuals/collections/polygon_collection.py +0 -0
  711. {vispy-0.14.3 → vispy-0.15.1}/vispy/visuals/collections/raw_path_collection.py +0 -0
  712. {vispy-0.14.3 → vispy-0.15.1}/vispy/visuals/collections/raw_point_collection.py +0 -0
  713. {vispy-0.14.3 → vispy-0.15.1}/vispy/visuals/collections/raw_polygon_collection.py +0 -0
  714. {vispy-0.14.3 → vispy-0.15.1}/vispy/visuals/collections/raw_segment_collection.py +0 -0
  715. {vispy-0.14.3 → vispy-0.15.1}/vispy/visuals/collections/raw_triangle_collection.py +0 -0
  716. {vispy-0.14.3 → vispy-0.15.1}/vispy/visuals/collections/segment_collection.py +0 -0
  717. {vispy-0.14.3 → vispy-0.15.1}/vispy/visuals/collections/triangle_collection.py +0 -0
  718. {vispy-0.14.3 → vispy-0.15.1}/vispy/visuals/collections/util.py +0 -0
  719. {vispy-0.14.3 → vispy-0.15.1}/vispy/visuals/colorbar.py +0 -0
  720. {vispy-0.14.3 → vispy-0.15.1}/vispy/visuals/cube.py +0 -0
  721. {vispy-0.14.3 → vispy-0.15.1}/vispy/visuals/ellipse.py +0 -0
  722. {vispy-0.14.3 → vispy-0.15.1}/vispy/visuals/filters/__init__.py +0 -0
  723. {vispy-0.14.3 → vispy-0.15.1}/vispy/visuals/filters/base_filter.py +0 -0
  724. {vispy-0.14.3 → vispy-0.15.1}/vispy/visuals/filters/clipper.py +0 -0
  725. {vispy-0.14.3 → vispy-0.15.1}/vispy/visuals/filters/clipping_planes.py +0 -0
  726. {vispy-0.14.3 → vispy-0.15.1}/vispy/visuals/filters/color.py +0 -0
  727. {vispy-0.14.3 → vispy-0.15.1}/vispy/visuals/filters/markers.py +0 -0
  728. {vispy-0.14.3 → vispy-0.15.1}/vispy/visuals/filters/picking.py +0 -0
  729. {vispy-0.14.3 → vispy-0.15.1}/vispy/visuals/filters/tests/__init__.py +0 -0
  730. {vispy-0.14.3 → vispy-0.15.1}/vispy/visuals/filters/tests/test_primitive_picking_filters.py +0 -0
  731. {vispy-0.14.3 → vispy-0.15.1}/vispy/visuals/filters/tests/test_wireframe_filter.py +0 -0
  732. {vispy-0.14.3 → vispy-0.15.1}/vispy/visuals/glsl/__init__.py +0 -0
  733. {vispy-0.14.3 → vispy-0.15.1}/vispy/visuals/glsl/antialiasing.py +0 -0
  734. {vispy-0.14.3 → vispy-0.15.1}/vispy/visuals/glsl/color.py +0 -0
  735. {vispy-0.14.3 → vispy-0.15.1}/vispy/visuals/graphs/__init__.py +0 -0
  736. {vispy-0.14.3 → vispy-0.15.1}/vispy/visuals/graphs/graph.py +0 -0
  737. {vispy-0.14.3 → vispy-0.15.1}/vispy/visuals/graphs/layouts/__init__.py +0 -0
  738. {vispy-0.14.3 → vispy-0.15.1}/vispy/visuals/graphs/layouts/circular.py +0 -0
  739. {vispy-0.14.3 → vispy-0.15.1}/vispy/visuals/graphs/layouts/force_directed.py +0 -0
  740. {vispy-0.14.3 → vispy-0.15.1}/vispy/visuals/graphs/layouts/networkx_layout.py +0 -0
  741. {vispy-0.14.3 → vispy-0.15.1}/vispy/visuals/graphs/layouts/random.py +0 -0
  742. {vispy-0.14.3 → vispy-0.15.1}/vispy/visuals/graphs/tests/__init__.py +0 -0
  743. {vispy-0.14.3 → vispy-0.15.1}/vispy/visuals/graphs/tests/test_layouts.py +0 -0
  744. {vispy-0.14.3 → vispy-0.15.1}/vispy/visuals/graphs/tests/test_networkx_layout.py +0 -0
  745. {vispy-0.14.3 → vispy-0.15.1}/vispy/visuals/graphs/util.py +0 -0
  746. {vispy-0.14.3 → vispy-0.15.1}/vispy/visuals/gridmesh.py +0 -0
  747. {vispy-0.14.3 → vispy-0.15.1}/vispy/visuals/histogram.py +0 -0
  748. {vispy-0.14.3 → vispy-0.15.1}/vispy/visuals/image_complex.py +0 -0
  749. {vispy-0.14.3 → vispy-0.15.1}/vispy/visuals/infinite_line.py +0 -0
  750. {vispy-0.14.3 → vispy-0.15.1}/vispy/visuals/instanced_mesh.py +0 -0
  751. {vispy-0.14.3 → vispy-0.15.1}/vispy/visuals/isocurve.py +0 -0
  752. {vispy-0.14.3 → vispy-0.15.1}/vispy/visuals/isoline.py +0 -0
  753. {vispy-0.14.3 → vispy-0.15.1}/vispy/visuals/isosurface.py +0 -0
  754. {vispy-0.14.3 → vispy-0.15.1}/vispy/visuals/line/__init__.py +0 -0
  755. {vispy-0.14.3 → vispy-0.15.1}/vispy/visuals/line/arrow.py +0 -0
  756. {vispy-0.14.3 → vispy-0.15.1}/vispy/visuals/line/dash_atlas.py +0 -0
  757. {vispy-0.14.3 → vispy-0.15.1}/vispy/visuals/line/line.py +0 -0
  758. {vispy-0.14.3 → vispy-0.15.1}/vispy/visuals/line_plot.py +0 -0
  759. {vispy-0.14.3 → vispy-0.15.1}/vispy/visuals/linear_region.py +0 -0
  760. {vispy-0.14.3 → vispy-0.15.1}/vispy/visuals/markers.py +0 -0
  761. {vispy-0.14.3 → vispy-0.15.1}/vispy/visuals/mesh.py +0 -0
  762. {vispy-0.14.3 → vispy-0.15.1}/vispy/visuals/mesh_normals.py +0 -0
  763. {vispy-0.14.3 → vispy-0.15.1}/vispy/visuals/plane.py +0 -0
  764. {vispy-0.14.3 → vispy-0.15.1}/vispy/visuals/polygon.py +0 -0
  765. {vispy-0.14.3 → vispy-0.15.1}/vispy/visuals/rectangle.py +0 -0
  766. {vispy-0.14.3 → vispy-0.15.1}/vispy/visuals/regular_polygon.py +0 -0
  767. {vispy-0.14.3 → vispy-0.15.1}/vispy/visuals/scrolling_lines.py +0 -0
  768. {vispy-0.14.3 → vispy-0.15.1}/vispy/visuals/shaders/__init__.py +0 -0
  769. {vispy-0.14.3 → vispy-0.15.1}/vispy/visuals/shaders/compiler.py +0 -0
  770. {vispy-0.14.3 → vispy-0.15.1}/vispy/visuals/shaders/expression.py +0 -0
  771. {vispy-0.14.3 → vispy-0.15.1}/vispy/visuals/shaders/function.py +0 -0
  772. {vispy-0.14.3 → vispy-0.15.1}/vispy/visuals/shaders/multiprogram.py +0 -0
  773. {vispy-0.14.3 → vispy-0.15.1}/vispy/visuals/shaders/parsing.py +0 -0
  774. {vispy-0.14.3 → vispy-0.15.1}/vispy/visuals/shaders/program.py +0 -0
  775. {vispy-0.14.3 → vispy-0.15.1}/vispy/visuals/shaders/shader_object.py +0 -0
  776. {vispy-0.14.3 → vispy-0.15.1}/vispy/visuals/shaders/tests/__init__.py +0 -0
  777. {vispy-0.14.3 → vispy-0.15.1}/vispy/visuals/shaders/tests/test_function.py +0 -0
  778. {vispy-0.14.3 → vispy-0.15.1}/vispy/visuals/shaders/tests/test_multiprogram.py +0 -0
  779. {vispy-0.14.3 → vispy-0.15.1}/vispy/visuals/shaders/tests/test_parsing.py +0 -0
  780. {vispy-0.14.3 → vispy-0.15.1}/vispy/visuals/shaders/variable.py +0 -0
  781. {vispy-0.14.3 → vispy-0.15.1}/vispy/visuals/spectrogram.py +0 -0
  782. {vispy-0.14.3 → vispy-0.15.1}/vispy/visuals/sphere.py +0 -0
  783. {vispy-0.14.3 → vispy-0.15.1}/vispy/visuals/tests/__init__.py +0 -0
  784. {vispy-0.14.3 → vispy-0.15.1}/vispy/visuals/tests/test_arrows.py +0 -0
  785. {vispy-0.14.3 → vispy-0.15.1}/vispy/visuals/tests/test_axis.py +0 -0
  786. {vispy-0.14.3 → vispy-0.15.1}/vispy/visuals/tests/test_collections.py +0 -0
  787. {vispy-0.14.3 → vispy-0.15.1}/vispy/visuals/tests/test_colorbar.py +0 -0
  788. {vispy-0.14.3 → vispy-0.15.1}/vispy/visuals/tests/test_colormap.py +0 -0
  789. {vispy-0.14.3 → vispy-0.15.1}/vispy/visuals/tests/test_ellipse.py +0 -0
  790. {vispy-0.14.3 → vispy-0.15.1}/vispy/visuals/tests/test_histogram.py +0 -0
  791. {vispy-0.14.3 → vispy-0.15.1}/vispy/visuals/tests/test_image_complex.py +0 -0
  792. {vispy-0.14.3 → vispy-0.15.1}/vispy/visuals/tests/test_infinite_line.py +0 -0
  793. {vispy-0.14.3 → vispy-0.15.1}/vispy/visuals/tests/test_instanced_mesh.py +0 -0
  794. {vispy-0.14.3 → vispy-0.15.1}/vispy/visuals/tests/test_isosurface.py +0 -0
  795. {vispy-0.14.3 → vispy-0.15.1}/vispy/visuals/tests/test_linear_region.py +0 -0
  796. {vispy-0.14.3 → vispy-0.15.1}/vispy/visuals/tests/test_markers.py +0 -0
  797. {vispy-0.14.3 → vispy-0.15.1}/vispy/visuals/tests/test_mesh.py +0 -0
  798. {vispy-0.14.3 → vispy-0.15.1}/vispy/visuals/tests/test_mesh_normals.py +0 -0
  799. {vispy-0.14.3 → vispy-0.15.1}/vispy/visuals/tests/test_polygon.py +0 -0
  800. {vispy-0.14.3 → vispy-0.15.1}/vispy/visuals/tests/test_rectangle.py +0 -0
  801. {vispy-0.14.3 → vispy-0.15.1}/vispy/visuals/tests/test_regular_polygon.py +0 -0
  802. {vispy-0.14.3 → vispy-0.15.1}/vispy/visuals/tests/test_sdf.py +0 -0
  803. {vispy-0.14.3 → vispy-0.15.1}/vispy/visuals/tests/test_spectrogram.py +0 -0
  804. {vispy-0.14.3 → vispy-0.15.1}/vispy/visuals/tests/test_text.py +0 -0
  805. {vispy-0.14.3 → vispy-0.15.1}/vispy/visuals/tests/test_volume.py +0 -0
  806. {vispy-0.14.3 → vispy-0.15.1}/vispy/visuals/tests/test_windbarb.py +0 -0
  807. {vispy-0.14.3 → vispy-0.15.1}/vispy/visuals/text/__init__.py +0 -0
  808. {vispy-0.14.3 → vispy-0.15.1}/vispy/visuals/text/_sdf_cpu.pyx +0 -0
  809. {vispy-0.14.3 → vispy-0.15.1}/vispy/visuals/text/_sdf_gpu.py +0 -0
  810. {vispy-0.14.3 → vispy-0.15.1}/vispy/visuals/text/text.py +0 -0
  811. {vispy-0.14.3 → vispy-0.15.1}/vispy/visuals/transforms/__init__.py +0 -0
  812. {vispy-0.14.3 → vispy-0.15.1}/vispy/visuals/transforms/_util.py +0 -0
  813. {vispy-0.14.3 → vispy-0.15.1}/vispy/visuals/transforms/base_transform.py +0 -0
  814. {vispy-0.14.3 → vispy-0.15.1}/vispy/visuals/transforms/chain.py +0 -0
  815. {vispy-0.14.3 → vispy-0.15.1}/vispy/visuals/transforms/interactive.py +0 -0
  816. {vispy-0.14.3 → vispy-0.15.1}/vispy/visuals/transforms/linear.py +0 -0
  817. {vispy-0.14.3 → vispy-0.15.1}/vispy/visuals/transforms/nonlinear.py +0 -0
  818. {vispy-0.14.3 → vispy-0.15.1}/vispy/visuals/transforms/tests/__init__.py +0 -0
  819. {vispy-0.14.3 → vispy-0.15.1}/vispy/visuals/transforms/tests/test_transforms.py +0 -0
  820. {vispy-0.14.3 → vispy-0.15.1}/vispy/visuals/transforms/transform_system.py +0 -0
  821. {vispy-0.14.3 → vispy-0.15.1}/vispy/visuals/tube.py +0 -0
  822. {vispy-0.14.3 → vispy-0.15.1}/vispy/visuals/visual.py +0 -0
  823. {vispy-0.14.3 → vispy-0.15.1}/vispy/visuals/volume.py +0 -0
  824. {vispy-0.14.3 → vispy-0.15.1}/vispy/visuals/windbarb.py +0 -0
  825. {vispy-0.14.3 → vispy-0.15.1}/vispy/visuals/xyz_axis.py +0 -0
  826. {vispy-0.14.3 → vispy-0.15.1}/vispy.egg-info/dependency_links.txt +0 -0
  827. {vispy-0.14.3 → vispy-0.15.1}/vispy.egg-info/not-zip-safe +0 -0
  828. {vispy-0.14.3 → vispy-0.15.1}/vispy.egg-info/top_level.txt +0 -0
@@ -113,7 +113,7 @@ jobs:
113
113
  sleep 5
114
114
  # export python_version
115
115
  echo "python_version=310" >> $GITHUB_OUTPUT
116
- - uses: mamba-org/setup-micromamba@v1
116
+ - uses: mamba-org/setup-micromamba@v2
117
117
  with:
118
118
  environment-file: ./ci/requirements/py${{ steps.vars.outputs.python_version }}.yml
119
119
  - name: Install conda-dependencies
@@ -227,7 +227,7 @@ jobs:
227
227
  # export python_version
228
228
  PY_VER=${{ matrix.python_version }}
229
229
  echo "python_version=${PY_VER//.}" >> $GITHUB_OUTPUT
230
- - uses: mamba-org/setup-micromamba@v1
230
+ - uses: mamba-org/setup-micromamba@v2
231
231
  with:
232
232
  environment-file: ./ci/requirements/py${{ steps.vars.outputs.python_version }}.yml
233
233
  - name: Install conda-dependencies
@@ -14,11 +14,8 @@ jobs:
14
14
  strategy:
15
15
  fail-fast: false
16
16
  matrix:
17
- os: [ubuntu-20.04, windows-2019, macOS-latest]
17
+ os: [ubuntu-latest, windows-2019, macOS-latest, macos-13, ubuntu-24.04-arm]
18
18
  arch: [auto]
19
- include:
20
- - os: ubuntu-20.04
21
- arch: aarch64
22
19
  steps:
23
20
  - uses: actions/checkout@v4
24
21
  with:
@@ -27,25 +24,9 @@ jobs:
27
24
  if: ${{ matrix.arch == 'aarch64' }}
28
25
  uses: docker/setup-qemu-action@v3
29
26
  - name: Build wheels
30
- uses: pypa/cibuildwheel@v2.18.1
27
+ uses: pypa/cibuildwheel@v2.23.3
31
28
  env:
32
- CIBW_SKIP: "pp* *-win32 *-manylinux_i686 *-musllinux*"
33
29
  CIBW_ARCHS_LINUX: ${{ matrix.arch }}
34
- CIBW_TEST_REQUIRES: "pytest pytest-sugar meshio pillow sphinx_gallery imageio"
35
- CIBW_TEST_COMMAND: "python -c \"import vispy; vispy.test('nobackend')\""
36
- CIBW_BUILD_VERBOSITY: "2"
37
- # Get numpy release candidate to have Python 3.12 compatibility (hopefully)
38
- CIBW_BEFORE_BUILD: "python -m pip install -U Cython pip setuptools"
39
- CIBW_BEFORE_TEST: "python -m pip install -U Cython pip setuptools"
40
- #CIBW_BEFORE_BUILD_MACOS: "pip install -U pip setuptools"
41
- CIBW_BEFORE_BUILD_LINUX: "yum install -y fontconfig || apk add fontconfig-dev jpeg-dev; pip install freetype-py"
42
- # If freetype-py is installed from source (no wheel found), include bundled freetype library
43
- CIBW_ENVIRONMENT_WINDOWS: "FREETYPEPY_BUNDLE_FT=1"
44
- CIBW_ENVIRONMENT: "GITHUB_ACTIONS=true"
45
- CIBW_MANYLINUX_X86_64_IMAGE: manylinux2014
46
- CIBW_MANYLINUX_I686_IMAGE: manylinux2014
47
- CIBW_ARCHS_MACOS: 'x86_64 arm64'
48
- CIBW_TEST_SKIP: '*-macosx_arm64'
49
30
  - uses: actions/upload-artifact@v4
50
31
  with:
51
32
  name: wheels-${{ matrix.os }}-${{ matrix.arch }}
@@ -82,19 +63,8 @@ jobs:
82
63
  path: dist
83
64
  - uses: actions/download-artifact@v4
84
65
  with:
85
- name: wheels-ubuntu-20.04-auto
86
- path: dist
87
- - uses: actions/download-artifact@v4
88
- with:
89
- name: wheels-windows-2019-auto
90
- path: dist
91
- - uses: actions/download-artifact@v4
92
- with:
93
- name: wheels-macOS-latest-auto
94
- path: dist
95
- - uses: actions/download-artifact@v4
96
- with:
97
- name: wheels-ubuntu-20.04-aarch64
66
+ pattern: wheels-*
67
+ merge-multiple: true
98
68
  path: dist
99
69
  - uses: pypa/gh-action-pypi-publish@master
100
70
  # upload to Test PyPI for every commit on main branch
@@ -112,21 +82,11 @@ jobs:
112
82
  with:
113
83
  name: sdist
114
84
  path: dist
85
+
115
86
  - uses: actions/download-artifact@v4
116
87
  with:
117
- name: wheels-ubuntu-20.04-auto
118
- path: dist
119
- - uses: actions/download-artifact@v4
120
- with:
121
- name: wheels-windows-2019-auto
122
- path: dist
123
- - uses: actions/download-artifact@v4
124
- with:
125
- name: wheels-macOS-latest-auto
126
- path: dist
127
- - uses: actions/download-artifact@v4
128
- with:
129
- name: wheels-ubuntu-20.04-aarch64
88
+ pattern: wheels-*
89
+ merge-multiple: true
130
90
  path: dist
131
91
  - uses: pypa/gh-action-pypi-publish@master
132
92
  # upload to PyPI on every tag starting with 'v'
@@ -30,4 +30,5 @@ vispy/static/
30
30
  vispy/version.py
31
31
  .vscode
32
32
  vispy/visuals/text/_sdf_cpu*.pyd
33
- .spyproject
33
+ .spyproject
34
+ wheelhouse
@@ -1,5 +1,53 @@
1
1
  # Release Notes
2
2
 
3
+ ## [v0.15.1](https://github.com/vispy/vispy/tree/v0.15.1) (2025-05-15)
4
+
5
+ **Fixed bugs:**
6
+
7
+ - Restore sdist upload to pypi [\#2672](https://github.com/vispy/vispy/pull/2672) ([Czaki](https://github.com/Czaki))
8
+
9
+ **Merged pull requests:**
10
+
11
+ - Bump pypa/cibuildwheel from 2.23.2 to 2.23.3 [\#2669](https://github.com/vispy/vispy/pull/2669) ([dependabot[bot]](https://github.com/apps/dependabot))
12
+
13
+
14
+ ## [v0.15.0](https://github.com/vispy/vispy/tree/v0.15.0) (2025-04-22)
15
+
16
+ **Enhancements:**
17
+
18
+ - Add high and low color settings for colormaps \(HiLo mapping\) [\#2663](https://github.com/vispy/vispy/pull/2663) ([brisvag](https://github.com/brisvag))
19
+ - Allow setting bad color on colormap \(continue \#2620\) [\#2659](https://github.com/vispy/vispy/pull/2659) ([brisvag](https://github.com/brisvag))
20
+ - Add modifiers to QT native gesture events [\#2631](https://github.com/vispy/vispy/pull/2631) ([arambert](https://github.com/arambert))
21
+ - Implement limiting size for gridlines \(2\) [\#2630](https://github.com/vispy/vispy/pull/2630) ([brisvag](https://github.com/brisvag))
22
+ - Various optimizations related to camera linking and mesh normals [\#2532](https://github.com/vispy/vispy/pull/2532) ([djhoese](https://github.com/djhoese))
23
+
24
+ **Fixed bugs:**
25
+
26
+ - Fix bad\_color handling and simplify some logic [\#2662](https://github.com/vispy/vispy/pull/2662) ([brisvag](https://github.com/brisvag))
27
+ - Fix type of vertice passed to function for adding triangles [\#2647](https://github.com/vispy/vispy/pull/2647) ([Czaki](https://github.com/Czaki))
28
+ - Fix mesh colors reshaping [\#2645](https://github.com/vispy/vispy/pull/2645) ([BenZickel](https://github.com/BenZickel))
29
+ - Use visual coordinates in ArcballCamera [\#2642](https://github.com/vispy/vispy/pull/2642) ([Seon82](https://github.com/Seon82))
30
+ - fix: prevent zerodiv error when auto-calculating clims in scalable textures [\#2621](https://github.com/vispy/vispy/pull/2621) ([tlambert03](https://github.com/tlambert03))
31
+ - Set self.\_data\_dtype in scale\_and\_set\_data for CPU scaled textures [\#2601](https://github.com/vispy/vispy/pull/2601) ([aganders3](https://github.com/aganders3))
32
+ - Ignore unhandled Qt events [\#2600](https://github.com/vispy/vispy/pull/2600) ([gselzer](https://github.com/gselzer))
33
+ - Ignore all flat triangles in triangulation [\#2248](https://github.com/vispy/vispy/pull/2248) ([andy-sweet](https://github.com/andy-sweet))
34
+
35
+ **Merged pull requests:**
36
+
37
+ - Bump pypa/cibuildwheel from 2.23.1 to 2.23.2 [\#2660](https://github.com/vispy/vispy/pull/2660) ([dependabot[bot]](https://github.com/apps/dependabot))
38
+ - Fix small mistake in docs [\#2658](https://github.com/vispy/vispy/pull/2658) ([jspast](https://github.com/jspast))
39
+ - Bump pypa/cibuildwheel from 2.23.0 to 2.23.1 [\#2655](https://github.com/vispy/vispy/pull/2655) ([dependabot[bot]](https://github.com/apps/dependabot))
40
+ - Bump pypa/cibuildwheel from 2.22.0 to 2.23.0 [\#2652](https://github.com/vispy/vispy/pull/2652) ([dependabot[bot]](https://github.com/apps/dependabot))
41
+ - Bump pypa/cibuildwheel from 2.21.2 to 2.22.0 [\#2632](https://github.com/vispy/vispy/pull/2632) ([dependabot[bot]](https://github.com/apps/dependabot))
42
+ - Bump mamba-org/setup-micromamba from 1 to 2 [\#2626](https://github.com/vispy/vispy/pull/2626) ([dependabot[bot]](https://github.com/apps/dependabot))
43
+ - Bump pypa/cibuildwheel from 2.21.1 to 2.21.2 [\#2625](https://github.com/vispy/vispy/pull/2625) ([dependabot[bot]](https://github.com/apps/dependabot))
44
+ - Bump pypa/cibuildwheel from 2.21.0 to 2.21.1 [\#2623](https://github.com/vispy/vispy/pull/2623) ([dependabot[bot]](https://github.com/apps/dependabot))
45
+ - Bump pypa/cibuildwheel from 2.20.0 to 2.21.0 [\#2622](https://github.com/vispy/vispy/pull/2622) ([dependabot[bot]](https://github.com/apps/dependabot))
46
+ - Bump pypa/cibuildwheel from 2.19.2 to 2.20.0 [\#2611](https://github.com/vispy/vispy/pull/2611) ([dependabot[bot]](https://github.com/apps/dependabot))
47
+ - Add variable name in errors to help debugging [\#2605](https://github.com/vispy/vispy/pull/2605) ([brisvag](https://github.com/brisvag))
48
+ - Bump pypa/cibuildwheel from 2.19.1 to 2.19.2 [\#2604](https://github.com/vispy/vispy/pull/2604) ([dependabot[bot]](https://github.com/apps/dependabot))
49
+ - Bump pypa/cibuildwheel from 2.18.1 to 2.19.1 [\#2602](https://github.com/vispy/vispy/pull/2602) ([dependabot[bot]](https://github.com/apps/dependabot))
50
+
3
51
 
4
52
  ## [v0.14.3](https://github.com/vispy/vispy/tree/v0.14.3) (2024-06-17)
5
53
 
@@ -3,7 +3,7 @@ Vispy licensing terms
3
3
 
4
4
  Vispy is licensed under the terms of the (new) BSD license:
5
5
 
6
- Copyright (c) 2013-2024, Vispy Development Team. All rights reserved.
6
+ Copyright (c) 2013-2025, Vispy Development Team. All rights reserved.
7
7
 
8
8
  Redistribution and use in source and binary forms, with or without
9
9
  modification, are permitted provided that the following conditions are met:
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.4
2
2
  Name: vispy
3
- Version: 0.14.3
3
+ Version: 0.15.1
4
4
  Summary: Interactive visualization in Python
5
5
  Home-page: http://vispy.org
6
6
  Download-URL: https://pypi.python.org/pypi/vispy
@@ -67,6 +67,29 @@ Requires-Dist: pyopengl; extra == "doc"
67
67
  Provides-Extra: io
68
68
  Requires-Dist: meshio; extra == "io"
69
69
  Requires-Dist: Pillow; extra == "io"
70
+ Provides-Extra: test
71
+ Requires-Dist: pytest; extra == "test"
72
+ Requires-Dist: pytest-sugar; extra == "test"
73
+ Requires-Dist: meshio; extra == "test"
74
+ Requires-Dist: pillow; extra == "test"
75
+ Requires-Dist: sphinx_gallery; extra == "test"
76
+ Requires-Dist: imageio; extra == "test"
77
+ Dynamic: author
78
+ Dynamic: author-email
79
+ Dynamic: classifier
80
+ Dynamic: description
81
+ Dynamic: description-content-type
82
+ Dynamic: download-url
83
+ Dynamic: home-page
84
+ Dynamic: keywords
85
+ Dynamic: license
86
+ Dynamic: license-file
87
+ Dynamic: platform
88
+ Dynamic: provides
89
+ Dynamic: provides-extra
90
+ Dynamic: requires-dist
91
+ Dynamic: requires-python
92
+ Dynamic: summary
70
93
 
71
94
  VisPy: interactive scientific visualization in Python
72
95
  -----------------------------------------------------
@@ -6,3 +6,5 @@ libgles2-mesa-dev
6
6
  libsdl2-2.0-0
7
7
  mesa-utils
8
8
  x11-utils
9
+ zlib1g-dev
10
+ libjpeg8-dev
@@ -6,7 +6,7 @@ freetype-py
6
6
  glfw!=3.3.1
7
7
  imageio
8
8
  jupyter
9
- matplotlib
9
+ matplotlib-base
10
10
  meshio
11
11
  networkx
12
12
  numpy
@@ -16,7 +16,7 @@ pysdl2
16
16
  pytest
17
17
  pytest-cov
18
18
  pytest-sugar
19
- pyopengl
19
+ pyopengl!=3.1.7,!=3.1.8,!=3.1.9
20
20
  scikit-image
21
21
  scipy
22
22
  networkx
@@ -15,5 +15,5 @@ libxcb-xinerama0
15
15
  libxcb-icccm4-dev
16
16
  libxcb-image0-dev
17
17
  libxcb-keysyms1
18
- libegl1-mesa
18
+ libegl1
19
19
  x11-utils
@@ -66,7 +66,7 @@ Buffers
66
66
 
67
67
  We explained earlier that the vertex shader act on the vertices. The question
68
68
  is thus where do those vertices comes from? The idea of modern GL is that
69
- vertices are stored on the GPU and needs to be uploaded (only once) to the GPU
69
+ vertices are stored on the GPU and need to be uploaded (only once) to the GPU
70
70
  before rendering. The way to do that is to build buffers onto the CPU and to
71
71
  send them onto the GPU. If your data does not change, no need to upload it
72
72
  again. That is the big difference with the previous fixed pipeline where data
@@ -108,7 +108,7 @@ install most of the VisPy dependencies for you. If your computer is low on hard
108
108
  disk space, or you would like a minimal python installation, you may install
109
109
  the `Miniconda <https://conda.io/miniconda.html>`_ package also from
110
110
  Continuum Analytics. Once Anaconda is installed, create a
111
- `conda python environment <https://conda.io/docs/user-guide/tasks/manage-python.html>`_.
111
+ `conda python environment <https://docs.conda.io/projects/conda/en/latest/user-guide/tasks/manage-python.html>`_.
112
112
 
113
113
  Via conda
114
114
  ---------
@@ -0,0 +1,96 @@
1
+ # -*- coding: utf-8 -*-
2
+ # vispy: gallery 30
3
+ # -----------------------------------------------------------------------------
4
+ # Copyright (c) Vispy Development Team. All Rights Reserved.
5
+ # Distributed under the (new) BSD License. See LICENSE.txt for more info.
6
+ # -----------------------------------------------------------------------------
7
+ """
8
+ Picking Instance of InstancedMeshes
9
+ ===================================
10
+
11
+ Demonstrates how to identify (pick) individual instanced meshes.
12
+
13
+ """
14
+
15
+ import numpy as np
16
+
17
+ from vispy import app, scene, use
18
+ from vispy.io import read_mesh, load_data_file
19
+ from vispy.scene.visuals import InstancedMesh
20
+ from vispy.scene import transforms
21
+ from scipy.spatial.transform import Rotation
22
+
23
+ #Necessary to use InstancedMesh
24
+ use(gl='gl+')
25
+
26
+ canvas = scene.SceneCanvas(keys='interactive', bgcolor='white')
27
+ view = canvas.central_widget.add_view()
28
+
29
+ view.camera = 'turntable'
30
+ view.camera.depth_value = 1e3
31
+
32
+ #Load an mesh file
33
+ mesh_path = load_data_file('spot/spot.obj.gz')
34
+
35
+ n_instances = 8
36
+ vertices, faces, normals, texcoords = read_mesh(mesh_path)
37
+ instance_colors = np.random.rand(n_instances, 3).astype(np.float32)
38
+ instance_positions = [[0,2,0], [2,0,0], [6,0,0], [3,4,1], [5,3,2], [6,2,1], [8,4,6], [1,2,6]]
39
+ instance_transforms = Rotation.identity(n_instances).as_matrix().astype(np.float32)
40
+
41
+ # Create a colored `MeshVisual`.
42
+ mesh = InstancedMesh(
43
+ vertices,
44
+ faces,
45
+ instance_colors=instance_colors,
46
+ instance_positions=instance_positions,
47
+ instance_transforms=instance_transforms,
48
+ parent=view.scene,
49
+ )
50
+
51
+ scene.visuals.XYZAxis(parent=view.scene)
52
+ mesh.interactive = True
53
+
54
+ @canvas.events.mouse_press.connect
55
+ def on_mouse_press(event):
56
+ clicked_mesh = canvas.visual_at(event.pos)
57
+ if isinstance(clicked_mesh, InstancedMesh):
58
+ pos1, min, min_pos = get_view_axis_in_scene_coordinates(
59
+ event.pos, clicked_mesh
60
+ )
61
+ instance_pos = clicked_mesh.instance_positions[min_pos]
62
+ print(f"visual at : {clicked_mesh}")
63
+ print(f"event.pos : {event.pos}")
64
+ print(f"min distance : {min} and min_pos : {instance_pos}")
65
+
66
+
67
+
68
+ def get_view_axis_in_scene_coordinates(pos, mesh):
69
+ event_pos = np.array([pos[0], pos[1], 0, 1])
70
+ instances_on_canvas = []
71
+ # Translate each position to corresponding 2d canvas coordinates
72
+ for instance in mesh.instance_positions:
73
+ on_canvas = mesh.get_transform(map_from="visual", map_to="canvas").map(instance)
74
+ on_canvas /= on_canvas[3:]
75
+ instances_on_canvas.append(on_canvas)
76
+
77
+ min = 10000
78
+ min_pos = None
79
+ # Find the closest position to the clicked position
80
+ for i, instance_pos in enumerate(instances_on_canvas):
81
+ # Not minding z axis
82
+ temp_min = np.linalg.norm(
83
+ np.array(event_pos[:2]) - np.array(instance_pos[:2])
84
+ )
85
+ if temp_min < min:
86
+ min = temp_min
87
+ min_pos = i
88
+
89
+ return instances_on_canvas, min, min_pos
90
+
91
+ canvas.show()
92
+
93
+
94
+ if __name__ == "__main__":
95
+ print(__doc__)
96
+ app.run()
@@ -0,0 +1,27 @@
1
+ [build-system]
2
+ requires = [
3
+ "setuptools>=69.4.0",
4
+ # see https://numpy.org/devdocs/dev/depending_on_numpy.html#numpy-2-0-specific-advice
5
+ "numpy>=2.0.0",
6
+ "setuptools_scm[toml]>=8.1",
7
+ "Cython>=3.0.0"
8
+ ]
9
+
10
+ [tools.setuptools_scm]
11
+ write_to = "vispy/version.py"
12
+ local_scheme = "dirty-tag"
13
+
14
+
15
+ [tool.cibuildwheel]
16
+ skip = "pp* *-win32 *-manylinux_i686 *-musllinux*"
17
+ test-command = "python -c \"import vispy; vispy.test('nobackend')\""
18
+ test-extras = ["test"]
19
+
20
+
21
+ [tool.cibuildwheel.linux]
22
+ before-all = [
23
+ "yum install -y fontconfig || apk add fontconfig-dev jpeg-dev; pip install freetype-py",
24
+ ]
25
+
26
+ [tool.cibuildwheel.windows]
27
+ environment = {FREETYPEPY_BUNDLE_FT=1}
@@ -114,6 +114,7 @@ setup(
114
114
  'sphinx-gallery', 'myst-parser', 'pillow', 'pytest',
115
115
  'pyopengl'],
116
116
  'io': ['meshio', 'Pillow'],
117
+ 'test': ['pytest', 'pytest-sugar', 'meshio', 'pillow', 'sphinx_gallery', 'imageio']
117
118
  },
118
119
  packages=find_packages(exclude=['make']),
119
120
  ext_modules=cythonize(extensions, language_level=3),
@@ -493,41 +493,57 @@ class QtBaseCanvasBackend(BaseCanvasBackend):
493
493
  def mousePressEvent(self, ev):
494
494
  if self._vispy_canvas is None:
495
495
  return
496
- self._vispy_mouse_press(
496
+ vispy_event = self._vispy_mouse_press(
497
497
  native=ev,
498
498
  pos=_get_event_xy(ev),
499
499
  button=BUTTONMAP.get(ev.button(), 0),
500
500
  modifiers=self._modifiers(ev),
501
501
  )
502
+ # If vispy did not handle the event, clear the accept parameter of the qt event
503
+ if not vispy_event.handled:
504
+ ev.ignore()
502
505
 
503
506
  def mouseReleaseEvent(self, ev):
504
507
  if self._vispy_canvas is None:
505
508
  return
506
- self._vispy_mouse_release(
509
+ vispy_event = self._vispy_mouse_release(
507
510
  native=ev,
508
511
  pos=_get_event_xy(ev),
509
512
  button=BUTTONMAP[ev.button()],
510
513
  modifiers=self._modifiers(ev),
511
514
  )
515
+ # If vispy did not handle the event, clear the accept parameter of the qt event
516
+ if not vispy_event.handled:
517
+ ev.ignore()
512
518
 
513
519
  def mouseDoubleClickEvent(self, ev):
514
520
  if self._vispy_canvas is None:
515
521
  return
516
- self._vispy_mouse_double_click(
522
+ vispy_event = self._vispy_mouse_double_click(
517
523
  native=ev,
518
524
  pos=_get_event_xy(ev),
519
525
  button=BUTTONMAP.get(ev.button(), 0),
520
526
  modifiers=self._modifiers(ev),
521
527
  )
528
+ # If vispy did not handle the event, clear the accept parameter of the qt event
529
+ if not vispy_event.handled:
530
+ ev.ignore()
522
531
 
523
532
  def mouseMoveEvent(self, ev):
524
533
  if self._vispy_canvas is None:
525
534
  return
526
- self._vispy_mouse_move(
535
+ # NB ignores events, returns None for events in quick succession
536
+ vispy_event = self._vispy_mouse_move(
527
537
  native=ev,
528
538
  pos=_get_event_xy(ev),
529
539
  modifiers=self._modifiers(ev),
530
540
  )
541
+ # If vispy did not handle the event, clear the accept parameter of the qt event
542
+ # Note that the handler can return None, this is equivalent to not handling the event
543
+ if vispy_event is None or not vispy_event.handled:
544
+ # Theoretically, a parent widget might want to listen to all of
545
+ # the mouse move events, including those that VisPy ignores
546
+ ev.ignore()
531
547
 
532
548
  def wheelEvent(self, ev):
533
549
  if self._vispy_canvas is None:
@@ -544,12 +560,15 @@ class QtBaseCanvasBackend(BaseCanvasBackend):
544
560
  delta = ev.angleDelta()
545
561
  deltax, deltay = delta.x() / 120.0, delta.y() / 120.0
546
562
  # Emit event
547
- self._vispy_canvas.events.mouse_wheel(
563
+ vispy_event = self._vispy_canvas.events.mouse_wheel(
548
564
  native=ev,
549
565
  delta=(deltax, deltay),
550
566
  pos=_get_event_xy(ev),
551
567
  modifiers=self._modifiers(ev),
552
568
  )
569
+ # If vispy did not handle the event, clear the accept parameter of the qt event
570
+ if not vispy_event.handled:
571
+ ev.ignore()
553
572
 
554
573
  def keyPressEvent(self, ev):
555
574
  self._keyEvent(self._vispy_canvas.events.key_press, ev)
@@ -571,17 +590,20 @@ class QtBaseCanvasBackend(BaseCanvasBackend):
571
590
  pos = self.mapFromGlobal(ev.globalPos())
572
591
  pos = pos.x(), pos.y()
573
592
 
593
+ vispy_event = None
574
594
  if t == QtCore.Qt.NativeGestureType.BeginNativeGesture:
575
- self._vispy_canvas.events.touch(
595
+ vispy_event = self._vispy_canvas.events.touch(
576
596
  type='gesture_begin',
577
597
  pos=_get_event_xy(ev),
598
+ modifiers=self._modifiers(ev),
578
599
  )
579
600
  elif t == QtCore.Qt.NativeGestureType.EndNativeGesture:
580
601
  self._native_touch_total_rotation = []
581
602
  self._native_touch_total_scale = []
582
- self._vispy_canvas.events.touch(
603
+ vispy_event = self._vispy_canvas.events.touch(
583
604
  type='gesture_end',
584
605
  pos=_get_event_xy(ev),
606
+ modifiers=self._modifiers(ev),
585
607
  )
586
608
  elif t == QtCore.Qt.NativeGestureType.RotateNativeGesture:
587
609
  angle = ev.value()
@@ -592,12 +614,13 @@ class QtBaseCanvasBackend(BaseCanvasBackend):
592
614
  )
593
615
  self._native_gesture_rotation_values.append(angle)
594
616
  total_rotation_angle = math.fsum(self._native_gesture_rotation_values)
595
- self._vispy_canvas.events.touch(
617
+ vispy_event = self._vispy_canvas.events.touch(
596
618
  type="gesture_rotate",
597
619
  pos=pos,
598
620
  rotation=angle,
599
621
  last_rotation=last_angle,
600
622
  total_rotation_angle=total_rotation_angle,
623
+ modifiers=self._modifiers(ev),
601
624
  )
602
625
  elif t == QtCore.Qt.NativeGestureType.ZoomNativeGesture:
603
626
  scale = ev.value()
@@ -608,12 +631,13 @@ class QtBaseCanvasBackend(BaseCanvasBackend):
608
631
  )
609
632
  self._native_gesture_scale_values.append(scale)
610
633
  total_scale_factor = math.fsum(self._native_gesture_scale_values)
611
- self._vispy_canvas.events.touch(
634
+ vispy_event = self._vispy_canvas.events.touch(
612
635
  type="gesture_zoom",
613
636
  pos=pos,
614
637
  last_scale=last_scale,
615
638
  scale=scale,
616
639
  total_scale_factor=total_scale_factor,
640
+ modifiers=self._modifiers(ev),
617
641
  )
618
642
  # QtCore.Qt.NativeGestureType.PanNativeGesture
619
643
  # Qt6 docs seem to imply this is only supported on Wayland but I have
@@ -622,6 +646,11 @@ class QtBaseCanvasBackend(BaseCanvasBackend):
622
646
  # On macOS, more fingers are usually swallowed by the OS (by spaces,
623
647
  # mission control, etc.).
624
648
 
649
+ # If vispy did not handle the event, clear the accept parameter of the qt event
650
+ # Note that some handlers return None, this is equivalent to not handling the event
651
+ if vispy_event is None or not vispy_event.handled:
652
+ ev.ignore()
653
+
625
654
  def event(self, ev):
626
655
  out = super(QtBaseCanvasBackend, self).event(ev)
627
656
 
@@ -644,7 +673,10 @@ class QtBaseCanvasBackend(BaseCanvasBackend):
644
673
  else:
645
674
  key = None
646
675
  mod = self._modifiers(ev)
647
- func(native=ev, key=key, text=str(ev.text()), modifiers=mod)
676
+ vispy_event = func(native=ev, key=key, text=str(ev.text()), modifiers=mod)
677
+ # If vispy did not handle the event, clear the accept parameter of the qt event
678
+ if not vispy_event.handled:
679
+ ev.ignore()
648
680
 
649
681
  def _modifiers(self, event):
650
682
  # Convert the QT modifier state into a tuple of active modifier keys.
@@ -771,7 +803,10 @@ class CanvasBackendEgl(QtBaseCanvasBackend, QWidget):
771
803
 
772
804
  def resizeEvent(self, event):
773
805
  w, h = event.size().width(), event.size().height()
774
- self._vispy_canvas.events.resize(size=(w, h))
806
+ vispy_event = self._vispy_canvas.events.resize(size=(w, h))
807
+ # If vispy did not handle the event, clear the accept parameter of the qt event
808
+ if not vispy_event.handled:
809
+ event.ignore()
775
810
 
776
811
  def paintEvent(self, event):
777
812
  self._vispy_canvas.events.draw(region=None)