vispy 0.14.1__tar.gz → 0.14.3__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 (826) hide show
  1. {vispy-0.14.1 → vispy-0.14.3}/.github/workflows/main.yml +18 -16
  2. {vispy-0.14.1 → vispy-0.14.3}/.github/workflows/wheels.yml +56 -24
  3. {vispy-0.14.1 → vispy-0.14.3}/.gitignore +2 -1
  4. {vispy-0.14.1 → vispy-0.14.3}/CHANGELOG.md +48 -0
  5. {vispy-0.14.1 → vispy-0.14.3}/LICENSE.txt +1 -1
  6. {vispy-0.14.1/vispy.egg-info → vispy-0.14.3}/PKG-INFO +32 -5
  7. {vispy-0.14.1 → vispy-0.14.3}/README.rst +1 -1
  8. {vispy-0.14.1 → vispy-0.14.3}/ci/requirements/linux_osmesa_deps_conda.txt +1 -1
  9. vispy-0.14.1/ci/requirements/py38.yml → vispy-0.14.3/ci/requirements/py39.yml +1 -1
  10. {vispy-0.14.1 → vispy-0.14.3}/doc/conf.py +33 -33
  11. {vispy-0.14.1 → vispy-0.14.3}/doc/getting_started/modern-gl.rst +8 -7
  12. {vispy-0.14.1 → vispy-0.14.3}/pyproject.toml +2 -1
  13. {vispy-0.14.1 → vispy-0.14.3}/setup.py +9 -3
  14. {vispy-0.14.1 → vispy-0.14.3}/vispy/app/backends/_qt.py +7 -7
  15. {vispy-0.14.1 → vispy-0.14.3}/vispy/geometry/__init__.py +1 -1
  16. {vispy-0.14.1 → vispy-0.14.3}/vispy/geometry/calculations.py +30 -2
  17. {vispy-0.14.1 → vispy-0.14.3}/vispy/geometry/triangulation.py +4 -2
  18. {vispy-0.14.1 → vispy-0.14.3}/vispy/gloo/buffer.py +4 -4
  19. {vispy-0.14.1 → vispy-0.14.3}/vispy/gloo/gl/tests/test_functionality.py +4 -2
  20. {vispy-0.14.1 → vispy-0.14.3}/vispy/gloo/glir.py +10 -2
  21. {vispy-0.14.1 → vispy-0.14.3}/vispy/gloo/texture.py +4 -3
  22. {vispy-0.14.1 → vispy-0.14.3}/vispy/plot/plotwidget.py +1 -1
  23. {vispy-0.14.1 → vispy-0.14.3}/vispy/testing/_runners.py +3 -1
  24. {vispy-0.14.1 → vispy-0.14.3}/vispy/testing/image_tester.py +21 -0
  25. {vispy-0.14.1 → vispy-0.14.3}/vispy/util/__init__.py +15 -0
  26. vispy-0.14.3/vispy/version.py +16 -0
  27. {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/_scalable_textures.py +2 -1
  28. {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/collections/array_list.py +4 -4
  29. {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/ellipse.py +4 -5
  30. {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/image.py +2 -1
  31. {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/markers.py +23 -14
  32. {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/surface_plot.py +2 -2
  33. vispy-0.14.3/vispy/visuals/tests/test_surface_plot.py +52 -0
  34. {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/text/_sdf_cpu.pyx +2 -0
  35. {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/volume.py +35 -4
  36. {vispy-0.14.1 → vispy-0.14.3/vispy.egg-info}/PKG-INFO +32 -5
  37. {vispy-0.14.1 → vispy-0.14.3}/vispy.egg-info/SOURCES.txt +2 -1
  38. {vispy-0.14.1 → vispy-0.14.3}/vispy.egg-info/requires.txt +3 -0
  39. vispy-0.14.1/vispy/version.py +0 -4
  40. {vispy-0.14.1 → vispy-0.14.3}/.coveragerc +0 -0
  41. {vispy-0.14.1 → vispy-0.14.3}/.git_archival.txt +0 -0
  42. {vispy-0.14.1 → vispy-0.14.3}/.gitattributes +0 -0
  43. {vispy-0.14.1 → vispy-0.14.3}/.github/dependabot.yml +0 -0
  44. {vispy-0.14.1 → vispy-0.14.3}/.github_changelog_generator +0 -0
  45. {vispy-0.14.1 → vispy-0.14.3}/CITATION.rst +0 -0
  46. {vispy-0.14.1 → vispy-0.14.3}/CODE_OF_CONDUCT.md +0 -0
  47. {vispy-0.14.1 → vispy-0.14.3}/CONTRIBUTING.md +0 -0
  48. {vispy-0.14.1 → vispy-0.14.3}/MANIFEST.in +0 -0
  49. {vispy-0.14.1 → vispy-0.14.3}/ci/build_website.sh +0 -0
  50. {vispy-0.14.1 → vispy-0.14.3}/ci/requirements/linux_full_deps_apt.txt +0 -0
  51. {vispy-0.14.1 → vispy-0.14.3}/ci/requirements/linux_full_deps_conda.txt +0 -0
  52. {vispy-0.14.1 → vispy-0.14.3}/ci/requirements/linux_full_deps_pip.txt +0 -0
  53. {vispy-0.14.1 → vispy-0.14.3}/ci/requirements/linux_full_newqtdeps_apt.txt +0 -0
  54. {vispy-0.14.1 → vispy-0.14.3}/ci/requirements/linux_full_newqtdeps_conda.txt +0 -0
  55. {vispy-0.14.1 → vispy-0.14.3}/ci/requirements/linux_full_newqtdeps_pip.txt +0 -0
  56. {vispy-0.14.1 → vispy-0.14.3}/ci/requirements/linux_min_deps_conda.txt +0 -0
  57. {vispy-0.14.1 → vispy-0.14.3}/ci/requirements/linux_website_deps_pip.txt +0 -0
  58. {vispy-0.14.1 → vispy-0.14.3}/ci/requirements/py310.yml +0 -0
  59. {vispy-0.14.1 → vispy-0.14.3}/doc/.gitignore +0 -0
  60. {vispy-0.14.1 → vispy-0.14.3}/doc/.nojekyll +0 -0
  61. {vispy-0.14.1 → vispy-0.14.3}/doc/CNAME +0 -0
  62. {vispy-0.14.1 → vispy-0.14.3}/doc/Makefile +0 -0
  63. {vispy-0.14.1 → vispy-0.14.3}/doc/README.rst +0 -0
  64. {vispy-0.14.1 → vispy-0.14.3}/doc/_static/ViewFrustum.png +0 -0
  65. {vispy-0.14.1 → vispy-0.14.3}/doc/_static/ViewFrustum.svg +0 -0
  66. {vispy-0.14.1 → vispy-0.14.3}/doc/_static/carousel/galaxy.png +0 -0
  67. {vispy-0.14.1 → vispy-0.14.3}/doc/_static/carousel/high-frequency.png +0 -0
  68. {vispy-0.14.1 → vispy-0.14.3}/doc/_static/carousel/mandelbrot.png +0 -0
  69. {vispy-0.14.1 → vispy-0.14.3}/doc/_static/carousel/signals.png +0 -0
  70. {vispy-0.14.1 → vispy-0.14.3}/doc/_static/favicon.ico +0 -0
  71. {vispy-0.14.1 → vispy-0.14.3}/doc/_static/frustum-matrix.png +0 -0
  72. {vispy-0.14.1 → vispy-0.14.3}/doc/_static/gl-history.png +0 -0
  73. {vispy-0.14.1 → vispy-0.14.3}/doc/_static/gl-pipeline.png +0 -0
  74. {vispy-0.14.1 → vispy-0.14.3}/doc/_static/gl-pipeline.svg +0 -0
  75. {vispy-0.14.1 → vispy-0.14.3}/doc/_static/ortho-matrix.png +0 -0
  76. {vispy-0.14.1 → vispy-0.14.3}/doc/_static/perspective-matrix.png +0 -0
  77. {vispy-0.14.1 → vispy-0.14.3}/doc/_static/style.css +0 -0
  78. {vispy-0.14.1 → vispy-0.14.3}/doc/_static/vispy-logo-V.png +0 -0
  79. {vispy-0.14.1 → vispy-0.14.3}/doc/_static/vispy-logo-V.svg +0 -0
  80. {vispy-0.14.1 → vispy-0.14.3}/doc/_static/vispy-teaser-short.png +0 -0
  81. {vispy-0.14.1 → vispy-0.14.3}/doc/_static/vispy-teaser-short.svg +0 -0
  82. {vispy-0.14.1 → vispy-0.14.3}/doc/_static/vispy-teaser.png +0 -0
  83. {vispy-0.14.1 → vispy-0.14.3}/doc/_static/vispy-teaser.svg +0 -0
  84. {vispy-0.14.1 → vispy-0.14.3}/doc/_static/vispy-text-white.png +0 -0
  85. {vispy-0.14.1 → vispy-0.14.3}/doc/_static/vispy-text-white.svg +0 -0
  86. {vispy-0.14.1 → vispy-0.14.3}/doc/api/.gitkeep +0 -0
  87. {vispy-0.14.1 → vispy-0.14.3}/doc/community.rst +0 -0
  88. {vispy-0.14.1 → vispy-0.14.3}/doc/dev_guide/contributor_guide.rst +0 -0
  89. {vispy-0.14.1 → vispy-0.14.3}/doc/dev_guide/index.rst +0 -0
  90. {vispy-0.14.1 → vispy-0.14.3}/doc/dev_guide/writing_examples.rst +0 -0
  91. {vispy-0.14.1 → vispy-0.14.3}/doc/faq.rst +0 -0
  92. {vispy-0.14.1 → vispy-0.14.3}/doc/gallery/index.rst +0 -0
  93. {vispy-0.14.1 → vispy-0.14.3}/doc/getting_started/_canvas_app.rst +0 -0
  94. {vispy-0.14.1 → vispy-0.14.3}/doc/getting_started/gloo.rst +0 -0
  95. {vispy-0.14.1 → vispy-0.14.3}/doc/getting_started/index.rst +0 -0
  96. {vispy-0.14.1 → vispy-0.14.3}/doc/getting_started/plot.rst +0 -0
  97. {vispy-0.14.1 → vispy-0.14.3}/doc/getting_started/scene.rst +0 -0
  98. {vispy-0.14.1 → vispy-0.14.3}/doc/getting_started/visuals.rst +0 -0
  99. {vispy-0.14.1 → vispy-0.14.3}/doc/governance/GOVERNANCE.md +0 -0
  100. {vispy-0.14.1 → vispy-0.14.3}/doc/governance/MAINTAINERS.md +0 -0
  101. {vispy-0.14.1 → vispy-0.14.3}/doc/index.rst +0 -0
  102. {vispy-0.14.1 → vispy-0.14.3}/doc/installation.rst +0 -0
  103. {vispy-0.14.1 → vispy-0.14.3}/doc/news.rst +0 -0
  104. {vispy-0.14.1 → vispy-0.14.3}/doc/org/ANTITRUST.md +0 -0
  105. {vispy-0.14.1 → vispy-0.14.3}/doc/org/CHARTER.md +0 -0
  106. {vispy-0.14.1 → vispy-0.14.3}/doc/org/STEERING-COMMITTEE.md +0 -0
  107. {vispy-0.14.1 → vispy-0.14.3}/doc/org/TRADEMARKS.md +0 -0
  108. {vispy-0.14.1 → vispy-0.14.3}/doc/overview.rst +0 -0
  109. {vispy-0.14.1 → vispy-0.14.3}/doc/raspberry.rst +0 -0
  110. {vispy-0.14.1 → vispy-0.14.3}/doc/resources.rst +0 -0
  111. {vispy-0.14.1 → vispy-0.14.3}/doc/roadmap.rst +0 -0
  112. {vispy-0.14.1 → vispy-0.14.3}/doc/thirdparty.rst +0 -0
  113. {vispy-0.14.1 → vispy-0.14.3}/examples/README.rst +0 -0
  114. {vispy-0.14.1 → vispy-0.14.3}/examples/basics/scene/modular_shaders/editor.py +0 -0
  115. {vispy-0.14.1 → vispy-0.14.3}/examples/basics/scene/modular_shaders/sandbox.py +0 -0
  116. {vispy-0.14.1 → vispy-0.14.3}/examples/basics/scene/shared_context.py +0 -0
  117. {vispy-0.14.1 → vispy-0.14.3}/examples/basics/scene/stereo.py +0 -0
  118. {vispy-0.14.1 → vispy-0.14.3}/examples/basics/visuals/arcball.py +0 -0
  119. {vispy-0.14.1 → vispy-0.14.3}/examples/basics/visuals/arrows.py +0 -0
  120. {vispy-0.14.1 → vispy-0.14.3}/examples/basics/visuals/arrows_quiver.py +0 -0
  121. {vispy-0.14.1 → vispy-0.14.3}/examples/basics/visuals/axially_symmetric_surfaces.py +0 -0
  122. {vispy-0.14.1 → vispy-0.14.3}/examples/basics/visuals/bezier.py +0 -0
  123. {vispy-0.14.1 → vispy-0.14.3}/examples/basics/visuals/box.py +0 -0
  124. {vispy-0.14.1 → vispy-0.14.3}/examples/basics/visuals/colorbar_visual.py +0 -0
  125. {vispy-0.14.1 → vispy-0.14.3}/examples/basics/visuals/colorbar_visual_types.py +0 -0
  126. {vispy-0.14.1 → vispy-0.14.3}/examples/basics/visuals/custom_visual.py +0 -0
  127. {vispy-0.14.1 → vispy-0.14.3}/examples/basics/visuals/dynamic_polygon.py +0 -0
  128. {vispy-0.14.1 → vispy-0.14.3}/examples/basics/visuals/graph.py +0 -0
  129. {vispy-0.14.1 → vispy-0.14.3}/examples/basics/visuals/grid_mesh.py +0 -0
  130. {vispy-0.14.1 → vispy-0.14.3}/examples/basics/visuals/image_transforms.py +0 -0
  131. {vispy-0.14.1 → vispy-0.14.3}/examples/basics/visuals/image_visual.py +0 -0
  132. {vispy-0.14.1 → vispy-0.14.3}/examples/basics/visuals/line.py +0 -0
  133. {vispy-0.14.1 → vispy-0.14.3}/examples/basics/visuals/line_draw.py +0 -0
  134. {vispy-0.14.1 → vispy-0.14.3}/examples/basics/visuals/line_plot.py +0 -0
  135. {vispy-0.14.1 → vispy-0.14.3}/examples/basics/visuals/line_plot3d.py +0 -0
  136. {vispy-0.14.1 → vispy-0.14.3}/examples/basics/visuals/line_plot_axes.py +0 -0
  137. {vispy-0.14.1 → vispy-0.14.3}/examples/basics/visuals/line_prototype.py +0 -0
  138. {vispy-0.14.1 → vispy-0.14.3}/examples/basics/visuals/line_transform.py +0 -0
  139. {vispy-0.14.1 → vispy-0.14.3}/examples/basics/visuals/markers.py +0 -0
  140. {vispy-0.14.1 → vispy-0.14.3}/examples/basics/visuals/mesh.py +0 -0
  141. {vispy-0.14.1 → vispy-0.14.3}/examples/basics/visuals/networkx_layout.py +0 -0
  142. {vispy-0.14.1 → vispy-0.14.3}/examples/basics/visuals/plane.py +0 -0
  143. {vispy-0.14.1 → vispy-0.14.3}/examples/basics/visuals/polygon_visual.py +0 -0
  144. {vispy-0.14.1 → vispy-0.14.3}/examples/basics/visuals/rescalingmarkers.py +0 -0
  145. {vispy-0.14.1 → vispy-0.14.3}/examples/basics/visuals/rotating_box.py +0 -0
  146. {vispy-0.14.1 → vispy-0.14.3}/examples/basics/visuals/text_scatter.py +0 -0
  147. {vispy-0.14.1 → vispy-0.14.3}/examples/basics/visuals/text_visual.py +0 -0
  148. {vispy-0.14.1 → vispy-0.14.3}/examples/basics/visuals/tube.py +0 -0
  149. {vispy-0.14.1 → vispy-0.14.3}/examples/basics/visuals/visual_filters.py +0 -0
  150. {vispy-0.14.1 → vispy-0.14.3}/examples/basics/visuals/windbarb_quiver.py +0 -0
  151. {vispy-0.14.1 → vispy-0.14.3}/examples/benchmark/scene_test_1.py +0 -0
  152. {vispy-0.14.1 → vispy-0.14.3}/examples/benchmark/scene_test_2.py +0 -0
  153. {vispy-0.14.1 → vispy-0.14.3}/examples/benchmark/simple_glut.py +0 -0
  154. {vispy-0.14.1 → vispy-0.14.3}/examples/benchmark/simple_vispy.py +0 -0
  155. {vispy-0.14.1 → vispy-0.14.3}/examples/collections/chloropleth.py +0 -0
  156. {vispy-0.14.1 → vispy-0.14.3}/examples/collections/path_collection.py +0 -0
  157. {vispy-0.14.1 → vispy-0.14.3}/examples/collections/point_collection.py +0 -0
  158. {vispy-0.14.1 → vispy-0.14.3}/examples/collections/polygon_collection.py +0 -0
  159. {vispy-0.14.1 → vispy-0.14.3}/examples/collections/segment_collection.py +0 -0
  160. {vispy-0.14.1 → vispy-0.14.3}/examples/collections/tiger.py +0 -0
  161. {vispy-0.14.1 → vispy-0.14.3}/examples/collections/triangle_collection.py +0 -0
  162. {vispy-0.14.1 → vispy-0.14.3}/examples/demo/gloo/atom.py +0 -0
  163. {vispy-0.14.1 → vispy-0.14.3}/examples/demo/gloo/boids.py +0 -0
  164. {vispy-0.14.1 → vispy-0.14.3}/examples/demo/gloo/brain.py +0 -0
  165. {vispy-0.14.1 → vispy-0.14.3}/examples/demo/gloo/camera.py +0 -0
  166. {vispy-0.14.1 → vispy-0.14.3}/examples/demo/gloo/cloud.py +0 -0
  167. {vispy-0.14.1 → vispy-0.14.3}/examples/demo/gloo/donut.py +0 -0
  168. {vispy-0.14.1 → vispy-0.14.3}/examples/demo/gloo/fireworks.py +0 -0
  169. {vispy-0.14.1 → vispy-0.14.3}/examples/demo/gloo/galaxy/galaxy.py +0 -0
  170. {vispy-0.14.1 → vispy-0.14.3}/examples/demo/gloo/galaxy/galaxy_simulation.py +0 -0
  171. {vispy-0.14.1 → vispy-0.14.3}/examples/demo/gloo/galaxy/galaxy_specrend.py +0 -0
  172. {vispy-0.14.1 → vispy-0.14.3}/examples/demo/gloo/galaxy.py +0 -0
  173. {vispy-0.14.1 → vispy-0.14.3}/examples/demo/gloo/game_of_life.py +0 -0
  174. {vispy-0.14.1 → vispy-0.14.3}/examples/demo/gloo/glsl_sandbox_cube.py +0 -0
  175. {vispy-0.14.1 → vispy-0.14.3}/examples/demo/gloo/graph.py +0 -0
  176. {vispy-0.14.1 → vispy-0.14.3}/examples/demo/gloo/grayscott.py +0 -0
  177. {vispy-0.14.1 → vispy-0.14.3}/examples/demo/gloo/high_frequency.py +0 -0
  178. {vispy-0.14.1 → vispy-0.14.3}/examples/demo/gloo/imshow.py +0 -0
  179. {vispy-0.14.1 → vispy-0.14.3}/examples/demo/gloo/imshow_cuts.py +0 -0
  180. {vispy-0.14.1 → vispy-0.14.3}/examples/demo/gloo/jfa/fragment_display.glsl +0 -0
  181. {vispy-0.14.1 → vispy-0.14.3}/examples/demo/gloo/jfa/fragment_flood.glsl +0 -0
  182. {vispy-0.14.1 → vispy-0.14.3}/examples/demo/gloo/jfa/fragment_seed.glsl +0 -0
  183. {vispy-0.14.1 → vispy-0.14.3}/examples/demo/gloo/jfa/jfa_translation.py +0 -0
  184. {vispy-0.14.1 → vispy-0.14.3}/examples/demo/gloo/jfa/jfa_vispy.py +0 -0
  185. {vispy-0.14.1 → vispy-0.14.3}/examples/demo/gloo/jfa/vertex.glsl +0 -0
  186. {vispy-0.14.1 → vispy-0.14.3}/examples/demo/gloo/jfa/vertex_vispy.glsl +0 -0
  187. {vispy-0.14.1 → vispy-0.14.3}/examples/demo/gloo/mandelbrot.py +0 -0
  188. {vispy-0.14.1 → vispy-0.14.3}/examples/demo/gloo/mandelbrot_double.py +0 -0
  189. {vispy-0.14.1 → vispy-0.14.3}/examples/demo/gloo/molecular_viewer.py +0 -0
  190. {vispy-0.14.1 → vispy-0.14.3}/examples/demo/gloo/ndscatter.py +0 -0
  191. {vispy-0.14.1 → vispy-0.14.3}/examples/demo/gloo/offscreen.py +0 -0
  192. {vispy-0.14.1 → vispy-0.14.3}/examples/demo/gloo/primitive_mesh_viewer_qt.py +0 -0
  193. {vispy-0.14.1 → vispy-0.14.3}/examples/demo/gloo/quiver.py +0 -0
  194. {vispy-0.14.1 → vispy-0.14.3}/examples/demo/gloo/rain.py +0 -0
  195. {vispy-0.14.1 → vispy-0.14.3}/examples/demo/gloo/raytracing.py +0 -0
  196. {vispy-0.14.1 → vispy-0.14.3}/examples/demo/gloo/realtime_signals.py +0 -0
  197. {vispy-0.14.1 → vispy-0.14.3}/examples/demo/gloo/signals.py +0 -0
  198. {vispy-0.14.1 → vispy-0.14.3}/examples/demo/gloo/skybox.py +0 -0
  199. {vispy-0.14.1 → vispy-0.14.3}/examples/demo/gloo/spacy.py +0 -0
  200. {vispy-0.14.1 → vispy-0.14.3}/examples/demo/gloo/terrain.py +0 -0
  201. {vispy-0.14.1 → vispy-0.14.3}/examples/demo/gloo/two_qt_widgets.py +0 -0
  202. {vispy-0.14.1 → vispy-0.14.3}/examples/demo/gloo/unstructured_2d.py +0 -0
  203. {vispy-0.14.1 → vispy-0.14.3}/examples/demo/gloo/voronoi.py +0 -0
  204. {vispy-0.14.1 → vispy-0.14.3}/examples/demo/plot/plot.py +0 -0
  205. {vispy-0.14.1 → vispy-0.14.3}/examples/demo/scene/flow_lines.py +0 -0
  206. {vispy-0.14.1 → vispy-0.14.3}/examples/demo/scene/force_directed_graph.py +0 -0
  207. {vispy-0.14.1 → vispy-0.14.3}/examples/demo/scene/klein.py +0 -0
  208. {vispy-0.14.1 → vispy-0.14.3}/examples/demo/scene/oscilloscope.py +0 -0
  209. {vispy-0.14.1 → vispy-0.14.3}/examples/demo/scene/picking.py +0 -0
  210. {vispy-0.14.1 → vispy-0.14.3}/examples/demo/scene/scrolling_plots.py +0 -0
  211. {vispy-0.14.1 → vispy-0.14.3}/examples/demo/visuals/wiggly_bar.py +0 -0
  212. {vispy-0.14.1 → vispy-0.14.3}/examples/gloo/README.rst +0 -0
  213. {vispy-0.14.1 → vispy-0.14.3}/examples/gloo/animate_images.py +0 -0
  214. {vispy-0.14.1 → vispy-0.14.3}/examples/gloo/animate_images_slice.py +0 -0
  215. {vispy-0.14.1 → vispy-0.14.3}/examples/gloo/animate_shape.py +0 -0
  216. {vispy-0.14.1 → vispy-0.14.3}/examples/gloo/colored_cube.py +0 -0
  217. {vispy-0.14.1 → vispy-0.14.3}/examples/gloo/colored_cube_instanced.py +0 -0
  218. {vispy-0.14.1 → vispy-0.14.3}/examples/gloo/colored_quad.py +0 -0
  219. {vispy-0.14.1 → vispy-0.14.3}/examples/gloo/display_lines.py +0 -0
  220. {vispy-0.14.1 → vispy-0.14.3}/examples/gloo/display_points.py +0 -0
  221. {vispy-0.14.1 → vispy-0.14.3}/examples/gloo/display_shape.py +0 -0
  222. {vispy-0.14.1 → vispy-0.14.3}/examples/gloo/geometry_shader.py +0 -0
  223. {vispy-0.14.1 → vispy-0.14.3}/examples/gloo/gl/README.rst +0 -0
  224. {vispy-0.14.1 → vispy-0.14.3}/examples/gloo/gl/cube.py +0 -0
  225. {vispy-0.14.1 → vispy-0.14.3}/examples/gloo/gl/fireworks.py +0 -0
  226. {vispy-0.14.1 → vispy-0.14.3}/examples/gloo/gl/quad.py +0 -0
  227. {vispy-0.14.1 → vispy-0.14.3}/examples/gloo/gl/quad_instanced.py +0 -0
  228. {vispy-0.14.1 → vispy-0.14.3}/examples/gloo/gpuimage.py +0 -0
  229. {vispy-0.14.1 → vispy-0.14.3}/examples/gloo/hello_fbo.py +0 -0
  230. {vispy-0.14.1 → vispy-0.14.3}/examples/gloo/lighted_cube.py +0 -0
  231. {vispy-0.14.1 → vispy-0.14.3}/examples/gloo/multi_texture.py +0 -0
  232. {vispy-0.14.1 → vispy-0.14.3}/examples/gloo/outlined_cube.py +0 -0
  233. {vispy-0.14.1 → vispy-0.14.3}/examples/gloo/post_processing.py +0 -0
  234. {vispy-0.14.1 → vispy-0.14.3}/examples/gloo/rotate_cube.py +0 -0
  235. {vispy-0.14.1 → vispy-0.14.3}/examples/gloo/rotating_quad.py +0 -0
  236. {vispy-0.14.1 → vispy-0.14.3}/examples/gloo/spatial_filters.py +0 -0
  237. {vispy-0.14.1 → vispy-0.14.3}/examples/gloo/start.py +0 -0
  238. {vispy-0.14.1 → vispy-0.14.3}/examples/gloo/start_shaders.py +0 -0
  239. {vispy-0.14.1 → vispy-0.14.3}/examples/gloo/texture_precision.py +0 -0
  240. {vispy-0.14.1 → vispy-0.14.3}/examples/gloo/textured_cube.py +0 -0
  241. {vispy-0.14.1 → vispy-0.14.3}/examples/gloo/textured_quad.py +0 -0
  242. {vispy-0.14.1 → vispy-0.14.3}/examples/jupyter/Rotating Cube.ipynb +0 -0
  243. {vispy-0.14.1 → vispy-0.14.3}/examples/jupyter/colormaps.ipynb +0 -0
  244. {vispy-0.14.1 → vispy-0.14.3}/examples/jupyter/gloo_display_lines.ipynb +0 -0
  245. {vispy-0.14.1 → vispy-0.14.3}/examples/jupyter/gloo_molecular_viewer.ipynb +0 -0
  246. {vispy-0.14.1 → vispy-0.14.3}/examples/offscreen/simple_egl.py +0 -0
  247. {vispy-0.14.1 → vispy-0.14.3}/examples/offscreen/simple_osmesa.py +0 -0
  248. {vispy-0.14.1 → vispy-0.14.3}/examples/plotting/README.rst +0 -0
  249. {vispy-0.14.1 → vispy-0.14.3}/examples/plotting/colorbar.py +0 -0
  250. {vispy-0.14.1 → vispy-0.14.3}/examples/plotting/export.py +0 -0
  251. {vispy-0.14.1 → vispy-0.14.3}/examples/plotting/ipython_fig_playground.py +0 -0
  252. {vispy-0.14.1 → vispy-0.14.3}/examples/plotting/plot.py +0 -0
  253. {vispy-0.14.1 → vispy-0.14.3}/examples/plotting/plot_colorbars.py +0 -0
  254. {vispy-0.14.1 → vispy-0.14.3}/examples/plotting/scatter_histogram.py +0 -0
  255. {vispy-0.14.1 → vispy-0.14.3}/examples/plotting/spectrogram.py +0 -0
  256. {vispy-0.14.1 → vispy-0.14.3}/examples/plotting/volume_plot.py +0 -0
  257. {vispy-0.14.1 → vispy-0.14.3}/examples/scene/README.rst +0 -0
  258. {vispy-0.14.1 → vispy-0.14.3}/examples/scene/axes_plot.py +0 -0
  259. {vispy-0.14.1 → vispy-0.14.3}/examples/scene/background_borders.py +0 -0
  260. {vispy-0.14.1 → vispy-0.14.3}/examples/scene/clipping_planes.py +0 -0
  261. {vispy-0.14.1 → vispy-0.14.3}/examples/scene/colorbar_widget.py +0 -0
  262. {vispy-0.14.1 → vispy-0.14.3}/examples/scene/colored_line.py +0 -0
  263. {vispy-0.14.1 → vispy-0.14.3}/examples/scene/complex_image.py +0 -0
  264. {vispy-0.14.1 → vispy-0.14.3}/examples/scene/console.py +0 -0
  265. {vispy-0.14.1 → vispy-0.14.3}/examples/scene/contour.py +0 -0
  266. {vispy-0.14.1 → vispy-0.14.3}/examples/scene/example..gif +0 -0
  267. {vispy-0.14.1 → vispy-0.14.3}/examples/scene/example.png +0 -0
  268. {vispy-0.14.1 → vispy-0.14.3}/examples/scene/face_picking.py +0 -0
  269. {vispy-0.14.1 → vispy-0.14.3}/examples/scene/flipped_axis.py +0 -0
  270. {vispy-0.14.1 → vispy-0.14.3}/examples/scene/graph.py +0 -0
  271. {vispy-0.14.1 → vispy-0.14.3}/examples/scene/grid_layout/README.rst +0 -0
  272. {vispy-0.14.1 → vispy-0.14.3}/examples/scene/grid_layout/grid.py +0 -0
  273. {vispy-0.14.1 → vispy-0.14.3}/examples/scene/grid_layout/grid_basic.py +0 -0
  274. {vispy-0.14.1 → vispy-0.14.3}/examples/scene/grid_layout/grid_holed.py +0 -0
  275. {vispy-0.14.1 → vispy-0.14.3}/examples/scene/grid_layout/grid_large.py +0 -0
  276. {vispy-0.14.1 → vispy-0.14.3}/examples/scene/grid_layout/grid_uneven_col.py +0 -0
  277. {vispy-0.14.1 → vispy-0.14.3}/examples/scene/grid_layout/grid_x_y_viewbox.py +0 -0
  278. {vispy-0.14.1 → vispy-0.14.3}/examples/scene/image.py +0 -0
  279. {vispy-0.14.1 → vispy-0.14.3}/examples/scene/image_custom_kernel.py +0 -0
  280. {vispy-0.14.1 → vispy-0.14.3}/examples/scene/infinite_line.py +0 -0
  281. {vispy-0.14.1 → vispy-0.14.3}/examples/scene/instanced_mesh.py +0 -0
  282. {vispy-0.14.1 → vispy-0.14.3}/examples/scene/instanced_mesh_visual.py +0 -0
  283. {vispy-0.14.1 → vispy-0.14.3}/examples/scene/instanced_quad_visual.py +0 -0
  284. {vispy-0.14.1 → vispy-0.14.3}/examples/scene/isocurve.py +0 -0
  285. {vispy-0.14.1 → vispy-0.14.3}/examples/scene/isocurve_for_trisurface.py +0 -0
  286. {vispy-0.14.1 → vispy-0.14.3}/examples/scene/isocurve_for_trisurface_qt.py +0 -0
  287. {vispy-0.14.1 → vispy-0.14.3}/examples/scene/isocurve_updates.py +0 -0
  288. {vispy-0.14.1 → vispy-0.14.3}/examples/scene/isosurface.py +0 -0
  289. {vispy-0.14.1 → vispy-0.14.3}/examples/scene/lasso.py +0 -0
  290. {vispy-0.14.1 → vispy-0.14.3}/examples/scene/line.py +0 -0
  291. {vispy-0.14.1 → vispy-0.14.3}/examples/scene/line_update.py +0 -0
  292. {vispy-0.14.1 → vispy-0.14.3}/examples/scene/linear_region.py +0 -0
  293. {vispy-0.14.1 → vispy-0.14.3}/examples/scene/magnify.py +0 -0
  294. {vispy-0.14.1 → vispy-0.14.3}/examples/scene/marker_picking.py +0 -0
  295. {vispy-0.14.1 → vispy-0.14.3}/examples/scene/marker_spheres.py +0 -0
  296. {vispy-0.14.1 → vispy-0.14.3}/examples/scene/mesh_normals.py +0 -0
  297. {vispy-0.14.1 → vispy-0.14.3}/examples/scene/mesh_shading.py +0 -0
  298. {vispy-0.14.1 → vispy-0.14.3}/examples/scene/mesh_texture.py +0 -0
  299. {vispy-0.14.1 → vispy-0.14.3}/examples/scene/nested_viewbox.py +0 -0
  300. {vispy-0.14.1 → vispy-0.14.3}/examples/scene/one_cam_two_scenes.py +0 -0
  301. {vispy-0.14.1 → vispy-0.14.3}/examples/scene/one_scene_four_cams.py +0 -0
  302. {vispy-0.14.1 → vispy-0.14.3}/examples/scene/point_cloud.py +0 -0
  303. {vispy-0.14.1 → vispy-0.14.3}/examples/scene/polygon.py +0 -0
  304. {vispy-0.14.1 → vispy-0.14.3}/examples/scene/realtime_data/README.rst +0 -0
  305. {vispy-0.14.1 → vispy-0.14.3}/examples/scene/realtime_data/ex01_embedded_vispy.py +0 -0
  306. {vispy-0.14.1 → vispy-0.14.3}/examples/scene/realtime_data/ex02_control_vispy_from_qt.py +0 -0
  307. {vispy-0.14.1 → vispy-0.14.3}/examples/scene/realtime_data/ex03a_data_sources_timer.py +0 -0
  308. {vispy-0.14.1 → vispy-0.14.3}/examples/scene/realtime_data/ex03b_data_sources_threaded_loop.py +0 -0
  309. {vispy-0.14.1 → vispy-0.14.3}/examples/scene/realtime_data/ex03c_data_sources_threaded_events.py +0 -0
  310. {vispy-0.14.1 → vispy-0.14.3}/examples/scene/save_animation.py +0 -0
  311. {vispy-0.14.1 → vispy-0.14.3}/examples/scene/sensitivity.py +0 -0
  312. {vispy-0.14.1 → vispy-0.14.3}/examples/scene/shape_draw.py +0 -0
  313. {vispy-0.14.1 → vispy-0.14.3}/examples/scene/sphere.py +0 -0
  314. {vispy-0.14.1 → vispy-0.14.3}/examples/scene/surface_plot.py +0 -0
  315. {vispy-0.14.1 → vispy-0.14.3}/examples/scene/text.py +0 -0
  316. {vispy-0.14.1 → vispy-0.14.3}/examples/scene/turntable_box.py +0 -0
  317. {vispy-0.14.1 → vispy-0.14.3}/examples/scene/viewbox.py +0 -0
  318. {vispy-0.14.1 → vispy-0.14.3}/examples/scene/volume.py +0 -0
  319. {vispy-0.14.1 → vispy-0.14.3}/examples/scene/volume_plane.py +0 -0
  320. {vispy-0.14.1 → vispy-0.14.3}/examples/tutorial/app/app_events.py +0 -0
  321. {vispy-0.14.1 → vispy-0.14.3}/examples/tutorial/app/fps.py +0 -0
  322. {vispy-0.14.1 → vispy-0.14.3}/examples/tutorial/app/shared_context.py +0 -0
  323. {vispy-0.14.1 → vispy-0.14.3}/examples/tutorial/app/simple.py +0 -0
  324. {vispy-0.14.1 → vispy-0.14.3}/examples/tutorial/app/simple_wx.py +0 -0
  325. {vispy-0.14.1 → vispy-0.14.3}/examples/tutorial/visuals/T01_basic_visual.py +0 -0
  326. {vispy-0.14.1 → vispy-0.14.3}/examples/tutorial/visuals/T02_measurements.py +0 -0
  327. {vispy-0.14.1 → vispy-0.14.3}/examples/tutorial/visuals/T03_antialiasing.py +0 -0
  328. {vispy-0.14.1 → vispy-0.14.3}/examples/tutorial/visuals/T04_fragment_programs.py +0 -0
  329. {vispy-0.14.1 → vispy-0.14.3}/examples/tutorial/visuals/T05_viewer_location.py +0 -0
  330. {vispy-0.14.1 → vispy-0.14.3}/pytest.ini +0 -0
  331. {vispy-0.14.1 → vispy-0.14.3}/setup.cfg +0 -0
  332. {vispy-0.14.1 → vispy-0.14.3}/vispy/__init__.py +0 -0
  333. {vispy-0.14.1 → vispy-0.14.3}/vispy/app/__init__.py +0 -0
  334. {vispy-0.14.1 → vispy-0.14.3}/vispy/app/_default_app.py +0 -0
  335. {vispy-0.14.1 → vispy-0.14.3}/vispy/app/_detect_eventloop.py +0 -0
  336. {vispy-0.14.1 → vispy-0.14.3}/vispy/app/application.py +0 -0
  337. {vispy-0.14.1 → vispy-0.14.3}/vispy/app/backends/__init__.py +0 -0
  338. {vispy-0.14.1 → vispy-0.14.3}/vispy/app/backends/_egl.py +0 -0
  339. {vispy-0.14.1 → vispy-0.14.3}/vispy/app/backends/_glfw.py +0 -0
  340. {vispy-0.14.1 → vispy-0.14.3}/vispy/app/backends/_jupyter_rfb.py +0 -0
  341. {vispy-0.14.1 → vispy-0.14.3}/vispy/app/backends/_offscreen_util.py +0 -0
  342. {vispy-0.14.1 → vispy-0.14.3}/vispy/app/backends/_osmesa.py +0 -0
  343. {vispy-0.14.1 → vispy-0.14.3}/vispy/app/backends/_pyglet.py +0 -0
  344. {vispy-0.14.1 → vispy-0.14.3}/vispy/app/backends/_pyqt4.py +0 -0
  345. {vispy-0.14.1 → vispy-0.14.3}/vispy/app/backends/_pyqt5.py +0 -0
  346. {vispy-0.14.1 → vispy-0.14.3}/vispy/app/backends/_pyqt6.py +0 -0
  347. {vispy-0.14.1 → vispy-0.14.3}/vispy/app/backends/_pyside.py +0 -0
  348. {vispy-0.14.1 → vispy-0.14.3}/vispy/app/backends/_pyside2.py +0 -0
  349. {vispy-0.14.1 → vispy-0.14.3}/vispy/app/backends/_pyside6.py +0 -0
  350. {vispy-0.14.1 → vispy-0.14.3}/vispy/app/backends/_sdl2.py +0 -0
  351. {vispy-0.14.1 → vispy-0.14.3}/vispy/app/backends/_template.py +0 -0
  352. {vispy-0.14.1 → vispy-0.14.3}/vispy/app/backends/_test.py +0 -0
  353. {vispy-0.14.1 → vispy-0.14.3}/vispy/app/backends/_tk.py +0 -0
  354. {vispy-0.14.1 → vispy-0.14.3}/vispy/app/backends/_wx.py +0 -0
  355. {vispy-0.14.1 → vispy-0.14.3}/vispy/app/backends/tests/__init__.py +0 -0
  356. {vispy-0.14.1 → vispy-0.14.3}/vispy/app/backends/tests/test_offscreen_util.py +0 -0
  357. {vispy-0.14.1 → vispy-0.14.3}/vispy/app/backends/tests/test_rfb.py +0 -0
  358. {vispy-0.14.1 → vispy-0.14.3}/vispy/app/base.py +0 -0
  359. {vispy-0.14.1 → vispy-0.14.3}/vispy/app/canvas.py +0 -0
  360. {vispy-0.14.1 → vispy-0.14.3}/vispy/app/qt.py +0 -0
  361. {vispy-0.14.1 → vispy-0.14.3}/vispy/app/tests/__init__.py +0 -0
  362. {vispy-0.14.1 → vispy-0.14.3}/vispy/app/tests/qt-designer.ui +0 -0
  363. {vispy-0.14.1 → vispy-0.14.3}/vispy/app/tests/test_app.py +0 -0
  364. {vispy-0.14.1 → vispy-0.14.3}/vispy/app/tests/test_backends.py +0 -0
  365. {vispy-0.14.1 → vispy-0.14.3}/vispy/app/tests/test_canvas.py +0 -0
  366. {vispy-0.14.1 → vispy-0.14.3}/vispy/app/tests/test_context.py +0 -0
  367. {vispy-0.14.1 → vispy-0.14.3}/vispy/app/tests/test_qt.py +0 -0
  368. {vispy-0.14.1 → vispy-0.14.3}/vispy/app/tests/test_simultaneous.py +0 -0
  369. {vispy-0.14.1 → vispy-0.14.3}/vispy/app/timer.py +0 -0
  370. {vispy-0.14.1 → vispy-0.14.3}/vispy/color/__init__.py +0 -0
  371. {vispy-0.14.1 → vispy-0.14.3}/vispy/color/_color_dict.py +0 -0
  372. {vispy-0.14.1 → vispy-0.14.3}/vispy/color/color_array.py +0 -0
  373. {vispy-0.14.1 → vispy-0.14.3}/vispy/color/color_space.py +0 -0
  374. {vispy-0.14.1 → vispy-0.14.3}/vispy/color/colormap.py +0 -0
  375. {vispy-0.14.1 → vispy-0.14.3}/vispy/color/tests/__init__.py +0 -0
  376. {vispy-0.14.1 → vispy-0.14.3}/vispy/color/tests/test_color.py +0 -0
  377. {vispy-0.14.1 → vispy-0.14.3}/vispy/conftest.py +0 -0
  378. {vispy-0.14.1 → vispy-0.14.3}/vispy/ext/__init__.py +0 -0
  379. {vispy-0.14.1 → vispy-0.14.3}/vispy/ext/cocoapy.py +0 -0
  380. {vispy-0.14.1 → vispy-0.14.3}/vispy/ext/cubehelix.py +0 -0
  381. {vispy-0.14.1 → vispy-0.14.3}/vispy/ext/egl.py +0 -0
  382. {vispy-0.14.1 → vispy-0.14.3}/vispy/ext/fontconfig.py +0 -0
  383. {vispy-0.14.1 → vispy-0.14.3}/vispy/ext/gdi32plus.py +0 -0
  384. {vispy-0.14.1 → vispy-0.14.3}/vispy/ext/osmesa.py +0 -0
  385. {vispy-0.14.1 → vispy-0.14.3}/vispy/geometry/_triangulation_debugger.py +0 -0
  386. {vispy-0.14.1 → vispy-0.14.3}/vispy/geometry/curves.py +0 -0
  387. {vispy-0.14.1 → vispy-0.14.3}/vispy/geometry/generation.py +0 -0
  388. {vispy-0.14.1 → vispy-0.14.3}/vispy/geometry/isocurve.py +0 -0
  389. {vispy-0.14.1 → vispy-0.14.3}/vispy/geometry/isosurface.py +0 -0
  390. {vispy-0.14.1 → vispy-0.14.3}/vispy/geometry/meshdata.py +0 -0
  391. {vispy-0.14.1 → vispy-0.14.3}/vispy/geometry/normals.py +0 -0
  392. {vispy-0.14.1 → vispy-0.14.3}/vispy/geometry/parametric.py +0 -0
  393. {vispy-0.14.1 → vispy-0.14.3}/vispy/geometry/polygon.py +0 -0
  394. {vispy-0.14.1 → vispy-0.14.3}/vispy/geometry/rect.py +0 -0
  395. {vispy-0.14.1 → vispy-0.14.3}/vispy/geometry/tests/__init__.py +0 -0
  396. {vispy-0.14.1 → vispy-0.14.3}/vispy/geometry/tests/test_calculations.py +0 -0
  397. {vispy-0.14.1 → vispy-0.14.3}/vispy/geometry/tests/test_generation.py +0 -0
  398. {vispy-0.14.1 → vispy-0.14.3}/vispy/geometry/tests/test_meshdata.py +0 -0
  399. {vispy-0.14.1 → vispy-0.14.3}/vispy/geometry/tests/test_triangulation.py +0 -0
  400. {vispy-0.14.1 → vispy-0.14.3}/vispy/geometry/torusknot.py +0 -0
  401. {vispy-0.14.1 → vispy-0.14.3}/vispy/gloo/__init__.py +0 -0
  402. {vispy-0.14.1 → vispy-0.14.3}/vispy/gloo/context.py +0 -0
  403. {vispy-0.14.1 → vispy-0.14.3}/vispy/gloo/framebuffer.py +0 -0
  404. {vispy-0.14.1 → vispy-0.14.3}/vispy/gloo/gl/__init__.py +0 -0
  405. {vispy-0.14.1 → vispy-0.14.3}/vispy/gloo/gl/_constants.py +0 -0
  406. {vispy-0.14.1 → vispy-0.14.3}/vispy/gloo/gl/_es2.py +0 -0
  407. {vispy-0.14.1 → vispy-0.14.3}/vispy/gloo/gl/_gl2.py +0 -0
  408. {vispy-0.14.1 → vispy-0.14.3}/vispy/gloo/gl/_proxy.py +0 -0
  409. {vispy-0.14.1 → vispy-0.14.3}/vispy/gloo/gl/_pyopengl2.py +0 -0
  410. {vispy-0.14.1 → vispy-0.14.3}/vispy/gloo/gl/dummy.py +0 -0
  411. {vispy-0.14.1 → vispy-0.14.3}/vispy/gloo/gl/es2.py +0 -0
  412. {vispy-0.14.1 → vispy-0.14.3}/vispy/gloo/gl/gl2.py +0 -0
  413. {vispy-0.14.1 → vispy-0.14.3}/vispy/gloo/gl/glplus.py +0 -0
  414. {vispy-0.14.1 → vispy-0.14.3}/vispy/gloo/gl/pyopengl2.py +0 -0
  415. {vispy-0.14.1 → vispy-0.14.3}/vispy/gloo/gl/tests/__init__.py +0 -0
  416. {vispy-0.14.1 → vispy-0.14.3}/vispy/gloo/gl/tests/test_basics.py +0 -0
  417. {vispy-0.14.1 → vispy-0.14.3}/vispy/gloo/gl/tests/test_names.py +0 -0
  418. {vispy-0.14.1 → vispy-0.14.3}/vispy/gloo/gl/tests/test_use.py +0 -0
  419. {vispy-0.14.1 → vispy-0.14.3}/vispy/gloo/globject.py +0 -0
  420. {vispy-0.14.1 → vispy-0.14.3}/vispy/gloo/preprocessor.py +0 -0
  421. {vispy-0.14.1 → vispy-0.14.3}/vispy/gloo/program.py +0 -0
  422. {vispy-0.14.1 → vispy-0.14.3}/vispy/gloo/tests/__init__.py +0 -0
  423. {vispy-0.14.1 → vispy-0.14.3}/vispy/gloo/tests/test_buffer.py +0 -0
  424. {vispy-0.14.1 → vispy-0.14.3}/vispy/gloo/tests/test_context.py +0 -0
  425. {vispy-0.14.1 → vispy-0.14.3}/vispy/gloo/tests/test_framebuffer.py +0 -0
  426. {vispy-0.14.1 → vispy-0.14.3}/vispy/gloo/tests/test_glir.py +0 -0
  427. {vispy-0.14.1 → vispy-0.14.3}/vispy/gloo/tests/test_globject.py +0 -0
  428. {vispy-0.14.1 → vispy-0.14.3}/vispy/gloo/tests/test_program.py +0 -0
  429. {vispy-0.14.1 → vispy-0.14.3}/vispy/gloo/tests/test_texture.py +0 -0
  430. {vispy-0.14.1 → vispy-0.14.3}/vispy/gloo/tests/test_use_gloo.py +0 -0
  431. {vispy-0.14.1 → vispy-0.14.3}/vispy/gloo/tests/test_util.py +0 -0
  432. {vispy-0.14.1 → vispy-0.14.3}/vispy/gloo/tests/test_wrappers.py +0 -0
  433. {vispy-0.14.1 → vispy-0.14.3}/vispy/gloo/util.py +0 -0
  434. {vispy-0.14.1 → vispy-0.14.3}/vispy/gloo/wrappers.py +0 -0
  435. {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/__init__.py +0 -0
  436. {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/antialias/antialias.glsl +0 -0
  437. {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/antialias/cap-butt.glsl +0 -0
  438. {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/antialias/cap-round.glsl +0 -0
  439. {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/antialias/cap-square.glsl +0 -0
  440. {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/antialias/cap-triangle-in.glsl +0 -0
  441. {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/antialias/cap-triangle-out.glsl +0 -0
  442. {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/antialias/cap.glsl +0 -0
  443. {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/antialias/caps.glsl +0 -0
  444. {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/antialias/filled.glsl +0 -0
  445. {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/antialias/outline.glsl +0 -0
  446. {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/antialias/stroke.glsl +0 -0
  447. {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/arrowheads/angle.glsl +0 -0
  448. {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/arrowheads/arrowheads.frag +0 -0
  449. {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/arrowheads/arrowheads.glsl +0 -0
  450. {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/arrowheads/arrowheads.vert +0 -0
  451. {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/arrowheads/curved.glsl +0 -0
  452. {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/arrowheads/inhibitor.glsl +0 -0
  453. {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/arrowheads/stealth.glsl +0 -0
  454. {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/arrowheads/triangle.glsl +0 -0
  455. {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/arrowheads/util.glsl +0 -0
  456. {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/arrows/angle-30.glsl +0 -0
  457. {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/arrows/angle-60.glsl +0 -0
  458. {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/arrows/angle-90.glsl +0 -0
  459. {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/arrows/arrow.frag +0 -0
  460. {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/arrows/arrow.vert +0 -0
  461. {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/arrows/arrows.glsl +0 -0
  462. {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/arrows/common.glsl +0 -0
  463. {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/arrows/curved.glsl +0 -0
  464. {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/arrows/stealth.glsl +0 -0
  465. {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/arrows/triangle-30.glsl +0 -0
  466. {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/arrows/triangle-60.glsl +0 -0
  467. {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/arrows/triangle-90.glsl +0 -0
  468. {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/arrows/util.glsl +0 -0
  469. {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/build_spatial_filters.py +0 -0
  470. {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/collections/agg-fast-path.frag +0 -0
  471. {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/collections/agg-fast-path.vert +0 -0
  472. {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/collections/agg-glyph.frag +0 -0
  473. {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/collections/agg-glyph.vert +0 -0
  474. {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/collections/agg-marker.frag +0 -0
  475. {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/collections/agg-marker.vert +0 -0
  476. {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/collections/agg-path.frag +0 -0
  477. {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/collections/agg-path.vert +0 -0
  478. {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/collections/agg-point.frag +0 -0
  479. {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/collections/agg-point.vert +0 -0
  480. {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/collections/agg-segment.frag +0 -0
  481. {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/collections/agg-segment.vert +0 -0
  482. {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/collections/marker.frag +0 -0
  483. {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/collections/marker.vert +0 -0
  484. {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/collections/raw-path.frag +0 -0
  485. {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/collections/raw-path.vert +0 -0
  486. {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/collections/raw-point.frag +0 -0
  487. {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/collections/raw-point.vert +0 -0
  488. {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/collections/raw-segment.frag +0 -0
  489. {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/collections/raw-segment.vert +0 -0
  490. {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/collections/raw-triangle.frag +0 -0
  491. {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/collections/raw-triangle.vert +0 -0
  492. {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/collections/sdf-glyph-ticks.vert +0 -0
  493. {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/collections/sdf-glyph.frag +0 -0
  494. {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/collections/sdf-glyph.vert +0 -0
  495. {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/collections/tick-labels.vert +0 -0
  496. {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/colormaps/autumn.glsl +0 -0
  497. {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/colormaps/blues.glsl +0 -0
  498. {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/colormaps/color-space.glsl +0 -0
  499. {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/colormaps/colormaps.glsl +0 -0
  500. {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/colormaps/cool.glsl +0 -0
  501. {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/colormaps/fire.glsl +0 -0
  502. {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/colormaps/gray.glsl +0 -0
  503. {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/colormaps/greens.glsl +0 -0
  504. {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/colormaps/hot.glsl +0 -0
  505. {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/colormaps/ice.glsl +0 -0
  506. {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/colormaps/icefire.glsl +0 -0
  507. {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/colormaps/parse.py +0 -0
  508. {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/colormaps/reds.glsl +0 -0
  509. {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/colormaps/spring.glsl +0 -0
  510. {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/colormaps/summer.glsl +0 -0
  511. {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/colormaps/user.glsl +0 -0
  512. {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/colormaps/util.glsl +0 -0
  513. {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/colormaps/wheel.glsl +0 -0
  514. {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/colormaps/winter.glsl +0 -0
  515. {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/lines/agg.frag +0 -0
  516. {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/lines/agg.vert +0 -0
  517. {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/markers/arrow.glsl +0 -0
  518. {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/markers/asterisk.glsl +0 -0
  519. {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/markers/chevron.glsl +0 -0
  520. {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/markers/clover.glsl +0 -0
  521. {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/markers/club.glsl +0 -0
  522. {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/markers/cross.glsl +0 -0
  523. {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/markers/diamond.glsl +0 -0
  524. {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/markers/disc.glsl +0 -0
  525. {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/markers/ellipse.glsl +0 -0
  526. {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/markers/hbar.glsl +0 -0
  527. {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/markers/heart.glsl +0 -0
  528. {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/markers/infinity.glsl +0 -0
  529. {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/markers/marker-sdf.frag +0 -0
  530. {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/markers/marker-sdf.vert +0 -0
  531. {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/markers/marker.frag +0 -0
  532. {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/markers/marker.vert +0 -0
  533. {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/markers/markers.glsl +0 -0
  534. {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/markers/pin.glsl +0 -0
  535. {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/markers/ring.glsl +0 -0
  536. {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/markers/spade.glsl +0 -0
  537. {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/markers/square.glsl +0 -0
  538. {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/markers/tag.glsl +0 -0
  539. {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/markers/triangle.glsl +0 -0
  540. {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/markers/vbar.glsl +0 -0
  541. {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/math/circle-through-2-points.glsl +0 -0
  542. {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/math/constants.glsl +0 -0
  543. {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/math/double.glsl +0 -0
  544. {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/math/functions.glsl +0 -0
  545. {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/math/point-to-line-distance.glsl +0 -0
  546. {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/math/point-to-line-projection.glsl +0 -0
  547. {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/math/signed-line-distance.glsl +0 -0
  548. {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/math/signed-segment-distance.glsl +0 -0
  549. {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/misc/regular-grid.frag +0 -0
  550. {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/misc/spatial-filters.frag +0 -0
  551. {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/misc/viewport-NDC.glsl +0 -0
  552. {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/transforms/azimuthal-equal-area.glsl +0 -0
  553. {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/transforms/azimuthal-equidistant.glsl +0 -0
  554. {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/transforms/hammer.glsl +0 -0
  555. {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/transforms/identity.glsl +0 -0
  556. {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/transforms/identity_forward.glsl +0 -0
  557. {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/transforms/identity_inverse.glsl +0 -0
  558. {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/transforms/linear-scale.glsl +0 -0
  559. {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/transforms/log-scale.glsl +0 -0
  560. {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/transforms/mercator-transverse-forward.glsl +0 -0
  561. {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/transforms/mercator-transverse-inverse.glsl +0 -0
  562. {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/transforms/panzoom.glsl +0 -0
  563. {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/transforms/polar.glsl +0 -0
  564. {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/transforms/position.glsl +0 -0
  565. {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/transforms/power-scale.glsl +0 -0
  566. {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/transforms/projection.glsl +0 -0
  567. {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/transforms/pvm.glsl +0 -0
  568. {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/transforms/rotate.glsl +0 -0
  569. {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/transforms/trackball.glsl +0 -0
  570. {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/transforms/translate.glsl +0 -0
  571. {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/transforms/transverse_mercator.glsl +0 -0
  572. {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/transforms/viewport-clipping.glsl +0 -0
  573. {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/transforms/viewport-transform.glsl +0 -0
  574. {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/transforms/viewport.glsl +0 -0
  575. {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/transforms/x.glsl +0 -0
  576. {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/transforms/y.glsl +0 -0
  577. {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/transforms/z.glsl +0 -0
  578. {vispy-0.14.1 → vispy-0.14.3}/vispy/io/__init__.py +0 -0
  579. {vispy-0.14.1 → vispy-0.14.3}/vispy/io/_data/spatial-filters.npy +0 -0
  580. {vispy-0.14.1 → vispy-0.14.3}/vispy/io/datasets.py +0 -0
  581. {vispy-0.14.1 → vispy-0.14.3}/vispy/io/image.py +0 -0
  582. {vispy-0.14.1 → vispy-0.14.3}/vispy/io/mesh.py +0 -0
  583. {vispy-0.14.1 → vispy-0.14.3}/vispy/io/stl.py +0 -0
  584. {vispy-0.14.1 → vispy-0.14.3}/vispy/io/tests/__init__.py +0 -0
  585. {vispy-0.14.1 → vispy-0.14.3}/vispy/io/tests/test_image.py +0 -0
  586. {vispy-0.14.1 → vispy-0.14.3}/vispy/io/tests/test_io.py +0 -0
  587. {vispy-0.14.1 → vispy-0.14.3}/vispy/io/wavefront.py +0 -0
  588. {vispy-0.14.1 → vispy-0.14.3}/vispy/plot/__init__.py +0 -0
  589. {vispy-0.14.1 → vispy-0.14.3}/vispy/plot/fig.py +0 -0
  590. {vispy-0.14.1 → vispy-0.14.3}/vispy/plot/tests/__init__.py +0 -0
  591. {vispy-0.14.1 → vispy-0.14.3}/vispy/plot/tests/test_plot.py +0 -0
  592. {vispy-0.14.1 → vispy-0.14.3}/vispy/scene/__init__.py +0 -0
  593. {vispy-0.14.1 → vispy-0.14.3}/vispy/scene/cameras/__init__.py +0 -0
  594. {vispy-0.14.1 → vispy-0.14.3}/vispy/scene/cameras/_base.py +0 -0
  595. {vispy-0.14.1 → vispy-0.14.3}/vispy/scene/cameras/arcball.py +0 -0
  596. {vispy-0.14.1 → vispy-0.14.3}/vispy/scene/cameras/base_camera.py +0 -0
  597. {vispy-0.14.1 → vispy-0.14.3}/vispy/scene/cameras/fly.py +0 -0
  598. {vispy-0.14.1 → vispy-0.14.3}/vispy/scene/cameras/magnify.py +0 -0
  599. {vispy-0.14.1 → vispy-0.14.3}/vispy/scene/cameras/panzoom.py +0 -0
  600. {vispy-0.14.1 → vispy-0.14.3}/vispy/scene/cameras/perspective.py +0 -0
  601. {vispy-0.14.1 → vispy-0.14.3}/vispy/scene/cameras/tests/__init__.py +0 -0
  602. {vispy-0.14.1 → vispy-0.14.3}/vispy/scene/cameras/tests/test_cameras.py +0 -0
  603. {vispy-0.14.1 → vispy-0.14.3}/vispy/scene/cameras/tests/test_link.py +0 -0
  604. {vispy-0.14.1 → vispy-0.14.3}/vispy/scene/cameras/tests/test_perspective.py +0 -0
  605. {vispy-0.14.1 → vispy-0.14.3}/vispy/scene/cameras/turntable.py +0 -0
  606. {vispy-0.14.1 → vispy-0.14.3}/vispy/scene/canvas.py +0 -0
  607. {vispy-0.14.1 → vispy-0.14.3}/vispy/scene/events.py +0 -0
  608. {vispy-0.14.1 → vispy-0.14.3}/vispy/scene/node.py +0 -0
  609. {vispy-0.14.1 → vispy-0.14.3}/vispy/scene/subscene.py +0 -0
  610. {vispy-0.14.1 → vispy-0.14.3}/vispy/scene/tests/__init__.py +0 -0
  611. {vispy-0.14.1 → vispy-0.14.3}/vispy/scene/tests/test_canvas.py +0 -0
  612. {vispy-0.14.1 → vispy-0.14.3}/vispy/scene/tests/test_node.py +0 -0
  613. {vispy-0.14.1 → vispy-0.14.3}/vispy/scene/tests/test_visuals.py +0 -0
  614. {vispy-0.14.1 → vispy-0.14.3}/vispy/scene/visuals.py +0 -0
  615. {vispy-0.14.1 → vispy-0.14.3}/vispy/scene/widgets/__init__.py +0 -0
  616. {vispy-0.14.1 → vispy-0.14.3}/vispy/scene/widgets/anchor.py +0 -0
  617. {vispy-0.14.1 → vispy-0.14.3}/vispy/scene/widgets/axis.py +0 -0
  618. {vispy-0.14.1 → vispy-0.14.3}/vispy/scene/widgets/colorbar.py +0 -0
  619. {vispy-0.14.1 → vispy-0.14.3}/vispy/scene/widgets/console.py +0 -0
  620. {vispy-0.14.1 → vispy-0.14.3}/vispy/scene/widgets/grid.py +0 -0
  621. {vispy-0.14.1 → vispy-0.14.3}/vispy/scene/widgets/label.py +0 -0
  622. {vispy-0.14.1 → vispy-0.14.3}/vispy/scene/widgets/tests/__init__.py +0 -0
  623. {vispy-0.14.1 → vispy-0.14.3}/vispy/scene/widgets/tests/test_colorbar.py +0 -0
  624. {vispy-0.14.1 → vispy-0.14.3}/vispy/scene/widgets/viewbox.py +0 -0
  625. {vispy-0.14.1 → vispy-0.14.3}/vispy/scene/widgets/widget.py +0 -0
  626. {vispy-0.14.1 → vispy-0.14.3}/vispy/testing/__init__.py +0 -0
  627. {vispy-0.14.1 → vispy-0.14.3}/vispy/testing/_testing.py +0 -0
  628. {vispy-0.14.1 → vispy-0.14.3}/vispy/testing/rendered_array_tester.py +0 -0
  629. {vispy-0.14.1 → vispy-0.14.3}/vispy/testing/tests/__init__.py +0 -0
  630. {vispy-0.14.1 → vispy-0.14.3}/vispy/testing/tests/test_testing.py +0 -0
  631. {vispy-0.14.1 → vispy-0.14.3}/vispy/util/bunch.py +0 -0
  632. {vispy-0.14.1 → vispy-0.14.3}/vispy/util/check_environment.py +0 -0
  633. {vispy-0.14.1 → vispy-0.14.3}/vispy/util/config.py +0 -0
  634. {vispy-0.14.1 → vispy-0.14.3}/vispy/util/dpi/__init__.py +0 -0
  635. {vispy-0.14.1 → vispy-0.14.3}/vispy/util/dpi/_linux.py +0 -0
  636. {vispy-0.14.1 → vispy-0.14.3}/vispy/util/dpi/_quartz.py +0 -0
  637. {vispy-0.14.1 → vispy-0.14.3}/vispy/util/dpi/_win32.py +0 -0
  638. {vispy-0.14.1 → vispy-0.14.3}/vispy/util/dpi/tests/__init__.py +0 -0
  639. {vispy-0.14.1 → vispy-0.14.3}/vispy/util/dpi/tests/test_dpi.py +0 -0
  640. {vispy-0.14.1 → vispy-0.14.3}/vispy/util/eq.py +0 -0
  641. {vispy-0.14.1 → vispy-0.14.3}/vispy/util/event.py +0 -0
  642. {vispy-0.14.1 → vispy-0.14.3}/vispy/util/fetching.py +0 -0
  643. {vispy-0.14.1 → vispy-0.14.3}/vispy/util/filter.py +0 -0
  644. {vispy-0.14.1 → vispy-0.14.3}/vispy/util/fonts/__init__.py +0 -0
  645. {vispy-0.14.1 → vispy-0.14.3}/vispy/util/fonts/_freetype.py +0 -0
  646. {vispy-0.14.1 → vispy-0.14.3}/vispy/util/fonts/_quartz.py +0 -0
  647. {vispy-0.14.1 → vispy-0.14.3}/vispy/util/fonts/_triage.py +0 -0
  648. {vispy-0.14.1 → vispy-0.14.3}/vispy/util/fonts/_vispy_fonts.py +0 -0
  649. {vispy-0.14.1 → vispy-0.14.3}/vispy/util/fonts/_win32.py +0 -0
  650. {vispy-0.14.1 → vispy-0.14.3}/vispy/util/fonts/data/OpenSans-Bold.ttf +0 -0
  651. {vispy-0.14.1 → vispy-0.14.3}/vispy/util/fonts/data/OpenSans-BoldItalic.ttf +0 -0
  652. {vispy-0.14.1 → vispy-0.14.3}/vispy/util/fonts/data/OpenSans-Italic.ttf +0 -0
  653. {vispy-0.14.1 → vispy-0.14.3}/vispy/util/fonts/data/OpenSans-Regular.ttf +0 -0
  654. {vispy-0.14.1 → vispy-0.14.3}/vispy/util/fonts/tests/__init__.py +0 -0
  655. {vispy-0.14.1 → vispy-0.14.3}/vispy/util/fonts/tests/test_font.py +0 -0
  656. {vispy-0.14.1 → vispy-0.14.3}/vispy/util/fourier.py +0 -0
  657. {vispy-0.14.1 → vispy-0.14.3}/vispy/util/frozen.py +0 -0
  658. {vispy-0.14.1 → vispy-0.14.3}/vispy/util/gallery_scraper.py +0 -0
  659. {vispy-0.14.1 → vispy-0.14.3}/vispy/util/keys.py +0 -0
  660. {vispy-0.14.1 → vispy-0.14.3}/vispy/util/logs.py +0 -0
  661. {vispy-0.14.1 → vispy-0.14.3}/vispy/util/osmesa_gl.py +0 -0
  662. {vispy-0.14.1 → vispy-0.14.3}/vispy/util/profiler.py +0 -0
  663. {vispy-0.14.1 → vispy-0.14.3}/vispy/util/ptime.py +0 -0
  664. {vispy-0.14.1 → vispy-0.14.3}/vispy/util/quaternion.py +0 -0
  665. {vispy-0.14.1 → vispy-0.14.3}/vispy/util/svg/__init__.py +0 -0
  666. {vispy-0.14.1 → vispy-0.14.3}/vispy/util/svg/base.py +0 -0
  667. {vispy-0.14.1 → vispy-0.14.3}/vispy/util/svg/color.py +0 -0
  668. {vispy-0.14.1 → vispy-0.14.3}/vispy/util/svg/element.py +0 -0
  669. {vispy-0.14.1 → vispy-0.14.3}/vispy/util/svg/geometry.py +0 -0
  670. {vispy-0.14.1 → vispy-0.14.3}/vispy/util/svg/group.py +0 -0
  671. {vispy-0.14.1 → vispy-0.14.3}/vispy/util/svg/length.py +0 -0
  672. {vispy-0.14.1 → vispy-0.14.3}/vispy/util/svg/number.py +0 -0
  673. {vispy-0.14.1 → vispy-0.14.3}/vispy/util/svg/path.py +0 -0
  674. {vispy-0.14.1 → vispy-0.14.3}/vispy/util/svg/shapes.py +0 -0
  675. {vispy-0.14.1 → vispy-0.14.3}/vispy/util/svg/style.py +0 -0
  676. {vispy-0.14.1 → vispy-0.14.3}/vispy/util/svg/svg.py +0 -0
  677. {vispy-0.14.1 → vispy-0.14.3}/vispy/util/svg/transform.py +0 -0
  678. {vispy-0.14.1 → vispy-0.14.3}/vispy/util/svg/transformable.py +0 -0
  679. {vispy-0.14.1 → vispy-0.14.3}/vispy/util/svg/viewport.py +0 -0
  680. {vispy-0.14.1 → vispy-0.14.3}/vispy/util/tests/__init__.py +0 -0
  681. {vispy-0.14.1 → vispy-0.14.3}/vispy/util/tests/test_config.py +0 -0
  682. {vispy-0.14.1 → vispy-0.14.3}/vispy/util/tests/test_docstring_parameters.py +0 -0
  683. {vispy-0.14.1 → vispy-0.14.3}/vispy/util/tests/test_emitter_group.py +0 -0
  684. {vispy-0.14.1 → vispy-0.14.3}/vispy/util/tests/test_event_emitter.py +0 -0
  685. {vispy-0.14.1 → vispy-0.14.3}/vispy/util/tests/test_fourier.py +0 -0
  686. {vispy-0.14.1 → vispy-0.14.3}/vispy/util/tests/test_gallery_scraper.py +0 -0
  687. {vispy-0.14.1 → vispy-0.14.3}/vispy/util/tests/test_import.py +0 -0
  688. {vispy-0.14.1 → vispy-0.14.3}/vispy/util/tests/test_key.py +0 -0
  689. {vispy-0.14.1 → vispy-0.14.3}/vispy/util/tests/test_logging.py +0 -0
  690. {vispy-0.14.1 → vispy-0.14.3}/vispy/util/tests/test_run.py +0 -0
  691. {vispy-0.14.1 → vispy-0.14.3}/vispy/util/tests/test_transforms.py +0 -0
  692. {vispy-0.14.1 → vispy-0.14.3}/vispy/util/tests/test_vispy.py +0 -0
  693. {vispy-0.14.1 → vispy-0.14.3}/vispy/util/transforms.py +0 -0
  694. {vispy-0.14.1 → vispy-0.14.3}/vispy/util/wrappers.py +0 -0
  695. {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/__init__.py +0 -0
  696. {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/axis.py +0 -0
  697. {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/border.py +0 -0
  698. {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/box.py +0 -0
  699. {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/collections/__init__.py +0 -0
  700. {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/collections/agg_fast_path_collection.py +0 -0
  701. {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/collections/agg_path_collection.py +0 -0
  702. {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/collections/agg_point_collection.py +0 -0
  703. {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/collections/agg_segment_collection.py +0 -0
  704. {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/collections/base_collection.py +0 -0
  705. {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/collections/collection.py +0 -0
  706. {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/collections/path_collection.py +0 -0
  707. {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/collections/point_collection.py +0 -0
  708. {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/collections/polygon_collection.py +0 -0
  709. {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/collections/raw_path_collection.py +0 -0
  710. {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/collections/raw_point_collection.py +0 -0
  711. {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/collections/raw_polygon_collection.py +0 -0
  712. {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/collections/raw_segment_collection.py +0 -0
  713. {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/collections/raw_triangle_collection.py +0 -0
  714. {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/collections/segment_collection.py +0 -0
  715. {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/collections/triangle_collection.py +0 -0
  716. {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/collections/util.py +0 -0
  717. {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/colorbar.py +0 -0
  718. {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/cube.py +0 -0
  719. {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/filters/__init__.py +0 -0
  720. {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/filters/base_filter.py +0 -0
  721. {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/filters/clipper.py +0 -0
  722. {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/filters/clipping_planes.py +0 -0
  723. {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/filters/color.py +0 -0
  724. {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/filters/markers.py +0 -0
  725. {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/filters/mesh.py +0 -0
  726. {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/filters/picking.py +0 -0
  727. {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/filters/tests/__init__.py +0 -0
  728. {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/filters/tests/test_primitive_picking_filters.py +0 -0
  729. {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/filters/tests/test_wireframe_filter.py +0 -0
  730. {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/glsl/__init__.py +0 -0
  731. {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/glsl/antialiasing.py +0 -0
  732. {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/glsl/color.py +0 -0
  733. {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/graphs/__init__.py +0 -0
  734. {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/graphs/graph.py +0 -0
  735. {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/graphs/layouts/__init__.py +0 -0
  736. {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/graphs/layouts/circular.py +0 -0
  737. {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/graphs/layouts/force_directed.py +0 -0
  738. {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/graphs/layouts/networkx_layout.py +0 -0
  739. {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/graphs/layouts/random.py +0 -0
  740. {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/graphs/tests/__init__.py +0 -0
  741. {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/graphs/tests/test_layouts.py +0 -0
  742. {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/graphs/tests/test_networkx_layout.py +0 -0
  743. {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/graphs/util.py +0 -0
  744. {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/gridlines.py +0 -0
  745. {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/gridmesh.py +0 -0
  746. {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/histogram.py +0 -0
  747. {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/image_complex.py +0 -0
  748. {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/infinite_line.py +0 -0
  749. {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/instanced_mesh.py +0 -0
  750. {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/isocurve.py +0 -0
  751. {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/isoline.py +0 -0
  752. {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/isosurface.py +0 -0
  753. {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/line/__init__.py +0 -0
  754. {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/line/arrow.py +0 -0
  755. {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/line/dash_atlas.py +0 -0
  756. {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/line/line.py +0 -0
  757. {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/line_plot.py +0 -0
  758. {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/linear_region.py +0 -0
  759. {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/mesh.py +0 -0
  760. {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/mesh_normals.py +0 -0
  761. {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/plane.py +0 -0
  762. {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/polygon.py +0 -0
  763. {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/rectangle.py +0 -0
  764. {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/regular_polygon.py +0 -0
  765. {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/scrolling_lines.py +0 -0
  766. {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/shaders/__init__.py +0 -0
  767. {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/shaders/compiler.py +0 -0
  768. {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/shaders/expression.py +0 -0
  769. {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/shaders/function.py +0 -0
  770. {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/shaders/multiprogram.py +0 -0
  771. {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/shaders/parsing.py +0 -0
  772. {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/shaders/program.py +0 -0
  773. {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/shaders/shader_object.py +0 -0
  774. {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/shaders/tests/__init__.py +0 -0
  775. {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/shaders/tests/test_function.py +0 -0
  776. {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/shaders/tests/test_multiprogram.py +0 -0
  777. {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/shaders/tests/test_parsing.py +0 -0
  778. {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/shaders/variable.py +0 -0
  779. {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/spectrogram.py +0 -0
  780. {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/sphere.py +0 -0
  781. {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/tests/__init__.py +0 -0
  782. {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/tests/test_arrows.py +0 -0
  783. {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/tests/test_axis.py +0 -0
  784. {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/tests/test_collections.py +0 -0
  785. {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/tests/test_colorbar.py +0 -0
  786. {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/tests/test_colormap.py +0 -0
  787. {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/tests/test_ellipse.py +0 -0
  788. {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/tests/test_histogram.py +0 -0
  789. {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/tests/test_image.py +0 -0
  790. {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/tests/test_image_complex.py +0 -0
  791. {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/tests/test_infinite_line.py +0 -0
  792. {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/tests/test_instanced_mesh.py +0 -0
  793. {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/tests/test_isosurface.py +0 -0
  794. {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/tests/test_linear_region.py +0 -0
  795. {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/tests/test_markers.py +0 -0
  796. {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/tests/test_mesh.py +0 -0
  797. {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/tests/test_mesh_normals.py +0 -0
  798. {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/tests/test_polygon.py +0 -0
  799. {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/tests/test_rectangle.py +0 -0
  800. {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/tests/test_regular_polygon.py +0 -0
  801. {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/tests/test_scalable_textures.py +0 -0
  802. {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/tests/test_sdf.py +0 -0
  803. {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/tests/test_spectrogram.py +0 -0
  804. {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/tests/test_text.py +0 -0
  805. {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/tests/test_volume.py +0 -0
  806. {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/tests/test_windbarb.py +0 -0
  807. {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/text/__init__.py +0 -0
  808. {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/text/_sdf_gpu.py +0 -0
  809. {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/text/text.py +0 -0
  810. {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/transforms/__init__.py +0 -0
  811. {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/transforms/_util.py +0 -0
  812. {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/transforms/base_transform.py +0 -0
  813. {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/transforms/chain.py +0 -0
  814. {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/transforms/interactive.py +0 -0
  815. {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/transforms/linear.py +0 -0
  816. {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/transforms/nonlinear.py +0 -0
  817. {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/transforms/tests/__init__.py +0 -0
  818. {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/transforms/tests/test_transforms.py +0 -0
  819. {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/transforms/transform_system.py +0 -0
  820. {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/tube.py +0 -0
  821. {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/visual.py +0 -0
  822. {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/windbarb.py +0 -0
  823. {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/xyz_axis.py +0 -0
  824. {vispy-0.14.1 → vispy-0.14.3}/vispy.egg-info/dependency_links.txt +0 -0
  825. {vispy-0.14.1 → vispy-0.14.3}/vispy.egg-info/not-zip-safe +0 -0
  826. {vispy-0.14.1 → vispy-0.14.3}/vispy.egg-info/top_level.txt +0 -0
@@ -23,8 +23,9 @@ jobs:
23
23
  name: OpenGL checks
24
24
  runs-on: ubuntu-latest
25
25
  defaults:
26
+ # use login shell to make use of .bash_profile /.bashrc
26
27
  run:
27
- shell: bash -l {0}
28
+ shell: bash --login -e {0}
28
29
  steps:
29
30
  - name: Install OpenGL
30
31
  run: |
@@ -51,7 +52,7 @@ jobs:
51
52
  steps:
52
53
  - uses: actions/checkout@v4
53
54
  - name: Set up Python
54
- uses: actions/setup-python@v4
55
+ uses: actions/setup-python@v5
55
56
  with:
56
57
  python-version: 3.9
57
58
  - name: Install dependencies
@@ -66,7 +67,8 @@ jobs:
66
67
  python make test lineendings
67
68
  - name: Lint with flake8
68
69
  run: |
69
- python make test flake
70
+ # FIXME: deliberately ignore linting errors for now
71
+ python make test flake || true
70
72
  # FIXME: Re-enable this when all docstrings are fixed
71
73
  # - name: Test docstring parameters
72
74
  # run: |
@@ -79,13 +81,13 @@ jobs:
79
81
  defaults:
80
82
  # use login shell to make use of .bash_profile /.bashrc
81
83
  run:
82
- shell: bash -l {0}
84
+ shell: bash --login -e {0}
83
85
  steps:
84
86
  - uses: actions/checkout@v4
85
87
  with:
86
88
  fetch-depth: 0
87
89
  - name: Cache VisPy Demo and Test Data
88
- uses: actions/cache@v3
90
+ uses: actions/cache@v4
89
91
  env:
90
92
  cache-name: cache-vispy-data-website
91
93
  test-version: 1
@@ -111,7 +113,7 @@ jobs:
111
113
  sleep 5
112
114
  # export python_version
113
115
  echo "python_version=310" >> $GITHUB_OUTPUT
114
- - uses: mamba-org/provision-with-micromamba@v16
116
+ - uses: mamba-org/setup-micromamba@v1
115
117
  with:
116
118
  environment-file: ./ci/requirements/py${{ steps.vars.outputs.python_version }}.yml
117
119
  - name: Install conda-dependencies
@@ -137,7 +139,7 @@ jobs:
137
139
  export XDG_RUNTIME_DIR=/tmp/runtime-runner
138
140
  source ./ci/build_website.sh
139
141
  - name: Upload website HTML artifact
140
- uses: actions/upload-artifact@v3
142
+ uses: actions/upload-artifact@v4
141
143
  with:
142
144
  name: Sphinx Website
143
145
  path: |
@@ -145,7 +147,7 @@ jobs:
145
147
  retention-days: 1
146
148
  - name: deploy website
147
149
  if: github.event_name == 'push'
148
- uses: peaceiris/actions-gh-pages@v3
150
+ uses: peaceiris/actions-gh-pages@v4
149
151
  with:
150
152
  personal_token: ${{ secrets.VISPY_WEBSITE_TOKEN }}
151
153
  publish_dir: doc/_build/html
@@ -163,23 +165,23 @@ jobs:
163
165
  defaults:
164
166
  # use login shell to make use of .bash_profile /.bashrc
165
167
  run:
166
- shell: bash -l {0}
168
+ shell: bash --login -e {0}
167
169
  strategy:
168
170
  fail-fast: false
169
171
  matrix:
170
172
  include:
171
173
  - test_number: 1
172
- python_version: "3.8"
174
+ python_version: "3.9"
173
175
  deps: "min"
174
176
  test: "standard"
175
177
  new_qt: false
176
178
  - test_number: 2
177
- python_version: "3.8"
179
+ python_version: "3.9"
178
180
  deps: "full"
179
181
  test: "standard"
180
182
  new_qt: false
181
183
  - test_number: 3
182
- python_version: "3.8"
184
+ python_version: "3.9"
183
185
  deps: "osmesa"
184
186
  test: "osmesa"
185
187
  new_qt: false
@@ -193,7 +195,7 @@ jobs:
193
195
  with:
194
196
  fetch-depth: 0
195
197
  - name: Cache VisPy Demo and Test Data
196
- uses: actions/cache@v3
198
+ uses: actions/cache@v4
197
199
  env:
198
200
  cache-name: cache-vispy-data-${{ matrix.test }}
199
201
  test-version: 2
@@ -225,7 +227,7 @@ jobs:
225
227
  # export python_version
226
228
  PY_VER=${{ matrix.python_version }}
227
229
  echo "python_version=${PY_VER//.}" >> $GITHUB_OUTPUT
228
- - uses: mamba-org/provision-with-micromamba@v16
230
+ - uses: mamba-org/setup-micromamba@v1
229
231
  with:
230
232
  environment-file: ./ci/requirements/py${{ steps.vars.outputs.python_version }}.yml
231
233
  - name: Install conda-dependencies
@@ -254,7 +256,7 @@ jobs:
254
256
  export DISPLAY=:99.0
255
257
  fi
256
258
  if [ "${{ matrix.test }}" == 'osmesa' ]; then
257
- export OSMESA_LIBRARY=~/micromamba-root/envs/vispy-tests/lib/libOSMesa32.so;
259
+ export OSMESA_LIBRARY=~/micromamba/envs/vispy-tests/lib/libOSMesa.so;
258
260
  export VISPY_GL_LIB=$OSMESA_LIBRARY
259
261
  fi
260
262
  micromamba list
@@ -267,7 +269,7 @@ jobs:
267
269
  python make test unit --tb=short
268
270
  fi
269
271
  if [ "${{ matrix.test }}" == 'osmesa' ]; then
270
- export OSMESA_LIBRARY=~/micromamba-root/envs/vispy-tests/lib/libOSMesa32.so
272
+ export OSMESA_LIBRARY=~/micromamba/envs/vispy-tests/lib/libOSMesa.so
271
273
  export VISPY_GL_LIB=$OSMESA_LIBRARY
272
274
  make osmesa
273
275
  fi
@@ -27,16 +27,16 @@ jobs:
27
27
  if: ${{ matrix.arch == 'aarch64' }}
28
28
  uses: docker/setup-qemu-action@v3
29
29
  - name: Build wheels
30
- uses: pypa/cibuildwheel@v2.16.1
30
+ uses: pypa/cibuildwheel@v2.18.1
31
31
  env:
32
- CIBW_SKIP: "cp36-* pp* *-win32 *-manylinux_i686 *-musllinux*"
32
+ CIBW_SKIP: "pp* *-win32 *-manylinux_i686 *-musllinux*"
33
33
  CIBW_ARCHS_LINUX: ${{ matrix.arch }}
34
34
  CIBW_TEST_REQUIRES: "pytest pytest-sugar meshio pillow sphinx_gallery imageio"
35
35
  CIBW_TEST_COMMAND: "python -c \"import vispy; vispy.test('nobackend')\""
36
36
  CIBW_BUILD_VERBOSITY: "2"
37
37
  # Get numpy release candidate to have Python 3.12 compatibility (hopefully)
38
- CIBW_BEFORE_BUILD: "pip install -U Cython pip setuptools; pip install -U --pre numpy"
39
- CIBW_BEFORE_TEST: "pip install -U Cython pip setuptools; pip install -U --pre numpy"
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
40
  #CIBW_BEFORE_BUILD_MACOS: "pip install -U pip setuptools"
41
41
  CIBW_BEFORE_BUILD_LINUX: "yum install -y fontconfig || apk add fontconfig-dev jpeg-dev; pip install freetype-py"
42
42
  # If freetype-py is installed from source (no wheel found), include bundled freetype library
@@ -46,8 +46,9 @@ jobs:
46
46
  CIBW_MANYLINUX_I686_IMAGE: manylinux2014
47
47
  CIBW_ARCHS_MACOS: 'x86_64 arm64'
48
48
  CIBW_TEST_SKIP: '*-macosx_arm64'
49
- - uses: actions/upload-artifact@v3
49
+ - uses: actions/upload-artifact@v4
50
50
  with:
51
+ name: wheels-${{ matrix.os }}-${{ matrix.arch }}
51
52
  path: ./wheelhouse/*.whl
52
53
 
53
54
  build_sdist:
@@ -57,30 +58,47 @@ jobs:
57
58
  - uses: actions/checkout@v4
58
59
  with:
59
60
  fetch-depth: 0
60
- - uses: actions/setup-python@v4
61
+ - uses: actions/setup-python@v5
61
62
  name: Install Python
62
63
  with:
63
- python-version: '3.7'
64
+ python-version: '3.9'
64
65
  - name: Build sdist
65
66
  run: |
66
67
  python -m pip install --upgrade pip setuptools build wheel
67
68
  python -m pip install numpy Cython
68
69
  python -m build -s -o dist/
69
- - uses: actions/upload-artifact@v3
70
+ - uses: actions/upload-artifact@v4
70
71
  with:
72
+ name: sdist
71
73
  path: dist/*.tar.gz
72
74
 
73
75
  upload_test_pypi:
74
76
  needs: [build_wheels, build_sdist]
75
77
  runs-on: ubuntu-latest
76
- # upload to Test PyPI for every commit on main branch
77
- if: github.event_name == 'push' && github.event.ref == 'refs/heads/main'
78
78
  steps:
79
- - uses: actions/download-artifact@v3
79
+ - uses: actions/download-artifact@v4
80
80
  with:
81
- name: artifact
81
+ name: sdist
82
+ path: dist
83
+ - uses: actions/download-artifact@v4
84
+ 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
82
98
  path: dist
83
99
  - uses: pypa/gh-action-pypi-publish@master
100
+ # upload to Test PyPI for every commit on main branch
101
+ if: github.event_name == 'push' && github.event.ref == 'refs/heads/main'
84
102
  with:
85
103
  user: __token__
86
104
  password: ${{ secrets.VISPY_TEST_PYPI_TOKEN }}
@@ -89,16 +107,30 @@ jobs:
89
107
  upload_pypi:
90
108
  needs: [build_wheels, build_sdist]
91
109
  runs-on: ubuntu-latest
92
- # upload to PyPI on every tag starting with 'v'
93
- if: github.event_name == 'push' && startsWith(github.event.ref, 'refs/tags/v')
94
- # alternatively, to publish when a GitHub Release is created, use the following rule:
95
- # if: github.event_name == 'release' && github.event.action == 'published'
96
110
  steps:
97
- - uses: actions/download-artifact@v3
98
- with:
99
- name: artifact
100
- path: dist
101
- - uses: pypa/gh-action-pypi-publish@master
102
- with:
103
- user: __token__
104
- password: ${{ secrets.VISPY_PYPI_TOKEN }}
111
+ - uses: actions/download-artifact@v4
112
+ with:
113
+ name: sdist
114
+ path: dist
115
+ - uses: actions/download-artifact@v4
116
+ 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
130
+ path: dist
131
+ - uses: pypa/gh-action-pypi-publish@master
132
+ # upload to PyPI on every tag starting with 'v'
133
+ if: github.event_name == 'push' && startsWith(github.event.ref, 'refs/tags/v')
134
+ with:
135
+ user: __token__
136
+ password: ${{ secrets.VISPY_PYPI_TOKEN }}
@@ -29,4 +29,5 @@ node_modules/
29
29
  vispy/static/
30
30
  vispy/version.py
31
31
  .vscode
32
- vispy/visuals/text/_sdf_cpu*.pyd
32
+ vispy/visuals/text/_sdf_cpu*.pyd
33
+ .spyproject
@@ -1,5 +1,53 @@
1
1
  # Release Notes
2
2
 
3
+
4
+ ## [v0.14.3](https://github.com/vispy/vispy/tree/v0.14.3) (2024-06-17)
5
+
6
+ **Enhancements:**
7
+
8
+ - Clip step size based on maximum detail on an 8K monitor [\#2589](https://github.com/vispy/vispy/pull/2589) ([jni](https://github.com/jni))
9
+
10
+ **Fixed bugs:**
11
+
12
+ - Fix integral computation in attenuated mip [\#2588](https://github.com/vispy/vispy/pull/2588) ([jni](https://github.com/jni))
13
+ - Reset VertexAttribDivisor even if None [\#2583](https://github.com/vispy/vispy/pull/2583) ([aganders3](https://github.com/aganders3))
14
+
15
+ **Merged pull requests:**
16
+
17
+ - Fix CI: failing tests and linting errors not failing checks [\#2597](https://github.com/vispy/vispy/pull/2597) ([aganders3](https://github.com/aganders3))
18
+ - Bump pypa/cibuildwheel from 2.18.0 to 2.18.1 [\#2586](https://github.com/vispy/vispy/pull/2586) ([dependabot[bot]](https://github.com/apps/dependabot))
19
+ - Bump pypa/cibuildwheel from 2.17.0 to 2.18.0 [\#2584](https://github.com/vispy/vispy/pull/2584) ([dependabot[bot]](https://github.com/apps/dependabot))
20
+ - Bump peaceiris/actions-gh-pages from 3 to 4 [\#2582](https://github.com/vispy/vispy/pull/2582) ([dependabot[bot]](https://github.com/apps/dependabot))
21
+ - Fix gallery link in README.rst [\#2579](https://github.com/vispy/vispy/pull/2579) ([inigoalonso](https://github.com/inigoalonso))
22
+ - Bump pypa/cibuildwheel from 2.16.5 to 2.17.0 [\#2578](https://github.com/vispy/vispy/pull/2578) ([dependabot[bot]](https://github.com/apps/dependabot))
23
+
24
+
25
+ ## [v0.14.2](https://github.com/vispy/vispy/tree/v0.14.2) (2024-03-14)
26
+
27
+ **Enhancements:**
28
+
29
+ - Radius of ellipse can now be specified as numpy.array [\#2561](https://github.com/vispy/vispy/pull/2561) ([ullmannJan](https://github.com/ullmannJan))
30
+ - Add ivec2, ivec3, ivec4 to ATYPEINFO in glir.py [\#2545](https://github.com/vispy/vispy/pull/2545) ([hmaarrfk](https://github.com/hmaarrfk))
31
+ - Improve Markers symbols validation performance [\#2533](https://github.com/vispy/vispy/pull/2533) ([Czaki](https://github.com/Czaki))
32
+
33
+ **Fixed bugs:**
34
+
35
+ - Correction to Vispy.Visuals.Markers.set\_data [\#2565](https://github.com/vispy/vispy/pull/2565) ([c40zAtGitHub](https://github.com/c40zAtGitHub))
36
+ - Fix SurfacePlotVisual not allowing 2D x and y inputs [\#2554](https://github.com/vispy/vispy/pull/2554) ([ullmannJan](https://github.com/ullmannJan))
37
+ - Change `devicePixelRatio` calls to `devicePixelRatioF` to get a floating point number instead of an integer [\#2540](https://github.com/vispy/vispy/pull/2540) ([dalthviz](https://github.com/dalthviz))
38
+
39
+ **Merged pull requests:**
40
+
41
+ - Fix a few typos in the docs [\#2573](https://github.com/vispy/vispy/pull/2573) ([kraasch](https://github.com/kraasch))
42
+ - Bump pypa/cibuildwheel from 2.16.4 to 2.16.5 [\#2572](https://github.com/vispy/vispy/pull/2572) ([dependabot[bot]](https://github.com/apps/dependabot))
43
+ - Bump pypa/cibuildwheel from 2.16.2 to 2.16.4 [\#2571](https://github.com/vispy/vispy/pull/2571) ([dependabot[bot]](https://github.com/apps/dependabot))
44
+ - Bump actions/cache from 3 to 4 [\#2569](https://github.com/vispy/vispy/pull/2569) ([dependabot[bot]](https://github.com/apps/dependabot))
45
+ - Fix typo in plot widget error message [\#2563](https://github.com/vispy/vispy/pull/2563) ([jeertmans](https://github.com/jeertmans))
46
+ - Bump actions/upload-artifact from 3 to 4 [\#2559](https://github.com/vispy/vispy/pull/2559) ([dependabot[bot]](https://github.com/apps/dependabot))
47
+ - Bump actions/setup-python from 4 to 5 [\#2556](https://github.com/vispy/vispy/pull/2556) ([dependabot[bot]](https://github.com/apps/dependabot))
48
+ - Bump pypa/cibuildwheel from 2.16.1 to 2.16.2 [\#2536](https://github.com/vispy/vispy/pull/2536) ([dependabot[bot]](https://github.com/apps/dependabot))
49
+
50
+
3
51
  ## [v0.14.1](https://github.com/vispy/vispy/tree/v0.14.1) (2023-10-03)
4
52
 
5
53
  **Fixed bugs:**
@@ -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-2023, Vispy Development Team. All rights reserved.
6
+ Copyright (c) 2013-2024, 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
1
  Metadata-Version: 2.1
2
2
  Name: vispy
3
- Version: 0.14.1
3
+ Version: 0.14.3
4
4
  Summary: Interactive visualization in Python
5
5
  Home-page: http://vispy.org
6
6
  Download-URL: https://pypi.python.org/pypi/vispy
@@ -19,27 +19,54 @@ Classifier: Operating System :: MacOS :: MacOS X
19
19
  Classifier: Operating System :: Microsoft :: Windows
20
20
  Classifier: Operating System :: POSIX
21
21
  Classifier: Programming Language :: Python
22
- Classifier: Programming Language :: Python :: 3.8
23
22
  Classifier: Programming Language :: Python :: 3.9
24
23
  Classifier: Programming Language :: Python :: 3.10
25
24
  Classifier: Programming Language :: Python :: 3.11
25
+ Classifier: Programming Language :: Python :: 3.12
26
26
  Classifier: Framework :: IPython
27
27
  Provides: vispy
28
- Requires-Python: >=3.8
28
+ Requires-Python: >=3.9
29
29
  Description-Content-Type: text/x-rst
30
+ License-File: LICENSE.txt
31
+ Requires-Dist: numpy
32
+ Requires-Dist: freetype-py
33
+ Requires-Dist: hsluv
34
+ Requires-Dist: kiwisolver
35
+ Requires-Dist: packaging
30
36
  Provides-Extra: ipython-static
37
+ Requires-Dist: ipython; extra == "ipython-static"
31
38
  Provides-Extra: pyglet
39
+ Requires-Dist: pyglet>=1.2; extra == "pyglet"
32
40
  Provides-Extra: pyqt5
41
+ Requires-Dist: pyqt5; extra == "pyqt5"
33
42
  Provides-Extra: pyqt6
43
+ Requires-Dist: pyqt6; extra == "pyqt6"
34
44
  Provides-Extra: pyside
45
+ Requires-Dist: PySide; extra == "pyside"
35
46
  Provides-Extra: pyside2
47
+ Requires-Dist: PySide2; extra == "pyside2"
36
48
  Provides-Extra: pyside6
49
+ Requires-Dist: PySide6; extra == "pyside6"
50
+ Provides-Extra: glfw
51
+ Requires-Dist: glfw; extra == "glfw"
37
52
  Provides-Extra: sdl2
53
+ Requires-Dist: PySDL2; extra == "sdl2"
38
54
  Provides-Extra: wx
55
+ Requires-Dist: wxPython; extra == "wx"
39
56
  Provides-Extra: tk
57
+ Requires-Dist: pyopengltk; extra == "tk"
40
58
  Provides-Extra: doc
59
+ Requires-Dist: pydata-sphinx-theme; extra == "doc"
60
+ Requires-Dist: numpydoc; extra == "doc"
61
+ Requires-Dist: sphinxcontrib-apidoc; extra == "doc"
62
+ Requires-Dist: sphinx-gallery; extra == "doc"
63
+ Requires-Dist: myst-parser; extra == "doc"
64
+ Requires-Dist: pillow; extra == "doc"
65
+ Requires-Dist: pytest; extra == "doc"
66
+ Requires-Dist: pyopengl; extra == "doc"
41
67
  Provides-Extra: io
42
- License-File: LICENSE.txt
68
+ Requires-Dist: meshio; extra == "io"
69
+ Requires-Dist: Pillow; extra == "io"
43
70
 
44
71
  VisPy: interactive scientific visualization in Python
45
72
  -----------------------------------------------------
@@ -180,7 +207,7 @@ External links
180
207
  - `Chat room <https://gitter.im/vispy/vispy>`__
181
208
  - `Developer chat room <https://gitter.im/vispy/vispy-dev>`__
182
209
  - `Wiki <http://github.com/vispy/vispy/wiki>`__
183
- - `Gallery <http://vispy.org/gallery.html>`__
210
+ - `Gallery <http://vispy.org/gallery/index.html>`__
184
211
  - `Documentation <http://vispy.readthedocs.org>`__
185
212
 
186
213
  .. |Build Status| image:: https://github.com/vispy/vispy/workflows/CI/badge.svg
@@ -137,7 +137,7 @@ External links
137
137
  - `Chat room <https://gitter.im/vispy/vispy>`__
138
138
  - `Developer chat room <https://gitter.im/vispy/vispy-dev>`__
139
139
  - `Wiki <http://github.com/vispy/vispy/wiki>`__
140
- - `Gallery <http://vispy.org/gallery.html>`__
140
+ - `Gallery <http://vispy.org/gallery/index.html>`__
141
141
  - `Documentation <http://vispy.readthedocs.org>`__
142
142
 
143
143
  .. |Build Status| image:: https://github.com/vispy/vispy/workflows/CI/badge.svg
@@ -1,7 +1,7 @@
1
1
  coveralls
2
2
  cython
3
3
  libglu
4
- mesalib <21.0.0
4
+ mesalib
5
5
  meshio
6
6
  numpy
7
7
  pillow
@@ -2,5 +2,5 @@ name: vispy-tests
2
2
  channels:
3
3
  - conda-forge
4
4
  dependencies:
5
- - python=3.8
5
+ - python=3.9
6
6
  - pip
@@ -15,7 +15,8 @@ from datetime import date
15
15
  import sys
16
16
  import os
17
17
  import re
18
- import warnings
18
+ from pathlib import Path
19
+
19
20
  import vispy
20
21
 
21
22
  # If extensions (or modules to document with autodoc) are in another directory,
@@ -49,8 +50,6 @@ apidoc_excluded_paths = ["../vispy/ext"]
49
50
  apidoc_separate_modules = True
50
51
 
51
52
  # Sphinx Gallery
52
- from sphinx_gallery.sorting import FileNameSortKey
53
-
54
53
  # the following files are ignored from gallery processing
55
54
  ignore_files = ['plotting/export.py',
56
55
  'gloo/geometry_shader.py',
@@ -67,7 +66,7 @@ sphinx_gallery_conf = {
67
66
  'image_scrapers': ('vispy',),
68
67
  'reset_modules': tuple(), # remove default matplotlib/seaborn resetters
69
68
  'first_notebook_cell': '%gui qt', # tell notebooks to use Qt backend
70
- 'within_subsection_order': FileNameSortKey,
69
+ 'within_subsection_order': "FileNameSortKey",
71
70
  }
72
71
  # Let vispy.app.application:Application.run know that we are generating gallery images
73
72
  os.environ["_VISPY_RUNNING_GALLERY_EXAMPLES"] = "1"
@@ -142,41 +141,42 @@ pygments_style = 'sphinx'
142
141
  # a list of builtin themes.
143
142
  html_theme = 'pydata_sphinx_theme'
144
143
 
145
- # Tell the theme where the code lives
146
-
147
-
148
- def _custom_edit_url(github_user, github_repo, github_version, doc_path, file_name, default_edit_page_url_template):
149
- """Create custom 'edit' URLs for API modules since they are dynamically generated."""
150
- if file_name.startswith("api/"):
151
- # this is a dynamically generated API page, link to actual Python source
152
- modpath = os.sep.join(os.path.splitext(file_name[4:])[0].split("."))
153
- if modpath == "modules":
154
- # main package listing
155
- modpath = "vispy"
156
- rel_modpath = os.path.join("..", modpath)
157
- if os.path.isdir(rel_modpath):
158
- doc_path = modpath + "/"
159
- file_name = "__init__.py"
160
- elif os.path.isfile(rel_modpath + ".py"):
161
- doc_path = os.path.dirname(modpath)
162
- file_name = os.path.basename(modpath) + ".py"
163
- else:
164
- warnings.warn(f"Not sure how to generate the API URL for: {file_name}")
165
- return default_edit_page_url_template.format(github_user=github_user,
166
- github_repo=github_repo,
167
- github_version=github_version,
168
- doc_path=doc_path,
169
- file_name=file_name)
170
-
144
+ # Create custom 'edit' URLs for API modules since they are dynamically generated.
145
+ # We precompute this so the values in the `html_context` are static, and it can be cached
146
+ # `modules.rst` is a special case, and we link it to the main `vispy` package
147
+ edit_link_paths = {"api/modules.rst": "vispy/__init__.py"}
148
+ for root, dirs, files in os.walk("../vispy"):
149
+ # remove leading "../"
150
+ root = Path(root).relative_to("..")
151
+ if root.name == "__pycache__":
152
+ continue
153
+ for file in files:
154
+ full_path = root / file
155
+ if full_path.name == "__init__.py":
156
+ package_name = ".".join(root.parts)
157
+ apidoc_file_name = "api" / Path(package_name + ".rst")
158
+ elif full_path.suffix == ".py":
159
+ module_name = ".".join(full_path.with_suffix("").parts)
160
+ apidoc_file_name = "api" / Path(module_name + ".rst")
161
+ edit_link_paths[str(apidoc_file_name)] = full_path
162
+
163
+ edit_page_url_template = """\
164
+ {%- if file_name in edit_link_paths %}
165
+ {% set file_name = edit_link_paths[file_name] %}
166
+ https://github.com/{{github_user}}/{{github_repo}}/edit/{{github_version}}/{{file_name}}
167
+ {%- else %}
168
+ {# the last slash between doc_path and file_name is not needed for non-apidoc files #}
169
+ https://github.com/{{github_user}}/{{github_repo}}/edit/{{github_version}}/{{doc_path}}{{file_name}}
170
+ {%- endif %}
171
+ """
171
172
 
172
173
  html_context = {
173
174
  "github_user": "vispy",
174
175
  "github_repo": "vispy",
175
176
  "github_version": "main",
176
177
  "doc_path": "doc",
177
- "edit_page_url_template": "{{ vispy_custom_edit_url(github_user, github_repo, github_version, doc_path, file_name, default_edit_page_url_template) }}",
178
- "default_edit_page_url_template": "https://github.com/{github_user}/{github_repo}/edit/{github_version}/{doc_path}{file_name}",
179
- "vispy_custom_edit_url": _custom_edit_url,
178
+ "edit_link_paths": edit_link_paths,
179
+ "edit_page_url_template": edit_page_url_template,
180
180
  }
181
181
 
182
182
  # Theme options are theme-specific and customize the look and feel of a theme
@@ -252,7 +252,7 @@ scene such that all objects are withing this direction but it would not be very
252
252
  convenient. So instead, we'll use a view matrix that will map the the world
253
253
  space to camera space. This is pretty much as if we were orienting the camera
254
254
  at a given position and look toward a given direction. In the meantime, we can
255
- further refine the whole pipeline by providing a model matrix that will maps
255
+ further refine the whole pipeline by providing a model matrix that will map
256
256
  the object's local coordinate space into world space. For example, this will be
257
257
  useful for rotating an object around its center. To sum up, we need:
258
258
 
@@ -273,19 +273,20 @@ and not the fixed one.
273
273
  An intro to modern OpenGL
274
274
  -------------------------
275
275
 
276
- OpenGL has been around a long time, and from reading all the accumulated layers
276
+ OpenGL has been around a long time and from reading all the accumulated layers
277
277
  of documentation out there on the Internet, it's not always clear what parts
278
278
  are historic and what parts are still useful and supported on modern graphics
279
- hardware. It's about time for a new OpenGL `introduction that
279
+ hardware. It's about time for a `new OpenGL introduction
280
280
  <http://duriansoftware.com/joe/An-intro-to-modern-OpenGL.-Table-of-Contents.html>`_
281
- walks through the parts that are still relevant today.
281
+ that walks through the parts that are still relevant today.
282
282
 
283
283
 
284
284
  Learning Modern 3D Graphics Programming
285
285
  ---------------------------------------
286
286
 
287
- This `book <https://paroj.github.io/gltut/>`_ is intended to teach you how
288
- to be a graphics programmer. It is not aimed at any particular graphics field;
287
+ The book `Learning Modern 3D Graphics Programming <https://paroj.github.io/gltut/>`_
288
+ by Jason L. McKesson is intended to teach you how to be a graphics programmer.
289
+ It is not aimed at any particular graphics field;
289
290
  it is designed to cover most of the basics of 3D rendering. So if you want to
290
291
  be a game developer, a CAD program designer, do some computer visualization, or
291
292
  any number of things, this book can still be an asset for you. This does not
@@ -301,5 +302,5 @@ OpenGL ES 2.0 documentation
301
302
  the OpenGL 2.0 specification and emphasizes a programmable 3D graphics pipeline
302
303
  with the ability to create shader and program objects and the ability to write
303
304
  vertex and fragment shaders in the OpenGL ES Shading Language. VisPy is based
304
- on OpenGL ES 2.0 because it give access to the programmable pipeline while
305
+ on OpenGL ES 2.0 because it gives access to the programmable pipeline while
305
306
  keeping overall complexity tractable.
@@ -1,8 +1,9 @@
1
1
  [build-system]
2
2
  requires = [
3
3
  "wheel",
4
- "oldest-supported-numpy",
5
4
  "setuptools>=42",
5
+ # see https://numpy.org/devdocs/dev/depending_on_numpy.html#numpy-2-0-specific-advice
6
+ "numpy>=2.0.0rc2",
6
7
  "setuptools_scm[toml]>=7.1",
7
8
  "Cython>=3.0.0"
8
9
  ]
@@ -23,6 +23,7 @@ Announcing:
23
23
  """
24
24
 
25
25
  import os
26
+ import sys
26
27
  from os import path as op
27
28
  from setuptools import setup, find_packages
28
29
 
@@ -59,6 +60,10 @@ extensions = [Extension('vispy.visuals.text._sdf_cpu',
59
60
  ),
60
61
  ]
61
62
 
63
+ install_requires = ['numpy', 'freetype-py', 'hsluv', 'kiwisolver', 'packaging']
64
+ if sys.version_info < (3, 9):
65
+ install_requires.append("importlib-resources")
66
+
62
67
  readme = open('README.rst', 'r').read()
63
68
  setup(
64
69
  name=name,
@@ -91,8 +96,8 @@ setup(
91
96
  long_description_content_type='text/x-rst',
92
97
  platforms='any',
93
98
  provides=['vispy'],
94
- python_requires='>=3.8',
95
- install_requires=['numpy', 'freetype-py', 'hsluv', 'kiwisolver', 'packaging'],
99
+ python_requires='>=3.9',
100
+ install_requires=install_requires,
96
101
  extras_require={
97
102
  'ipython-static': ['ipython'],
98
103
  'pyglet': ['pyglet>=1.2'],
@@ -101,6 +106,7 @@ setup(
101
106
  'pyside': ['PySide'],
102
107
  'pyside2': ['PySide2'],
103
108
  'pyside6': ['PySide6'],
109
+ 'glfw': ['glfw'],
104
110
  'sdl2': ['PySDL2'],
105
111
  'wx': ['wxPython'],
106
112
  'tk': ['pyopengltk'],
@@ -145,10 +151,10 @@ setup(
145
151
  'Operating System :: Microsoft :: Windows',
146
152
  'Operating System :: POSIX',
147
153
  'Programming Language :: Python',
148
- 'Programming Language :: Python :: 3.8',
149
154
  'Programming Language :: Python :: 3.9',
150
155
  'Programming Language :: Python :: 3.10',
151
156
  'Programming Language :: Python :: 3.11',
157
+ 'Programming Language :: Python :: 3.12',
152
158
  'Framework :: IPython'
153
159
  ],
154
160
  )