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.
- {vispy-0.14.1 → vispy-0.14.3}/.github/workflows/main.yml +18 -16
- {vispy-0.14.1 → vispy-0.14.3}/.github/workflows/wheels.yml +56 -24
- {vispy-0.14.1 → vispy-0.14.3}/.gitignore +2 -1
- {vispy-0.14.1 → vispy-0.14.3}/CHANGELOG.md +48 -0
- {vispy-0.14.1 → vispy-0.14.3}/LICENSE.txt +1 -1
- {vispy-0.14.1/vispy.egg-info → vispy-0.14.3}/PKG-INFO +32 -5
- {vispy-0.14.1 → vispy-0.14.3}/README.rst +1 -1
- {vispy-0.14.1 → vispy-0.14.3}/ci/requirements/linux_osmesa_deps_conda.txt +1 -1
- vispy-0.14.1/ci/requirements/py38.yml → vispy-0.14.3/ci/requirements/py39.yml +1 -1
- {vispy-0.14.1 → vispy-0.14.3}/doc/conf.py +33 -33
- {vispy-0.14.1 → vispy-0.14.3}/doc/getting_started/modern-gl.rst +8 -7
- {vispy-0.14.1 → vispy-0.14.3}/pyproject.toml +2 -1
- {vispy-0.14.1 → vispy-0.14.3}/setup.py +9 -3
- {vispy-0.14.1 → vispy-0.14.3}/vispy/app/backends/_qt.py +7 -7
- {vispy-0.14.1 → vispy-0.14.3}/vispy/geometry/__init__.py +1 -1
- {vispy-0.14.1 → vispy-0.14.3}/vispy/geometry/calculations.py +30 -2
- {vispy-0.14.1 → vispy-0.14.3}/vispy/geometry/triangulation.py +4 -2
- {vispy-0.14.1 → vispy-0.14.3}/vispy/gloo/buffer.py +4 -4
- {vispy-0.14.1 → vispy-0.14.3}/vispy/gloo/gl/tests/test_functionality.py +4 -2
- {vispy-0.14.1 → vispy-0.14.3}/vispy/gloo/glir.py +10 -2
- {vispy-0.14.1 → vispy-0.14.3}/vispy/gloo/texture.py +4 -3
- {vispy-0.14.1 → vispy-0.14.3}/vispy/plot/plotwidget.py +1 -1
- {vispy-0.14.1 → vispy-0.14.3}/vispy/testing/_runners.py +3 -1
- {vispy-0.14.1 → vispy-0.14.3}/vispy/testing/image_tester.py +21 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/util/__init__.py +15 -0
- vispy-0.14.3/vispy/version.py +16 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/_scalable_textures.py +2 -1
- {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/collections/array_list.py +4 -4
- {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/ellipse.py +4 -5
- {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/image.py +2 -1
- {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/markers.py +23 -14
- {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/surface_plot.py +2 -2
- vispy-0.14.3/vispy/visuals/tests/test_surface_plot.py +52 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/text/_sdf_cpu.pyx +2 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/volume.py +35 -4
- {vispy-0.14.1 → vispy-0.14.3/vispy.egg-info}/PKG-INFO +32 -5
- {vispy-0.14.1 → vispy-0.14.3}/vispy.egg-info/SOURCES.txt +2 -1
- {vispy-0.14.1 → vispy-0.14.3}/vispy.egg-info/requires.txt +3 -0
- vispy-0.14.1/vispy/version.py +0 -4
- {vispy-0.14.1 → vispy-0.14.3}/.coveragerc +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/.git_archival.txt +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/.gitattributes +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/.github/dependabot.yml +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/.github_changelog_generator +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/CITATION.rst +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/CODE_OF_CONDUCT.md +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/CONTRIBUTING.md +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/MANIFEST.in +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/ci/build_website.sh +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/ci/requirements/linux_full_deps_apt.txt +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/ci/requirements/linux_full_deps_conda.txt +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/ci/requirements/linux_full_deps_pip.txt +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/ci/requirements/linux_full_newqtdeps_apt.txt +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/ci/requirements/linux_full_newqtdeps_conda.txt +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/ci/requirements/linux_full_newqtdeps_pip.txt +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/ci/requirements/linux_min_deps_conda.txt +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/ci/requirements/linux_website_deps_pip.txt +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/ci/requirements/py310.yml +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/doc/.gitignore +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/doc/.nojekyll +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/doc/CNAME +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/doc/Makefile +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/doc/README.rst +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/doc/_static/ViewFrustum.png +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/doc/_static/ViewFrustum.svg +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/doc/_static/carousel/galaxy.png +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/doc/_static/carousel/high-frequency.png +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/doc/_static/carousel/mandelbrot.png +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/doc/_static/carousel/signals.png +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/doc/_static/favicon.ico +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/doc/_static/frustum-matrix.png +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/doc/_static/gl-history.png +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/doc/_static/gl-pipeline.png +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/doc/_static/gl-pipeline.svg +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/doc/_static/ortho-matrix.png +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/doc/_static/perspective-matrix.png +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/doc/_static/style.css +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/doc/_static/vispy-logo-V.png +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/doc/_static/vispy-logo-V.svg +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/doc/_static/vispy-teaser-short.png +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/doc/_static/vispy-teaser-short.svg +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/doc/_static/vispy-teaser.png +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/doc/_static/vispy-teaser.svg +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/doc/_static/vispy-text-white.png +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/doc/_static/vispy-text-white.svg +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/doc/api/.gitkeep +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/doc/community.rst +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/doc/dev_guide/contributor_guide.rst +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/doc/dev_guide/index.rst +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/doc/dev_guide/writing_examples.rst +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/doc/faq.rst +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/doc/gallery/index.rst +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/doc/getting_started/_canvas_app.rst +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/doc/getting_started/gloo.rst +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/doc/getting_started/index.rst +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/doc/getting_started/plot.rst +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/doc/getting_started/scene.rst +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/doc/getting_started/visuals.rst +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/doc/governance/GOVERNANCE.md +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/doc/governance/MAINTAINERS.md +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/doc/index.rst +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/doc/installation.rst +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/doc/news.rst +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/doc/org/ANTITRUST.md +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/doc/org/CHARTER.md +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/doc/org/STEERING-COMMITTEE.md +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/doc/org/TRADEMARKS.md +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/doc/overview.rst +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/doc/raspberry.rst +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/doc/resources.rst +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/doc/roadmap.rst +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/doc/thirdparty.rst +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/README.rst +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/basics/scene/modular_shaders/editor.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/basics/scene/modular_shaders/sandbox.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/basics/scene/shared_context.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/basics/scene/stereo.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/basics/visuals/arcball.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/basics/visuals/arrows.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/basics/visuals/arrows_quiver.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/basics/visuals/axially_symmetric_surfaces.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/basics/visuals/bezier.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/basics/visuals/box.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/basics/visuals/colorbar_visual.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/basics/visuals/colorbar_visual_types.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/basics/visuals/custom_visual.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/basics/visuals/dynamic_polygon.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/basics/visuals/graph.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/basics/visuals/grid_mesh.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/basics/visuals/image_transforms.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/basics/visuals/image_visual.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/basics/visuals/line.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/basics/visuals/line_draw.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/basics/visuals/line_plot.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/basics/visuals/line_plot3d.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/basics/visuals/line_plot_axes.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/basics/visuals/line_prototype.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/basics/visuals/line_transform.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/basics/visuals/markers.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/basics/visuals/mesh.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/basics/visuals/networkx_layout.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/basics/visuals/plane.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/basics/visuals/polygon_visual.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/basics/visuals/rescalingmarkers.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/basics/visuals/rotating_box.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/basics/visuals/text_scatter.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/basics/visuals/text_visual.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/basics/visuals/tube.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/basics/visuals/visual_filters.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/basics/visuals/windbarb_quiver.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/benchmark/scene_test_1.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/benchmark/scene_test_2.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/benchmark/simple_glut.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/benchmark/simple_vispy.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/collections/chloropleth.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/collections/path_collection.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/collections/point_collection.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/collections/polygon_collection.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/collections/segment_collection.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/collections/tiger.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/collections/triangle_collection.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/demo/gloo/atom.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/demo/gloo/boids.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/demo/gloo/brain.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/demo/gloo/camera.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/demo/gloo/cloud.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/demo/gloo/donut.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/demo/gloo/fireworks.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/demo/gloo/galaxy/galaxy.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/demo/gloo/galaxy/galaxy_simulation.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/demo/gloo/galaxy/galaxy_specrend.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/demo/gloo/galaxy.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/demo/gloo/game_of_life.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/demo/gloo/glsl_sandbox_cube.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/demo/gloo/graph.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/demo/gloo/grayscott.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/demo/gloo/high_frequency.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/demo/gloo/imshow.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/demo/gloo/imshow_cuts.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/demo/gloo/jfa/fragment_display.glsl +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/demo/gloo/jfa/fragment_flood.glsl +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/demo/gloo/jfa/fragment_seed.glsl +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/demo/gloo/jfa/jfa_translation.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/demo/gloo/jfa/jfa_vispy.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/demo/gloo/jfa/vertex.glsl +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/demo/gloo/jfa/vertex_vispy.glsl +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/demo/gloo/mandelbrot.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/demo/gloo/mandelbrot_double.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/demo/gloo/molecular_viewer.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/demo/gloo/ndscatter.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/demo/gloo/offscreen.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/demo/gloo/primitive_mesh_viewer_qt.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/demo/gloo/quiver.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/demo/gloo/rain.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/demo/gloo/raytracing.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/demo/gloo/realtime_signals.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/demo/gloo/signals.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/demo/gloo/skybox.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/demo/gloo/spacy.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/demo/gloo/terrain.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/demo/gloo/two_qt_widgets.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/demo/gloo/unstructured_2d.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/demo/gloo/voronoi.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/demo/plot/plot.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/demo/scene/flow_lines.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/demo/scene/force_directed_graph.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/demo/scene/klein.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/demo/scene/oscilloscope.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/demo/scene/picking.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/demo/scene/scrolling_plots.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/demo/visuals/wiggly_bar.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/gloo/README.rst +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/gloo/animate_images.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/gloo/animate_images_slice.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/gloo/animate_shape.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/gloo/colored_cube.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/gloo/colored_cube_instanced.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/gloo/colored_quad.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/gloo/display_lines.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/gloo/display_points.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/gloo/display_shape.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/gloo/geometry_shader.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/gloo/gl/README.rst +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/gloo/gl/cube.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/gloo/gl/fireworks.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/gloo/gl/quad.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/gloo/gl/quad_instanced.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/gloo/gpuimage.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/gloo/hello_fbo.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/gloo/lighted_cube.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/gloo/multi_texture.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/gloo/outlined_cube.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/gloo/post_processing.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/gloo/rotate_cube.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/gloo/rotating_quad.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/gloo/spatial_filters.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/gloo/start.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/gloo/start_shaders.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/gloo/texture_precision.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/gloo/textured_cube.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/gloo/textured_quad.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/jupyter/Rotating Cube.ipynb +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/jupyter/colormaps.ipynb +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/jupyter/gloo_display_lines.ipynb +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/jupyter/gloo_molecular_viewer.ipynb +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/offscreen/simple_egl.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/offscreen/simple_osmesa.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/plotting/README.rst +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/plotting/colorbar.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/plotting/export.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/plotting/ipython_fig_playground.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/plotting/plot.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/plotting/plot_colorbars.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/plotting/scatter_histogram.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/plotting/spectrogram.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/plotting/volume_plot.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/scene/README.rst +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/scene/axes_plot.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/scene/background_borders.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/scene/clipping_planes.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/scene/colorbar_widget.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/scene/colored_line.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/scene/complex_image.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/scene/console.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/scene/contour.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/scene/example..gif +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/scene/example.png +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/scene/face_picking.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/scene/flipped_axis.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/scene/graph.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/scene/grid_layout/README.rst +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/scene/grid_layout/grid.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/scene/grid_layout/grid_basic.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/scene/grid_layout/grid_holed.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/scene/grid_layout/grid_large.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/scene/grid_layout/grid_uneven_col.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/scene/grid_layout/grid_x_y_viewbox.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/scene/image.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/scene/image_custom_kernel.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/scene/infinite_line.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/scene/instanced_mesh.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/scene/instanced_mesh_visual.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/scene/instanced_quad_visual.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/scene/isocurve.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/scene/isocurve_for_trisurface.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/scene/isocurve_for_trisurface_qt.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/scene/isocurve_updates.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/scene/isosurface.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/scene/lasso.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/scene/line.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/scene/line_update.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/scene/linear_region.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/scene/magnify.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/scene/marker_picking.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/scene/marker_spheres.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/scene/mesh_normals.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/scene/mesh_shading.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/scene/mesh_texture.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/scene/nested_viewbox.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/scene/one_cam_two_scenes.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/scene/one_scene_four_cams.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/scene/point_cloud.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/scene/polygon.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/scene/realtime_data/README.rst +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/scene/realtime_data/ex01_embedded_vispy.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/scene/realtime_data/ex02_control_vispy_from_qt.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/scene/realtime_data/ex03a_data_sources_timer.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/scene/realtime_data/ex03b_data_sources_threaded_loop.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/scene/realtime_data/ex03c_data_sources_threaded_events.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/scene/save_animation.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/scene/sensitivity.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/scene/shape_draw.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/scene/sphere.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/scene/surface_plot.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/scene/text.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/scene/turntable_box.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/scene/viewbox.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/scene/volume.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/scene/volume_plane.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/tutorial/app/app_events.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/tutorial/app/fps.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/tutorial/app/shared_context.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/tutorial/app/simple.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/tutorial/app/simple_wx.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/tutorial/visuals/T01_basic_visual.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/tutorial/visuals/T02_measurements.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/tutorial/visuals/T03_antialiasing.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/tutorial/visuals/T04_fragment_programs.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/examples/tutorial/visuals/T05_viewer_location.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/pytest.ini +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/setup.cfg +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/__init__.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/app/__init__.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/app/_default_app.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/app/_detect_eventloop.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/app/application.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/app/backends/__init__.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/app/backends/_egl.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/app/backends/_glfw.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/app/backends/_jupyter_rfb.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/app/backends/_offscreen_util.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/app/backends/_osmesa.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/app/backends/_pyglet.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/app/backends/_pyqt4.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/app/backends/_pyqt5.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/app/backends/_pyqt6.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/app/backends/_pyside.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/app/backends/_pyside2.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/app/backends/_pyside6.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/app/backends/_sdl2.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/app/backends/_template.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/app/backends/_test.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/app/backends/_tk.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/app/backends/_wx.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/app/backends/tests/__init__.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/app/backends/tests/test_offscreen_util.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/app/backends/tests/test_rfb.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/app/base.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/app/canvas.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/app/qt.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/app/tests/__init__.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/app/tests/qt-designer.ui +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/app/tests/test_app.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/app/tests/test_backends.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/app/tests/test_canvas.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/app/tests/test_context.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/app/tests/test_qt.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/app/tests/test_simultaneous.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/app/timer.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/color/__init__.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/color/_color_dict.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/color/color_array.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/color/color_space.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/color/colormap.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/color/tests/__init__.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/color/tests/test_color.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/conftest.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/ext/__init__.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/ext/cocoapy.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/ext/cubehelix.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/ext/egl.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/ext/fontconfig.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/ext/gdi32plus.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/ext/osmesa.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/geometry/_triangulation_debugger.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/geometry/curves.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/geometry/generation.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/geometry/isocurve.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/geometry/isosurface.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/geometry/meshdata.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/geometry/normals.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/geometry/parametric.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/geometry/polygon.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/geometry/rect.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/geometry/tests/__init__.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/geometry/tests/test_calculations.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/geometry/tests/test_generation.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/geometry/tests/test_meshdata.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/geometry/tests/test_triangulation.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/geometry/torusknot.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/gloo/__init__.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/gloo/context.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/gloo/framebuffer.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/gloo/gl/__init__.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/gloo/gl/_constants.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/gloo/gl/_es2.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/gloo/gl/_gl2.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/gloo/gl/_proxy.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/gloo/gl/_pyopengl2.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/gloo/gl/dummy.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/gloo/gl/es2.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/gloo/gl/gl2.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/gloo/gl/glplus.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/gloo/gl/pyopengl2.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/gloo/gl/tests/__init__.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/gloo/gl/tests/test_basics.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/gloo/gl/tests/test_names.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/gloo/gl/tests/test_use.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/gloo/globject.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/gloo/preprocessor.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/gloo/program.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/gloo/tests/__init__.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/gloo/tests/test_buffer.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/gloo/tests/test_context.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/gloo/tests/test_framebuffer.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/gloo/tests/test_glir.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/gloo/tests/test_globject.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/gloo/tests/test_program.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/gloo/tests/test_texture.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/gloo/tests/test_use_gloo.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/gloo/tests/test_util.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/gloo/tests/test_wrappers.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/gloo/util.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/gloo/wrappers.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/__init__.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/antialias/antialias.glsl +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/antialias/cap-butt.glsl +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/antialias/cap-round.glsl +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/antialias/cap-square.glsl +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/antialias/cap-triangle-in.glsl +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/antialias/cap-triangle-out.glsl +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/antialias/cap.glsl +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/antialias/caps.glsl +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/antialias/filled.glsl +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/antialias/outline.glsl +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/antialias/stroke.glsl +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/arrowheads/angle.glsl +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/arrowheads/arrowheads.frag +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/arrowheads/arrowheads.glsl +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/arrowheads/arrowheads.vert +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/arrowheads/curved.glsl +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/arrowheads/inhibitor.glsl +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/arrowheads/stealth.glsl +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/arrowheads/triangle.glsl +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/arrowheads/util.glsl +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/arrows/angle-30.glsl +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/arrows/angle-60.glsl +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/arrows/angle-90.glsl +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/arrows/arrow.frag +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/arrows/arrow.vert +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/arrows/arrows.glsl +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/arrows/common.glsl +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/arrows/curved.glsl +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/arrows/stealth.glsl +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/arrows/triangle-30.glsl +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/arrows/triangle-60.glsl +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/arrows/triangle-90.glsl +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/arrows/util.glsl +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/build_spatial_filters.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/collections/agg-fast-path.frag +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/collections/agg-fast-path.vert +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/collections/agg-glyph.frag +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/collections/agg-glyph.vert +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/collections/agg-marker.frag +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/collections/agg-marker.vert +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/collections/agg-path.frag +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/collections/agg-path.vert +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/collections/agg-point.frag +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/collections/agg-point.vert +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/collections/agg-segment.frag +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/collections/agg-segment.vert +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/collections/marker.frag +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/collections/marker.vert +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/collections/raw-path.frag +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/collections/raw-path.vert +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/collections/raw-point.frag +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/collections/raw-point.vert +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/collections/raw-segment.frag +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/collections/raw-segment.vert +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/collections/raw-triangle.frag +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/collections/raw-triangle.vert +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/collections/sdf-glyph-ticks.vert +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/collections/sdf-glyph.frag +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/collections/sdf-glyph.vert +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/collections/tick-labels.vert +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/colormaps/autumn.glsl +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/colormaps/blues.glsl +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/colormaps/color-space.glsl +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/colormaps/colormaps.glsl +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/colormaps/cool.glsl +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/colormaps/fire.glsl +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/colormaps/gray.glsl +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/colormaps/greens.glsl +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/colormaps/hot.glsl +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/colormaps/ice.glsl +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/colormaps/icefire.glsl +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/colormaps/parse.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/colormaps/reds.glsl +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/colormaps/spring.glsl +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/colormaps/summer.glsl +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/colormaps/user.glsl +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/colormaps/util.glsl +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/colormaps/wheel.glsl +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/colormaps/winter.glsl +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/lines/agg.frag +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/lines/agg.vert +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/markers/arrow.glsl +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/markers/asterisk.glsl +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/markers/chevron.glsl +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/markers/clover.glsl +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/markers/club.glsl +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/markers/cross.glsl +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/markers/diamond.glsl +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/markers/disc.glsl +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/markers/ellipse.glsl +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/markers/hbar.glsl +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/markers/heart.glsl +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/markers/infinity.glsl +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/markers/marker-sdf.frag +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/markers/marker-sdf.vert +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/markers/marker.frag +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/markers/marker.vert +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/markers/markers.glsl +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/markers/pin.glsl +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/markers/ring.glsl +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/markers/spade.glsl +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/markers/square.glsl +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/markers/tag.glsl +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/markers/triangle.glsl +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/markers/vbar.glsl +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/math/circle-through-2-points.glsl +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/math/constants.glsl +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/math/double.glsl +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/math/functions.glsl +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/math/point-to-line-distance.glsl +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/math/point-to-line-projection.glsl +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/math/signed-line-distance.glsl +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/math/signed-segment-distance.glsl +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/misc/regular-grid.frag +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/misc/spatial-filters.frag +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/misc/viewport-NDC.glsl +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/transforms/azimuthal-equal-area.glsl +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/transforms/azimuthal-equidistant.glsl +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/transforms/hammer.glsl +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/transforms/identity.glsl +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/transforms/identity_forward.glsl +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/transforms/identity_inverse.glsl +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/transforms/linear-scale.glsl +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/transforms/log-scale.glsl +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/transforms/mercator-transverse-forward.glsl +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/transforms/mercator-transverse-inverse.glsl +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/transforms/panzoom.glsl +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/transforms/polar.glsl +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/transforms/position.glsl +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/transforms/power-scale.glsl +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/transforms/projection.glsl +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/transforms/pvm.glsl +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/transforms/rotate.glsl +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/transforms/trackball.glsl +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/transforms/translate.glsl +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/transforms/transverse_mercator.glsl +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/transforms/viewport-clipping.glsl +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/transforms/viewport-transform.glsl +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/transforms/viewport.glsl +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/transforms/x.glsl +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/transforms/y.glsl +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/glsl/transforms/z.glsl +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/io/__init__.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/io/_data/spatial-filters.npy +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/io/datasets.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/io/image.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/io/mesh.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/io/stl.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/io/tests/__init__.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/io/tests/test_image.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/io/tests/test_io.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/io/wavefront.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/plot/__init__.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/plot/fig.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/plot/tests/__init__.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/plot/tests/test_plot.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/scene/__init__.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/scene/cameras/__init__.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/scene/cameras/_base.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/scene/cameras/arcball.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/scene/cameras/base_camera.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/scene/cameras/fly.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/scene/cameras/magnify.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/scene/cameras/panzoom.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/scene/cameras/perspective.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/scene/cameras/tests/__init__.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/scene/cameras/tests/test_cameras.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/scene/cameras/tests/test_link.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/scene/cameras/tests/test_perspective.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/scene/cameras/turntable.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/scene/canvas.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/scene/events.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/scene/node.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/scene/subscene.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/scene/tests/__init__.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/scene/tests/test_canvas.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/scene/tests/test_node.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/scene/tests/test_visuals.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/scene/visuals.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/scene/widgets/__init__.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/scene/widgets/anchor.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/scene/widgets/axis.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/scene/widgets/colorbar.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/scene/widgets/console.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/scene/widgets/grid.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/scene/widgets/label.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/scene/widgets/tests/__init__.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/scene/widgets/tests/test_colorbar.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/scene/widgets/viewbox.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/scene/widgets/widget.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/testing/__init__.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/testing/_testing.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/testing/rendered_array_tester.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/testing/tests/__init__.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/testing/tests/test_testing.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/util/bunch.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/util/check_environment.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/util/config.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/util/dpi/__init__.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/util/dpi/_linux.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/util/dpi/_quartz.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/util/dpi/_win32.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/util/dpi/tests/__init__.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/util/dpi/tests/test_dpi.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/util/eq.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/util/event.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/util/fetching.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/util/filter.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/util/fonts/__init__.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/util/fonts/_freetype.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/util/fonts/_quartz.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/util/fonts/_triage.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/util/fonts/_vispy_fonts.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/util/fonts/_win32.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/util/fonts/data/OpenSans-Bold.ttf +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/util/fonts/data/OpenSans-BoldItalic.ttf +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/util/fonts/data/OpenSans-Italic.ttf +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/util/fonts/data/OpenSans-Regular.ttf +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/util/fonts/tests/__init__.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/util/fonts/tests/test_font.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/util/fourier.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/util/frozen.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/util/gallery_scraper.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/util/keys.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/util/logs.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/util/osmesa_gl.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/util/profiler.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/util/ptime.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/util/quaternion.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/util/svg/__init__.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/util/svg/base.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/util/svg/color.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/util/svg/element.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/util/svg/geometry.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/util/svg/group.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/util/svg/length.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/util/svg/number.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/util/svg/path.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/util/svg/shapes.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/util/svg/style.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/util/svg/svg.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/util/svg/transform.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/util/svg/transformable.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/util/svg/viewport.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/util/tests/__init__.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/util/tests/test_config.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/util/tests/test_docstring_parameters.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/util/tests/test_emitter_group.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/util/tests/test_event_emitter.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/util/tests/test_fourier.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/util/tests/test_gallery_scraper.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/util/tests/test_import.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/util/tests/test_key.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/util/tests/test_logging.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/util/tests/test_run.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/util/tests/test_transforms.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/util/tests/test_vispy.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/util/transforms.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/util/wrappers.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/__init__.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/axis.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/border.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/box.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/collections/__init__.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/collections/agg_fast_path_collection.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/collections/agg_path_collection.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/collections/agg_point_collection.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/collections/agg_segment_collection.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/collections/base_collection.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/collections/collection.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/collections/path_collection.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/collections/point_collection.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/collections/polygon_collection.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/collections/raw_path_collection.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/collections/raw_point_collection.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/collections/raw_polygon_collection.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/collections/raw_segment_collection.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/collections/raw_triangle_collection.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/collections/segment_collection.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/collections/triangle_collection.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/collections/util.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/colorbar.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/cube.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/filters/__init__.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/filters/base_filter.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/filters/clipper.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/filters/clipping_planes.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/filters/color.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/filters/markers.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/filters/mesh.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/filters/picking.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/filters/tests/__init__.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/filters/tests/test_primitive_picking_filters.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/filters/tests/test_wireframe_filter.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/glsl/__init__.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/glsl/antialiasing.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/glsl/color.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/graphs/__init__.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/graphs/graph.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/graphs/layouts/__init__.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/graphs/layouts/circular.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/graphs/layouts/force_directed.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/graphs/layouts/networkx_layout.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/graphs/layouts/random.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/graphs/tests/__init__.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/graphs/tests/test_layouts.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/graphs/tests/test_networkx_layout.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/graphs/util.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/gridlines.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/gridmesh.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/histogram.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/image_complex.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/infinite_line.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/instanced_mesh.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/isocurve.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/isoline.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/isosurface.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/line/__init__.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/line/arrow.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/line/dash_atlas.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/line/line.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/line_plot.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/linear_region.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/mesh.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/mesh_normals.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/plane.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/polygon.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/rectangle.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/regular_polygon.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/scrolling_lines.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/shaders/__init__.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/shaders/compiler.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/shaders/expression.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/shaders/function.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/shaders/multiprogram.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/shaders/parsing.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/shaders/program.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/shaders/shader_object.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/shaders/tests/__init__.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/shaders/tests/test_function.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/shaders/tests/test_multiprogram.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/shaders/tests/test_parsing.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/shaders/variable.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/spectrogram.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/sphere.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/tests/__init__.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/tests/test_arrows.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/tests/test_axis.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/tests/test_collections.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/tests/test_colorbar.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/tests/test_colormap.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/tests/test_ellipse.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/tests/test_histogram.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/tests/test_image.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/tests/test_image_complex.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/tests/test_infinite_line.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/tests/test_instanced_mesh.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/tests/test_isosurface.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/tests/test_linear_region.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/tests/test_markers.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/tests/test_mesh.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/tests/test_mesh_normals.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/tests/test_polygon.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/tests/test_rectangle.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/tests/test_regular_polygon.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/tests/test_scalable_textures.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/tests/test_sdf.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/tests/test_spectrogram.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/tests/test_text.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/tests/test_volume.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/tests/test_windbarb.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/text/__init__.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/text/_sdf_gpu.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/text/text.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/transforms/__init__.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/transforms/_util.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/transforms/base_transform.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/transforms/chain.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/transforms/interactive.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/transforms/linear.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/transforms/nonlinear.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/transforms/tests/__init__.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/transforms/tests/test_transforms.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/transforms/transform_system.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/tube.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/visual.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/windbarb.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy/visuals/xyz_axis.py +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy.egg-info/dependency_links.txt +0 -0
- {vispy-0.14.1 → vispy-0.14.3}/vispy.egg-info/not-zip-safe +0 -0
- {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 -
|
|
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@
|
|
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
|
-
|
|
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 -
|
|
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@
|
|
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/
|
|
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@
|
|
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@
|
|
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 -
|
|
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.
|
|
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.
|
|
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.
|
|
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@
|
|
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/
|
|
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
|
|
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
|
|
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.
|
|
30
|
+
uses: pypa/cibuildwheel@v2.18.1
|
|
31
31
|
env:
|
|
32
|
-
CIBW_SKIP: "
|
|
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
|
|
39
|
-
CIBW_BEFORE_TEST: "pip install -U Cython pip setuptools
|
|
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@
|
|
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@
|
|
61
|
+
- uses: actions/setup-python@v5
|
|
61
62
|
name: Install Python
|
|
62
63
|
with:
|
|
63
|
-
python-version: '3.
|
|
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@
|
|
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@
|
|
79
|
+
- uses: actions/download-artifact@v4
|
|
80
80
|
with:
|
|
81
|
-
name:
|
|
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
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
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 }}
|
|
@@ -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-
|
|
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.
|
|
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.
|
|
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
|
-
|
|
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
|
|
@@ -15,7 +15,8 @@ from datetime import date
|
|
|
15
15
|
import sys
|
|
16
16
|
import os
|
|
17
17
|
import re
|
|
18
|
-
import
|
|
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
|
-
#
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
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
|
-
"
|
|
178
|
-
"
|
|
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
|
|
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
|
|
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
|
|
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
|
-
|
|
288
|
-
|
|
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
|
|
305
|
+
on OpenGL ES 2.0 because it gives access to the programmable pipeline while
|
|
305
306
|
keeping overall complexity tractable.
|
|
@@ -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.
|
|
95
|
-
install_requires=
|
|
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
|
)
|