plopp 25.7.0__tar.gz → 25.9.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (238) hide show
  1. {plopp-25.7.0 → plopp-25.9.0}/.copier-answers.yml +2 -2
  2. plopp-25.9.0/.github/workflows/nightly_at_main_lower_bound.yml +37 -0
  3. plopp-25.9.0/.github/workflows/python-version-ci +1 -0
  4. {plopp-25.7.0 → plopp-25.9.0}/.github/workflows/release.yml +2 -2
  5. {plopp-25.7.0 → plopp-25.9.0}/.pre-commit-config.yaml +2 -1
  6. plopp-25.9.0/.python-version +1 -0
  7. plopp-25.9.0/PKG-INFO +71 -0
  8. {plopp-25.7.0 → plopp-25.9.0}/docs/about/index.md +2 -2
  9. {plopp-25.7.0 → plopp-25.9.0}/docs/conf.py +4 -0
  10. plopp-25.9.0/docs/customization/animations.ipynb +241 -0
  11. {plopp-25.7.0 → plopp-25.9.0}/docs/customization/index.md +7 -0
  12. {plopp-25.7.0 → plopp-25.9.0}/docs/developer/getting-started.md +1 -1
  13. {plopp-25.7.0 → plopp-25.9.0}/docs/index.md +6 -2
  14. {plopp-25.7.0 → plopp-25.9.0}/pyproject.toml +25 -24
  15. {plopp-25.7.0 → plopp-25.9.0}/requirements/base.in +2 -2
  16. {plopp-25.7.0 → plopp-25.9.0}/requirements/base.txt +7 -7
  17. {plopp-25.7.0 → plopp-25.9.0}/requirements/basetest.in +15 -15
  18. {plopp-25.7.0 → plopp-25.9.0}/requirements/basetest.txt +30 -33
  19. {plopp-25.7.0 → plopp-25.9.0}/requirements/ci.txt +8 -14
  20. {plopp-25.7.0 → plopp-25.9.0}/requirements/dev.txt +16 -20
  21. {plopp-25.7.0 → plopp-25.9.0}/requirements/docs.in +2 -0
  22. {plopp-25.7.0 → plopp-25.9.0}/requirements/docs.txt +26 -9
  23. {plopp-25.7.0 → plopp-25.9.0}/requirements/mypy.txt +1 -1
  24. plopp-25.9.0/requirements/nightly.in +23 -0
  25. {plopp-25.7.0 → plopp-25.9.0}/requirements/nightly.txt +29 -32
  26. {plopp-25.7.0 → plopp-25.9.0}/requirements/static.txt +2 -2
  27. {plopp-25.7.0 → plopp-25.9.0}/requirements/wheels.txt +1 -3
  28. {plopp-25.7.0 → plopp-25.9.0}/src/plopp/backends/matplotlib/tiled.py +5 -1
  29. {plopp-25.7.0 → plopp-25.9.0}/src/plopp/data/examples.py +3 -1
  30. {plopp-25.7.0 → plopp-25.9.0}/src/plopp/graphics/colormapper.py +40 -10
  31. {plopp-25.7.0 → plopp-25.9.0}/src/plopp/plotting/common.py +8 -2
  32. {plopp-25.7.0 → plopp-25.9.0}/src/plopp/widgets/slice.py +2 -3
  33. plopp-25.9.0/src/plopp.egg-info/PKG-INFO +71 -0
  34. {plopp-25.7.0 → plopp-25.9.0}/src/plopp.egg-info/SOURCES.txt +2 -0
  35. plopp-25.9.0/src/plopp.egg-info/requires.txt +30 -0
  36. {plopp-25.7.0 → plopp-25.9.0}/tests/backends/matplotlib/mpl_image_test.py +7 -0
  37. {plopp-25.7.0 → plopp-25.9.0}/tests/plotting/plot_1d_test.py +5 -0
  38. {plopp-25.7.0 → plopp-25.9.0}/tests/plotting/plot_2d_test.py +5 -0
  39. {plopp-25.7.0 → plopp-25.9.0}/tests/widgets/slice_test.py +2 -2
  40. {plopp-25.7.0 → plopp-25.9.0}/tox.ini +1 -1
  41. plopp-25.7.0/.github/workflows/python-version-ci +0 -1
  42. plopp-25.7.0/.python-version +0 -1
  43. plopp-25.7.0/PKG-INFO +0 -102
  44. plopp-25.7.0/requirements/nightly.in +0 -23
  45. plopp-25.7.0/src/plopp.egg-info/PKG-INFO +0 -102
  46. plopp-25.7.0/src/plopp.egg-info/requires.txt +0 -30
  47. {plopp-25.7.0 → plopp-25.9.0}/.github/dependabot.yml +0 -0
  48. {plopp-25.7.0 → plopp-25.9.0}/.github/workflows/ci.yml +0 -0
  49. {plopp-25.7.0 → plopp-25.9.0}/.github/workflows/docs.yml +0 -0
  50. {plopp-25.7.0 → plopp-25.9.0}/.github/workflows/nightly_at_main.yml +0 -0
  51. {plopp-25.7.0 → plopp-25.9.0}/.github/workflows/nightly_at_release.yml +0 -0
  52. {plopp-25.7.0 → plopp-25.9.0}/.github/workflows/test.yml +0 -0
  53. {plopp-25.7.0 → plopp-25.9.0}/.github/workflows/unpinned.yml +0 -0
  54. {plopp-25.7.0 → plopp-25.9.0}/.github/workflows/weekly_windows_macos.yml +0 -0
  55. {plopp-25.7.0 → plopp-25.9.0}/.gitignore +0 -0
  56. {plopp-25.7.0 → plopp-25.9.0}/CODE_OF_CONDUCT.md +0 -0
  57. {plopp-25.7.0 → plopp-25.9.0}/CONTRIBUTING.md +0 -0
  58. {plopp-25.7.0 → plopp-25.9.0}/LICENSE +0 -0
  59. {plopp-25.7.0 → plopp-25.9.0}/MANIFEST.in +0 -0
  60. {plopp-25.7.0 → plopp-25.9.0}/README.md +0 -0
  61. {plopp-25.7.0 → plopp-25.9.0}/docs/_static/anaconda-icon.js +0 -0
  62. {plopp-25.7.0 → plopp-25.9.0}/docs/_static/circle-exclamation.svg +0 -0
  63. {plopp-25.7.0 → plopp-25.9.0}/docs/_static/custom.css +0 -0
  64. {plopp-25.7.0 → plopp-25.9.0}/docs/_static/customization/custom-interfaces.png +0 -0
  65. {plopp-25.7.0 → plopp-25.9.0}/docs/_static/customization/graph-node-tips.png +0 -0
  66. {plopp-25.7.0 → plopp-25.9.0}/docs/_static/customization/subplots.png +0 -0
  67. {plopp-25.7.0 → plopp-25.9.0}/docs/_static/customization/tweaking-figures.png +0 -0
  68. {plopp-25.7.0 → plopp-25.9.0}/docs/_static/favicon.ico +0 -0
  69. {plopp-25.7.0 → plopp-25.9.0}/docs/_static/gallery/README.txt +0 -0
  70. {plopp-25.7.0 → plopp-25.9.0}/docs/_static/gallery/peeling-layers-thumbnail.png +0 -0
  71. {plopp-25.7.0 → plopp-25.9.0}/docs/_static/gallery/scatter3d-with-slider-thumbnail.png +0 -0
  72. {plopp-25.7.0 → plopp-25.9.0}/docs/_static/gallery/scatter3d-with-threshold-thumbnail.png +0 -0
  73. {plopp-25.7.0 → plopp-25.9.0}/docs/_static/logo-dark.svg +0 -0
  74. {plopp-25.7.0 → plopp-25.9.0}/docs/_static/logo-large-dark.svg +0 -0
  75. {plopp-25.7.0 → plopp-25.9.0}/docs/_static/logo-large.svg +0 -0
  76. {plopp-25.7.0 → plopp-25.9.0}/docs/_static/logo.svg +0 -0
  77. {plopp-25.7.0 → plopp-25.9.0}/docs/_static/plotting/image-plot.png +0 -0
  78. {plopp-25.7.0 → plopp-25.9.0}/docs/_static/plotting/inspector-plot.png +0 -0
  79. {plopp-25.7.0 → plopp-25.9.0}/docs/_static/plotting/line-plot.png +0 -0
  80. {plopp-25.7.0 → plopp-25.9.0}/docs/_static/plotting/mesh3d-plot.png +0 -0
  81. {plopp-25.7.0 → plopp-25.9.0}/docs/_static/plotting/scatter-plot.png +0 -0
  82. {plopp-25.7.0 → plopp-25.9.0}/docs/_static/plotting/scatter3d-plot.png +0 -0
  83. {plopp-25.7.0 → plopp-25.9.0}/docs/_static/plotting/slicer-plot.png +0 -0
  84. {plopp-25.7.0 → plopp-25.9.0}/docs/_static/plotting/super-plot.png +0 -0
  85. {plopp-25.7.0 → plopp-25.9.0}/docs/_templates/class-template.rst +0 -0
  86. {plopp-25.7.0 → plopp-25.9.0}/docs/_templates/doc_version.html +0 -0
  87. {plopp-25.7.0 → plopp-25.9.0}/docs/_templates/module-template.rst +0 -0
  88. {plopp-25.7.0 → plopp-25.9.0}/docs/_templates/scipp-class-template.rst +0 -0
  89. {plopp-25.7.0 → plopp-25.9.0}/docs/_templates/scipp-module-template.rst +0 -0
  90. {plopp-25.7.0 → plopp-25.9.0}/docs/api-reference/index.md +0 -0
  91. {plopp-25.7.0 → plopp-25.9.0}/docs/api-reference/matplotlib.md +0 -0
  92. {plopp-25.7.0 → plopp-25.9.0}/docs/api-reference/plotly.md +0 -0
  93. {plopp-25.7.0 → plopp-25.9.0}/docs/api-reference/pythreejs.md +0 -0
  94. {plopp-25.7.0 → plopp-25.9.0}/docs/customization/custom-interfaces.ipynb +0 -0
  95. {plopp-25.7.0 → plopp-25.9.0}/docs/customization/graph-node-tips.ipynb +0 -0
  96. {plopp-25.7.0 → plopp-25.9.0}/docs/customization/subplots.ipynb +0 -0
  97. {plopp-25.7.0 → plopp-25.9.0}/docs/customization/tweaking-figures.ipynb +0 -0
  98. {plopp-25.7.0 → plopp-25.9.0}/docs/developer/coding-conventions.md +0 -0
  99. {plopp-25.7.0 → plopp-25.9.0}/docs/developer/dependency-management.md +0 -0
  100. {plopp-25.7.0 → plopp-25.9.0}/docs/developer/index.md +0 -0
  101. {plopp-25.7.0 → plopp-25.9.0}/docs/gallery/index.ipynb +0 -0
  102. {plopp-25.7.0 → plopp-25.9.0}/docs/gallery/interactive-masking.ipynb +0 -0
  103. {plopp-25.7.0 → plopp-25.9.0}/docs/gallery/masking-a-range.ipynb +0 -0
  104. {plopp-25.7.0 → plopp-25.9.0}/docs/gallery/nyc-taxi.ipynb +0 -0
  105. {plopp-25.7.0 → plopp-25.9.0}/docs/gallery/peeling-layers.ipynb +0 -0
  106. {plopp-25.7.0 → plopp-25.9.0}/docs/gallery/polar-plots.ipynb +0 -0
  107. {plopp-25.7.0 → plopp-25.9.0}/docs/gallery/rectangle-selection.ipynb +0 -0
  108. {plopp-25.7.0 → plopp-25.9.0}/docs/gallery/scatter3d-with-slider.ipynb +0 -0
  109. {plopp-25.7.0 → plopp-25.9.0}/docs/gallery/scatter3d-with-threshold.ipynb +0 -0
  110. {plopp-25.7.0 → plopp-25.9.0}/docs/gallery/streaming-plot.ipynb +0 -0
  111. {plopp-25.7.0 → plopp-25.9.0}/docs/gallery/tiled-random-samples.ipynb +0 -0
  112. {plopp-25.7.0 → plopp-25.9.0}/docs/gallery/updating-scatter.ipynb +0 -0
  113. {plopp-25.7.0 → plopp-25.9.0}/docs/getting-started/index.md +0 -0
  114. {plopp-25.7.0 → plopp-25.9.0}/docs/getting-started/installation.md +0 -0
  115. {plopp-25.7.0 → plopp-25.9.0}/docs/getting-started/numpy-pandas-xarray.ipynb +0 -0
  116. {plopp-25.7.0 → plopp-25.9.0}/docs/getting-started/overview.ipynb +0 -0
  117. {plopp-25.7.0 → plopp-25.9.0}/docs/getting-started/saving-figures.ipynb +0 -0
  118. {plopp-25.7.0 → plopp-25.9.0}/docs/plotting/image-plot.ipynb +0 -0
  119. {plopp-25.7.0 → plopp-25.9.0}/docs/plotting/index.md +0 -0
  120. {plopp-25.7.0 → plopp-25.9.0}/docs/plotting/inspector-plot.ipynb +0 -0
  121. {plopp-25.7.0 → plopp-25.9.0}/docs/plotting/line-plot.ipynb +0 -0
  122. {plopp-25.7.0 → plopp-25.9.0}/docs/plotting/mesh3d-plot.ipynb +0 -0
  123. {plopp-25.7.0 → plopp-25.9.0}/docs/plotting/scatter-plot.ipynb +0 -0
  124. {plopp-25.7.0 → plopp-25.9.0}/docs/plotting/scatter3d-plot.ipynb +0 -0
  125. {plopp-25.7.0 → plopp-25.9.0}/docs/plotting/slicer-plot.ipynb +0 -0
  126. {plopp-25.7.0 → plopp-25.9.0}/docs/plotting/super-plot.ipynb +0 -0
  127. {plopp-25.7.0 → plopp-25.9.0}/requirements/ci.in +0 -0
  128. {plopp-25.7.0 → plopp-25.9.0}/requirements/dev.in +0 -0
  129. {plopp-25.7.0 → plopp-25.9.0}/requirements/make_base.py +0 -0
  130. {plopp-25.7.0 → plopp-25.9.0}/requirements/mini.in +0 -0
  131. {plopp-25.7.0 → plopp-25.9.0}/requirements/mini.txt +0 -0
  132. {plopp-25.7.0 → plopp-25.9.0}/requirements/mypy.in +0 -0
  133. {plopp-25.7.0 → plopp-25.9.0}/requirements/noplotly.in +0 -0
  134. {plopp-25.7.0 → plopp-25.9.0}/requirements/noplotly.txt +0 -0
  135. {plopp-25.7.0 → plopp-25.9.0}/requirements/static.in +0 -0
  136. {plopp-25.7.0 → plopp-25.9.0}/requirements/test.in +0 -0
  137. {plopp-25.7.0 → plopp-25.9.0}/requirements/test.txt +0 -0
  138. {plopp-25.7.0 → plopp-25.9.0}/requirements/wheels.in +0 -0
  139. {plopp-25.7.0 → plopp-25.9.0}/resources/logo-plopp-2022.svg +0 -0
  140. {plopp-25.7.0 → plopp-25.9.0}/setup.cfg +0 -0
  141. {plopp-25.7.0 → plopp-25.9.0}/src/plopp/__init__.py +0 -0
  142. {plopp-25.7.0 → plopp-25.9.0}/src/plopp/backends/__init__.py +0 -0
  143. {plopp-25.7.0 → plopp-25.9.0}/src/plopp/backends/common.py +0 -0
  144. {plopp-25.7.0 → plopp-25.9.0}/src/plopp/backends/matplotlib/__init__.py +0 -0
  145. {plopp-25.7.0 → plopp-25.9.0}/src/plopp/backends/matplotlib/canvas.py +0 -0
  146. {plopp-25.7.0 → plopp-25.9.0}/src/plopp/backends/matplotlib/fast_image.py +0 -0
  147. {plopp-25.7.0 → plopp-25.9.0}/src/plopp/backends/matplotlib/figure.py +0 -0
  148. {plopp-25.7.0 → plopp-25.9.0}/src/plopp/backends/matplotlib/image.py +0 -0
  149. {plopp-25.7.0 → plopp-25.9.0}/src/plopp/backends/matplotlib/line.py +0 -0
  150. {plopp-25.7.0 → plopp-25.9.0}/src/plopp/backends/matplotlib/mesh_image.py +0 -0
  151. {plopp-25.7.0 → plopp-25.9.0}/src/plopp/backends/matplotlib/scatter.py +0 -0
  152. {plopp-25.7.0 → plopp-25.9.0}/src/plopp/backends/matplotlib/utils.py +0 -0
  153. {plopp-25.7.0 → plopp-25.9.0}/src/plopp/backends/plotly/__init__.py +0 -0
  154. {plopp-25.7.0 → plopp-25.9.0}/src/plopp/backends/plotly/canvas.py +0 -0
  155. {plopp-25.7.0 → plopp-25.9.0}/src/plopp/backends/plotly/figure.py +0 -0
  156. {plopp-25.7.0 → plopp-25.9.0}/src/plopp/backends/plotly/line.py +0 -0
  157. {plopp-25.7.0 → plopp-25.9.0}/src/plopp/backends/pythreejs/__init__.py +0 -0
  158. {plopp-25.7.0 → plopp-25.9.0}/src/plopp/backends/pythreejs/canvas.py +0 -0
  159. {plopp-25.7.0 → plopp-25.9.0}/src/plopp/backends/pythreejs/figure.py +0 -0
  160. {plopp-25.7.0 → plopp-25.9.0}/src/plopp/backends/pythreejs/mesh3d.py +0 -0
  161. {plopp-25.7.0 → plopp-25.9.0}/src/plopp/backends/pythreejs/outline.py +0 -0
  162. {plopp-25.7.0 → plopp-25.9.0}/src/plopp/backends/pythreejs/scatter3d.py +0 -0
  163. {plopp-25.7.0 → plopp-25.9.0}/src/plopp/core/__init__.py +0 -0
  164. {plopp-25.7.0 → plopp-25.9.0}/src/plopp/core/__init__.pyi +0 -0
  165. {plopp-25.7.0 → plopp-25.9.0}/src/plopp/core/graph.py +0 -0
  166. {plopp-25.7.0 → plopp-25.9.0}/src/plopp/core/helpers.py +0 -0
  167. {plopp-25.7.0 → plopp-25.9.0}/src/plopp/core/limits.py +0 -0
  168. {plopp-25.7.0 → plopp-25.9.0}/src/plopp/core/node_class.py +0 -0
  169. {plopp-25.7.0 → plopp-25.9.0}/src/plopp/core/typing.py +0 -0
  170. {plopp-25.7.0 → plopp-25.9.0}/src/plopp/core/utils.py +0 -0
  171. {plopp-25.7.0 → plopp-25.9.0}/src/plopp/core/view.py +0 -0
  172. {plopp-25.7.0 → plopp-25.9.0}/src/plopp/data/__init__.py +0 -0
  173. {plopp-25.7.0 → plopp-25.9.0}/src/plopp/data/factory.py +0 -0
  174. {plopp-25.7.0 → plopp-25.9.0}/src/plopp/data/testing.py +0 -0
  175. {plopp-25.7.0 → plopp-25.9.0}/src/plopp/graphics/__init__.py +0 -0
  176. {plopp-25.7.0 → plopp-25.9.0}/src/plopp/graphics/__init__.pyi +0 -0
  177. {plopp-25.7.0 → plopp-25.9.0}/src/plopp/graphics/basefig.py +0 -0
  178. {plopp-25.7.0 → plopp-25.9.0}/src/plopp/graphics/bbox.py +0 -0
  179. {plopp-25.7.0 → plopp-25.9.0}/src/plopp/graphics/camera.py +0 -0
  180. {plopp-25.7.0 → plopp-25.9.0}/src/plopp/graphics/figures.py +0 -0
  181. {plopp-25.7.0 → plopp-25.9.0}/src/plopp/graphics/graphicalview.py +0 -0
  182. {plopp-25.7.0 → plopp-25.9.0}/src/plopp/graphics/tiled.py +0 -0
  183. {plopp-25.7.0 → plopp-25.9.0}/src/plopp/plotting/__init__.py +0 -0
  184. {plopp-25.7.0 → plopp-25.9.0}/src/plopp/plotting/__init__.pyi +0 -0
  185. {plopp-25.7.0 → plopp-25.9.0}/src/plopp/plotting/inspector.py +0 -0
  186. {plopp-25.7.0 → plopp-25.9.0}/src/plopp/plotting/mesh3d.py +0 -0
  187. {plopp-25.7.0 → plopp-25.9.0}/src/plopp/plotting/plot.py +0 -0
  188. {plopp-25.7.0 → plopp-25.9.0}/src/plopp/plotting/scatter.py +0 -0
  189. {plopp-25.7.0 → plopp-25.9.0}/src/plopp/plotting/scatter3d.py +0 -0
  190. {plopp-25.7.0 → plopp-25.9.0}/src/plopp/plotting/slicer.py +0 -0
  191. {plopp-25.7.0 → plopp-25.9.0}/src/plopp/plotting/superplot.py +0 -0
  192. {plopp-25.7.0 → plopp-25.9.0}/src/plopp/plotting/xyplot.py +0 -0
  193. {plopp-25.7.0 → plopp-25.9.0}/src/plopp/py.typed +0 -0
  194. {plopp-25.7.0 → plopp-25.9.0}/src/plopp/utils.py +0 -0
  195. {plopp-25.7.0 → plopp-25.9.0}/src/plopp/widgets/__init__.py +0 -0
  196. {plopp-25.7.0 → plopp-25.9.0}/src/plopp/widgets/__init__.pyi +0 -0
  197. {plopp-25.7.0 → plopp-25.9.0}/src/plopp/widgets/box.py +0 -0
  198. {plopp-25.7.0 → plopp-25.9.0}/src/plopp/widgets/checkboxes.py +0 -0
  199. {plopp-25.7.0 → plopp-25.9.0}/src/plopp/widgets/clip3d.py +0 -0
  200. {plopp-25.7.0 → plopp-25.9.0}/src/plopp/widgets/debounce.py +0 -0
  201. {plopp-25.7.0 → plopp-25.9.0}/src/plopp/widgets/drawing.py +0 -0
  202. {plopp-25.7.0 → plopp-25.9.0}/src/plopp/widgets/linesave.py +0 -0
  203. {plopp-25.7.0 → plopp-25.9.0}/src/plopp/widgets/style.py +0 -0
  204. {plopp-25.7.0 → plopp-25.9.0}/src/plopp/widgets/toolbar.py +0 -0
  205. {plopp-25.7.0 → plopp-25.9.0}/src/plopp/widgets/tools.py +0 -0
  206. {plopp-25.7.0 → plopp-25.9.0}/src/plopp.egg-info/dependency_links.txt +0 -0
  207. {plopp-25.7.0 → plopp-25.9.0}/src/plopp.egg-info/top_level.txt +0 -0
  208. {plopp-25.7.0 → plopp-25.9.0}/tests/backends/matplotlib/mpl_line_test.py +0 -0
  209. {plopp-25.7.0 → plopp-25.9.0}/tests/backends/matplotlib/mpl_plot_test.py +0 -0
  210. {plopp-25.7.0 → plopp-25.9.0}/tests/backends/matplotlib/mpl_scatter_test.py +0 -0
  211. {plopp-25.7.0 → plopp-25.9.0}/tests/backends/matplotlib/mpl_tiled_test.py +0 -0
  212. {plopp-25.7.0 → plopp-25.9.0}/tests/backends/plotly/conftest.py +0 -0
  213. {plopp-25.7.0 → plopp-25.9.0}/tests/backends/plotly/plotly_line_test.py +0 -0
  214. {plopp-25.7.0 → plopp-25.9.0}/tests/backends/pythreejs/pythreejs_canvas_test.py +0 -0
  215. {plopp-25.7.0 → plopp-25.9.0}/tests/backends/pythreejs/pythreejs_scatter3d_test.py +0 -0
  216. {plopp-25.7.0 → plopp-25.9.0}/tests/conftest.py +0 -0
  217. {plopp-25.7.0 → plopp-25.9.0}/tests/core/graph_test.py +0 -0
  218. {plopp-25.7.0 → plopp-25.9.0}/tests/core/limits_test.py +0 -0
  219. {plopp-25.7.0 → plopp-25.9.0}/tests/core/node_test.py +0 -0
  220. {plopp-25.7.0 → plopp-25.9.0}/tests/core/utils_test.py +0 -0
  221. {plopp-25.7.0 → plopp-25.9.0}/tests/graphics/artists_test.py +0 -0
  222. {plopp-25.7.0 → plopp-25.9.0}/tests/graphics/canvas_test.py +0 -0
  223. {plopp-25.7.0 → plopp-25.9.0}/tests/graphics/colormapper_test.py +0 -0
  224. {plopp-25.7.0 → plopp-25.9.0}/tests/graphics/figures_test.py +0 -0
  225. {plopp-25.7.0 → plopp-25.9.0}/tests/high_level_test.py +0 -0
  226. {plopp-25.7.0 → plopp-25.9.0}/tests/minimal_plot_test.py +0 -0
  227. {plopp-25.7.0 → plopp-25.9.0}/tests/package_test.py +0 -0
  228. {plopp-25.7.0 → plopp-25.9.0}/tests/plotting/common_test.py +0 -0
  229. {plopp-25.7.0 → plopp-25.9.0}/tests/plotting/inspector_test.py +0 -0
  230. {plopp-25.7.0 → plopp-25.9.0}/tests/plotting/mesh3d_test.py +0 -0
  231. {plopp-25.7.0 → plopp-25.9.0}/tests/plotting/scatter3d_test.py +0 -0
  232. {plopp-25.7.0 → plopp-25.9.0}/tests/plotting/scatter_test.py +0 -0
  233. {plopp-25.7.0 → plopp-25.9.0}/tests/plotting/slicer_test.py +0 -0
  234. {plopp-25.7.0 → plopp-25.9.0}/tests/plotting/superplot_test.py +0 -0
  235. {plopp-25.7.0 → plopp-25.9.0}/tests/plotting/xyplot_test.py +0 -0
  236. {plopp-25.7.0 → plopp-25.9.0}/tests/widgets/box_test.py +0 -0
  237. {plopp-25.7.0 → plopp-25.9.0}/tests/widgets/checkboxes_test.py +0 -0
  238. {plopp-25.7.0 → plopp-25.9.0}/tests/widgets/clip3d_test.py +0 -0
@@ -1,9 +1,9 @@
1
1
  # Changes here will be overwritten by Copier; NEVER EDIT MANUALLY
2
- _commit: d3d4dc7
2
+ _commit: c3214e6
3
3
  _src_path: https://github.com/scipp/copier_template.git
4
4
  description: Visualization library for Scipp
5
5
  max_python: '3.13'
6
- min_python: '3.10'
6
+ min_python: '3.11'
7
7
  namespace_package: ''
8
8
  nightly_deps: scipp
9
9
  orgname: scipp
@@ -0,0 +1,37 @@
1
+ name: Nightly test using lower bound dependencies
2
+
3
+ on:
4
+ workflow_dispatch:
5
+ schedule:
6
+ - cron: '30 1 * * 1-5'
7
+
8
+ jobs:
9
+ setup:
10
+ name: Setup variables
11
+ runs-on: 'ubuntu-24.04'
12
+ outputs:
13
+ min_python: ${{ steps.vars.outputs.min_python }}
14
+ steps:
15
+ - uses: actions/checkout@v4
16
+ - name: Get Python version for other CI jobs
17
+ id: vars
18
+ run: echo "min_python=$(< .github/workflows/python-version-ci)" >> "$GITHUB_OUTPUT"
19
+
20
+ tests:
21
+ name: Tests at lower bound
22
+ needs: setup
23
+ strategy:
24
+ matrix:
25
+ os: ['ubuntu-24.04']
26
+ python:
27
+ - version: '${{needs.setup.outputs.min_python}}'
28
+ runs-on: ${{ matrix.os }}
29
+ env:
30
+ ESS_PROTECTED_FILESTORE_USERNAME: ${{ secrets.ESS_PROTECTED_FILESTORE_USERNAME }}
31
+ ESS_PROTECTED_FILESTORE_PASSWORD: ${{ secrets.ESS_PROTECTED_FILESTORE_PASSWORD }}
32
+ steps:
33
+ - uses: actions/checkout@v4
34
+ - uses: astral-sh/setup-uv@v6
35
+ with:
36
+ python-version: ${{ matrix.python.version }}
37
+ - run: uv run --extra=test --resolution=lowest-direct pytest
@@ -0,0 +1 @@
1
+ 3.11
@@ -33,7 +33,7 @@ jobs:
33
33
 
34
34
  upload_pypi:
35
35
  name: Deploy PyPI
36
- needs: build_wheels
36
+ needs: [build_wheels]
37
37
  runs-on: 'ubuntu-24.04'
38
38
  environment: release
39
39
  permissions:
@@ -44,7 +44,7 @@ jobs:
44
44
  - uses: pypa/gh-action-pypi-publish@v1.12.4
45
45
 
46
46
  docs:
47
- needs: upload_pypi
47
+ needs: [upload_pypi]
48
48
  uses: ./.github/workflows/docs.yml
49
49
  with:
50
50
  publish: ${{ github.event_name == 'release' && github.event.action == 'published' }}
@@ -10,7 +10,6 @@ repos:
10
10
  - id: check-merge-conflict
11
11
  - id: check-toml
12
12
  - id: check-yaml
13
- exclude: conda/meta.yaml
14
13
  - id: detect-private-key
15
14
  - id: trailing-whitespace
16
15
  args: [ --markdown-linebreak-ext=md ]
@@ -36,6 +35,8 @@ repos:
36
35
  - id: codespell
37
36
  additional_dependencies:
38
37
  - tomli
38
+ exclude_types:
39
+ - svg
39
40
  - repo: https://github.com/pre-commit/pygrep-hooks
40
41
  rev: v1.10.0
41
42
  hooks:
@@ -0,0 +1 @@
1
+ 3.11
plopp-25.9.0/PKG-INFO ADDED
@@ -0,0 +1,71 @@
1
+ Metadata-Version: 2.4
2
+ Name: plopp
3
+ Version: 25.9.0
4
+ Summary: Visualization library for Scipp
5
+ Author: Scipp contributors
6
+ License-Expression: BSD-3-Clause
7
+ Project-URL: Bug Tracker, https://github.com/scipp/plopp/issues
8
+ Project-URL: Documentation, https://scipp.github.io/plopp
9
+ Project-URL: Source, https://github.com/scipp/plopp
10
+ Classifier: Intended Audience :: Science/Research
11
+ Classifier: Natural Language :: English
12
+ Classifier: Operating System :: OS Independent
13
+ Classifier: Programming Language :: Python :: 3
14
+ Classifier: Programming Language :: Python :: 3 :: Only
15
+ Classifier: Programming Language :: Python :: 3.11
16
+ Classifier: Programming Language :: Python :: 3.12
17
+ Classifier: Programming Language :: Python :: 3.13
18
+ Classifier: Topic :: Scientific/Engineering
19
+ Classifier: Typing :: Typed
20
+ Requires-Python: >=3.11
21
+ Description-Content-Type: text/markdown
22
+ License-File: LICENSE
23
+ Requires-Dist: lazy-loader>=0.4
24
+ Requires-Dist: matplotlib>=3.8
25
+ Provides-Extra: scipp
26
+ Requires-Dist: scipp>=25.5.0; extra == "scipp"
27
+ Provides-Extra: all
28
+ Requires-Dist: scipp>=25.5.0; extra == "all"
29
+ Requires-Dist: ipympl>0.8.4; extra == "all"
30
+ Requires-Dist: pythreejs>=2.4.1; extra == "all"
31
+ Requires-Dist: mpltoolbox>=24.6.0; extra == "all"
32
+ Requires-Dist: ipywidgets>=8.1.0; extra == "all"
33
+ Requires-Dist: graphviz>=0.20.3; extra == "all"
34
+ Provides-Extra: test
35
+ Requires-Dist: graphviz>=0.20.3; extra == "test"
36
+ Requires-Dist: h5py>=3.12; extra == "test"
37
+ Requires-Dist: ipympl>=0.8.4; extra == "test"
38
+ Requires-Dist: ipywidgets>=8.1.0; extra == "test"
39
+ Requires-Dist: mpltoolbox>=24.6.0; extra == "test"
40
+ Requires-Dist: pandas>=2.2.2; extra == "test"
41
+ Requires-Dist: plotly>=5.15.0; extra == "test"
42
+ Requires-Dist: pooch>=1.5; extra == "test"
43
+ Requires-Dist: pyarrow>=13.0.0; extra == "test"
44
+ Requires-Dist: pytest>=7.0; extra == "test"
45
+ Requires-Dist: pythreejs>=2.4.1; extra == "test"
46
+ Requires-Dist: scipp>=25.5.0; extra == "test"
47
+ Requires-Dist: scipy>=1.10.0; extra == "test"
48
+ Requires-Dist: xarray>=v2024.05.0; extra == "test"
49
+ Requires-Dist: anywidget>=0.9.0; extra == "test"
50
+ Dynamic: license-file
51
+
52
+ <img src="docs/_static/logo.svg" width="50%" />
53
+
54
+ [![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-2.1-4baaaa.svg)](CODE_OF_CONDUCT.md)
55
+ [![PyPI badge](http://img.shields.io/pypi/v/plopp.svg)](https://pypi.python.org/pypi/plopp)
56
+ [![Anaconda-Server Badge](https://anaconda.org/conda-forge/plopp/badges/version.svg)](https://anaconda.org/conda-forge/plopp)
57
+ [![Documentation](https://img.shields.io/badge/docs-online-success)](https://scipp.github.io/plopp/)
58
+ [![License: BSD 3-Clause](https://img.shields.io/badge/License-BSD%203--Clause-blue.svg)](LICENSE)
59
+ [![DOI](https://zenodo.org/badge/528859752.svg)](https://zenodo.org/badge/latestdoi/528859752)
60
+
61
+ # Plopp
62
+
63
+ ## About
64
+
65
+ Visualization library for Scipp
66
+
67
+ ## Installation
68
+
69
+ ```sh
70
+ python -m pip install plopp
71
+ ```
@@ -2,11 +2,11 @@
2
2
 
3
3
  ## Development
4
4
 
5
- Plopp is an open source project by the [European Spallation Source ERIC](https://europeanspallationsource.se/) (ESS).
5
+ Plopp is an open source project by the [European Spallation Source ERIC](https://ess.eu/) (ESS).
6
6
 
7
7
  ## License
8
8
 
9
- Plopp is available as open source under the [BSD-3 license](https://opensource.org/licenses/BSD-3-Clause).
9
+ Plopp is available as open source under the [BSD-3 license](https://opensource.org/license/BSD-3-Clause).
10
10
 
11
11
  ## Citing Plopp
12
12
 
@@ -32,6 +32,7 @@ extensions = [
32
32
  'sphinx_autodoc_typehints',
33
33
  'sphinx_copybutton',
34
34
  'sphinx_design',
35
+ 'sphinxcontrib.autodoc_pydantic',
35
36
  'nbsphinx',
36
37
  'sphinx_gallery.load_style',
37
38
  'myst_parser',
@@ -248,6 +249,9 @@ doctest_default_flags = (
248
249
  linkcheck_ignore = [
249
250
  # Specific lines in Github blobs cannot be found by linkcheck.
250
251
  r'https?://github\.com/.*?/blob/[a-f0-9]+/.+?#',
252
+ # Linkcheck seems to be denied access by some DOI resolvers.
253
+ # Since DOIs are supposed to be permanent, we don't need to check them.'
254
+ r'https://doi\.org/',
251
255
  ]
252
256
 
253
257
  # -- Options for nbsphinx gallery------------------------------------------
@@ -0,0 +1,241 @@
1
+ {
2
+ "cells": [
3
+ {
4
+ "cell_type": "markdown",
5
+ "id": "0",
6
+ "metadata": {},
7
+ "source": [
8
+ "# Animations\n",
9
+ "\n",
10
+ "To create animations with Plopp, we make use of the [node mechanism](custom-interfaces.ipynb)\n",
11
+ "and leverage [Matplotlib's support for animations](https://matplotlib.org/stable/users/explain/animations/animations.html).\n",
12
+ "\n",
13
+ "## 1D animations"
14
+ ]
15
+ },
16
+ {
17
+ "cell_type": "code",
18
+ "execution_count": null,
19
+ "id": "1",
20
+ "metadata": {},
21
+ "outputs": [],
22
+ "source": [
23
+ "import plopp as pp\n",
24
+ "from plopp.data.examples import three_bands\n",
25
+ "import matplotlib.animation as animation"
26
+ ]
27
+ },
28
+ {
29
+ "cell_type": "markdown",
30
+ "id": "2",
31
+ "metadata": {},
32
+ "source": [
33
+ "We load the data and display it in a figure:"
34
+ ]
35
+ },
36
+ {
37
+ "cell_type": "code",
38
+ "execution_count": null,
39
+ "id": "3",
40
+ "metadata": {},
41
+ "outputs": [],
42
+ "source": [
43
+ "da = three_bands()\n",
44
+ "da.plot(norm=\"log\")"
45
+ ]
46
+ },
47
+ {
48
+ "cell_type": "markdown",
49
+ "id": "4",
50
+ "metadata": {},
51
+ "source": [
52
+ "We now create an animation where we are scanning the vertical `y` direction of the data,\n",
53
+ "making a plot of each slice in each step of the animation.\n",
54
+ "\n",
55
+ "On every call to the `update` function passed to Matplotlib's `FuncAnimation`,\n",
56
+ "we update the index node and notify the children nodes of the change.\n",
57
+ "This updates the figure at every step.\n",
58
+ "\n",
59
+ "Finally, we save the animation to a `.gif` file.\n",
60
+ "See [here](https://matplotlib.org/stable/users/explain/animations/animations.html#saving-animations)\n",
61
+ "for the possible formats animations can be saved in."
62
+ ]
63
+ },
64
+ {
65
+ "cell_type": "code",
66
+ "execution_count": null,
67
+ "id": "5",
68
+ "metadata": {},
69
+ "outputs": [],
70
+ "source": [
71
+ "data_node = pp.Node(da)\n",
72
+ "index_node = pp.Node(0)\n",
73
+ "# Here, 'y' is the dimension you want to slice\n",
74
+ "slice_node = pp.Node(lambda da, ind: da[\"y\", ind], da=data_node, ind=index_node)\n",
75
+ "\n",
76
+ "f = pp.linefigure(slice_node, vmin=-1, vmax=200)\n",
77
+ "\n",
78
+ "\n",
79
+ "def update(frame):\n",
80
+ " index_node.func = lambda: frame\n",
81
+ " index_node.notify_children(\"\")\n",
82
+ "\n",
83
+ "\n",
84
+ "ani = animation.FuncAnimation(fig=f.fig, func=update, frames=200, interval=100)\n",
85
+ "ani.save(filename=\"animation_1d.gif\", writer=\"pillow\")"
86
+ ]
87
+ },
88
+ {
89
+ "cell_type": "markdown",
90
+ "id": "6",
91
+ "metadata": {},
92
+ "source": [
93
+ "### Displaying the animation in the notebook\n",
94
+ "\n",
95
+ "There are (at least) three different ways to display the animation directly in the notebook.\n",
96
+ "\n",
97
+ "#### Markdown\n",
98
+ "\n",
99
+ "The first is to create a markdown cell and just display the image (note that refreshing browser window may be required in some cases):\n",
100
+ "\n",
101
+ "```\n",
102
+ "![ani](animation_1d.gif)\n",
103
+ "```"
104
+ ]
105
+ },
106
+ {
107
+ "cell_type": "markdown",
108
+ "id": "7",
109
+ "metadata": {},
110
+ "source": [
111
+ "![ani](animation_1d.gif)"
112
+ ]
113
+ },
114
+ {
115
+ "cell_type": "markdown",
116
+ "id": "8",
117
+ "metadata": {},
118
+ "source": [
119
+ "#### Display the interactive figure\n",
120
+ "\n",
121
+ "The second method is to simply display the figure `f` define above,\n",
122
+ "but **this only works if `%matplotlib widget` is enabled** (and does not work in the rendered docs, hence not shown here).\n",
123
+ "The advantage of this method is that it does not require first saving the animation to disk.\n",
124
+ "\n",
125
+ "#### Ipywidgets\n",
126
+ "\n",
127
+ "The third method is to use `ipywidgets` to display the image in the file:"
128
+ ]
129
+ },
130
+ {
131
+ "cell_type": "code",
132
+ "execution_count": null,
133
+ "id": "9",
134
+ "metadata": {},
135
+ "outputs": [],
136
+ "source": [
137
+ "import ipywidgets as ipw\n",
138
+ "\n",
139
+ "ipw.Image(value=open(\"animation_1d.gif\", \"rb\").read(), format=\"gif\")"
140
+ ]
141
+ },
142
+ {
143
+ "cell_type": "markdown",
144
+ "id": "10",
145
+ "metadata": {},
146
+ "source": [
147
+ "## 2D animations\n",
148
+ "\n",
149
+ "We can create a similar animation on 2d images,\n",
150
+ "where instead of slicing the vertical dimension,\n",
151
+ "we collect more and more signal as time progresses.\n",
152
+ "\n",
153
+ "Every time the `update` function is called,\n",
154
+ "new data is created and added to the current data."
155
+ ]
156
+ },
157
+ {
158
+ "cell_type": "code",
159
+ "execution_count": null,
160
+ "id": "11",
161
+ "metadata": {},
162
+ "outputs": [],
163
+ "source": [
164
+ "da = three_bands(npeaks=20, per_peak=500, spread=30.0)\n",
165
+ "data_node = pp.Node(da)\n",
166
+ "\n",
167
+ "f = pp.imagefigure(data_node, cbar=True, vmin=30, vmax=400, norm=\"log\")\n",
168
+ "\n",
169
+ "\n",
170
+ "def update(frame):\n",
171
+ " # Make new data and add it to the current data.\n",
172
+ " # The current data is obtained by calling the `data_node()`\n",
173
+ " new = three_bands(npeaks=20, per_peak=500, spread=30.0) + data_node()\n",
174
+ " data_node.func = lambda: new\n",
175
+ " data_node.notify_children(\"\")\n",
176
+ "\n",
177
+ "\n",
178
+ "ani = animation.FuncAnimation(fig=f.fig, func=update, frames=80, interval=100)\n",
179
+ "ani.save(filename=\"animation_2d.gif\", writer=\"pillow\")"
180
+ ]
181
+ },
182
+ {
183
+ "cell_type": "markdown",
184
+ "id": "12",
185
+ "metadata": {},
186
+ "source": [
187
+ "We now display the resulting animation (using markdown):\n",
188
+ "\n",
189
+ "![ani2](animation_2d.gif)"
190
+ ]
191
+ },
192
+ {
193
+ "cell_type": "markdown",
194
+ "id": "13",
195
+ "metadata": {},
196
+ "source": [
197
+ "## 3D animations\n",
198
+ "\n",
199
+ "Animations on 3D plots are currently not supported.\n",
200
+ "\n",
201
+ "The best way to achieve this would be to record a screencast while interacting with a 3D scene."
202
+ ]
203
+ },
204
+ {
205
+ "cell_type": "code",
206
+ "execution_count": null,
207
+ "id": "14",
208
+ "metadata": {
209
+ "nbsphinx": "hidden"
210
+ },
211
+ "outputs": [],
212
+ "source": [
213
+ "# This cell is used to generate the thumbnail for the docs.\n",
214
+ "# It is hidden from the online documentation.\n",
215
+ "import shutil\n",
216
+ "\n",
217
+ "shutil.copyfile(\"animation_2d.gif\", \"../_static/customization/animation_2d.gif\")"
218
+ ]
219
+ }
220
+ ],
221
+ "metadata": {
222
+ "kernelspec": {
223
+ "display_name": "Python 3 (ipykernel)",
224
+ "language": "python",
225
+ "name": "python3"
226
+ },
227
+ "language_info": {
228
+ "codemirror_mode": {
229
+ "name": "ipython",
230
+ "version": 3
231
+ },
232
+ "file_extension": ".py",
233
+ "mimetype": "text/x-python",
234
+ "name": "python",
235
+ "nbconvert_exporter": "python",
236
+ "pygments_lexer": "ipython3"
237
+ }
238
+ },
239
+ "nbformat": 4,
240
+ "nbformat_minor": 5
241
+ }
@@ -30,6 +30,12 @@
30
30
 
31
31
  :::
32
32
 
33
+ ::::{grid-item-card} Animations
34
+ :link: animations.ipynb
35
+ :img-bottom: ../_static/customization/animation_2d.gif
36
+
37
+ :::
38
+
33
39
  ::::
34
40
 
35
41
  ```{toctree}
@@ -41,4 +47,5 @@ subplots
41
47
  tweaking-figures
42
48
  custom-interfaces
43
49
  graph-node-tips
50
+ animations
44
51
  ```
@@ -40,7 +40,7 @@ Alternatively, if you want a different workflow, take a look at ``tox.ini`` or `
40
40
  Run the tests using
41
41
 
42
42
  ```sh
43
- tox -e py310
43
+ tox -e py311
44
44
  ```
45
45
 
46
46
  (or just `tox` if you want to run all environments).
@@ -24,10 +24,10 @@
24
24
 
25
25
  # {transparent}`Plopp`
26
26
 
27
- <span style="font-size:1.2em;font-style:italic;color:var(--pst-color-text-muted)">
27
+ <div style="font-size:1.2em;font-style:italic;color:var(--pst-color-text-muted);text-align:center;">
28
28
  Visualization library for Scipp
29
29
  </br></br>
30
- </span>
30
+ </div>
31
31
 
32
32
 
33
33
  ## Getting started
@@ -154,6 +154,10 @@
154
154
 
155
155
  :::
156
156
 
157
+ :::{grid-item-card} Animations
158
+ :link: customization/animations.ipynb
159
+ :img-bottom: _static/customization/animation_2d.gif
160
+
157
161
  ::::
158
162
 
159
163
  ```{toctree}
@@ -1,6 +1,6 @@
1
1
  [build-system]
2
2
  requires = [
3
- "setuptools>=68",
3
+ "setuptools>=77",
4
4
  "setuptools_scm[toml]>=8.0",
5
5
  ]
6
6
  build-backend = "setuptools.build_meta"
@@ -9,53 +9,52 @@ build-backend = "setuptools.build_meta"
9
9
  name = "plopp"
10
10
  description = "Visualization library for Scipp"
11
11
  authors = [{ name = "Scipp contributors" }]
12
- license = { file = "LICENSE" }
12
+ license = "BSD-3-Clause"
13
+ license-files = ["LICENSE"]
13
14
  readme = "README.md"
14
15
  classifiers = [
15
16
  "Intended Audience :: Science/Research",
16
- "License :: OSI Approved :: BSD License",
17
17
  "Natural Language :: English",
18
18
  "Operating System :: OS Independent",
19
19
  "Programming Language :: Python :: 3",
20
20
  "Programming Language :: Python :: 3 :: Only",
21
- "Programming Language :: Python :: 3.10",
22
21
  "Programming Language :: Python :: 3.11",
23
22
  "Programming Language :: Python :: 3.12",
24
23
  "Programming Language :: Python :: 3.13",
25
24
  "Topic :: Scientific/Engineering",
26
25
  "Typing :: Typed",
27
26
  ]
28
- requires-python = ">=3.10"
27
+ requires-python = ">=3.11"
29
28
 
30
29
  # IMPORTANT:
31
30
  # Run 'tox -e deps' after making changes here. This will update requirement files.
32
31
  # Make sure to list one dependency per line.
33
32
  dependencies = [
34
- "lazy-loader",
35
- "matplotlib>=3.5",
33
+ "lazy-loader>=0.4",
34
+ "matplotlib>=3.8",
36
35
  ]
37
36
 
38
37
  dynamic = ["version"]
39
38
 
40
39
  [project.optional-dependencies]
41
- scipp = ["scipp"]
42
- all = ["scipp", "ipympl", "pythreejs", "mpltoolbox", "ipywidgets", "graphviz"]
40
+ scipp = ["scipp>=25.5.0"]
41
+ all = ["scipp>=25.5.0", "ipympl>0.8.4", "pythreejs>=2.4.1", "mpltoolbox>=24.6.0", "ipywidgets>=8.1.0", "graphviz>=0.20.3"]
43
42
  test = [
44
- "graphviz",
45
- "h5py",
46
- "ipympl",
47
- "ipywidgets",
48
- "mpltoolbox",
49
- "pandas",
50
- "plotly",
51
- "pooch",
52
- "pyarrow",
53
- "pytest",
54
- "pythreejs",
55
- "scipp",
56
- "scipy",
57
- "xarray",
58
- "anywidget"
43
+ "graphviz>=0.20.3",
44
+ "h5py>=3.12",
45
+ "ipympl>=0.8.4",
46
+ "ipywidgets>=8.1.0",
47
+ "mpltoolbox>=24.6.0",
48
+ "pandas>=2.2.2",
49
+ "plotly>=5.15.0",
50
+ "pooch>=1.5",
51
+ "pyarrow>=13.0.0",
52
+ "pytest>=7.0",
53
+ "pythreejs>=2.4.1",
54
+ "scipp>=25.5.0",
55
+ "scipy>=1.10.0",
56
+ "xarray>=v2024.05.0",
57
+ "anywidget>=0.9.0"
59
58
  ]
60
59
 
61
60
  [project.urls]
@@ -84,6 +83,8 @@ filterwarnings = [
84
83
  'ignore:There is no current event loop:DeprecationWarning',
85
84
  # Should be removed once https://github.com/ipython/ipykernel/pull/1248 is released
86
85
  'ignore:Parsing dates involving a day of month without a year:DeprecationWarning',
86
+ # Should be removed once we lower pin a matplotlib version that respects the deprecation
87
+ 'ignore:.*parameter is deprecated and will be removed in Pillow 13.*:DeprecationWarning',
87
88
  ]
88
89
 
89
90
  [tool.ruff]
@@ -5,5 +5,5 @@ scipp
5
5
  # will not be touched by ``make_base.py``
6
6
  # --- END OF CUSTOM SECTION ---
7
7
  # The following was generated by 'tox -e deps', DO NOT EDIT MANUALLY!
8
- lazy-loader
9
- matplotlib>=3.5
8
+ lazy-loader>=0.4
9
+ matplotlib>=3.8
@@ -1,23 +1,23 @@
1
- # SHA1:b75ff651ebe8504f9d49c28d3320569f1b4de903
1
+ # SHA1:fdb11dd5d28bac2a11ab529e4f383611e6e42b57
2
2
  #
3
3
  # This file was generated by pip-compile-multi.
4
4
  # To update, run:
5
5
  #
6
6
  # requirements upgrade
7
7
  #
8
- contourpy==1.3.2
8
+ contourpy==1.3.3
9
9
  # via matplotlib
10
10
  cycler==0.12.1
11
11
  # via matplotlib
12
- fonttools==4.58.1
12
+ fonttools==4.59.0
13
13
  # via matplotlib
14
14
  kiwisolver==1.4.8
15
15
  # via matplotlib
16
16
  lazy-loader==0.4
17
17
  # via -r base.in
18
- matplotlib==3.10.3
18
+ matplotlib==3.10.5
19
19
  # via -r base.in
20
- numpy==2.2.6
20
+ numpy==2.3.2
21
21
  # via
22
22
  # contourpy
23
23
  # matplotlib
@@ -26,13 +26,13 @@ packaging==25.0
26
26
  # via
27
27
  # lazy-loader
28
28
  # matplotlib
29
- pillow==11.2.1
29
+ pillow==11.3.0
30
30
  # via matplotlib
31
31
  pyparsing==3.2.3
32
32
  # via matplotlib
33
33
  python-dateutil==2.9.0.post0
34
34
  # via matplotlib
35
- scipp==25.5.1
35
+ scipp==25.8.0
36
36
  # via -r base.in
37
37
  six==1.17.0
38
38
  # via python-dateutil
@@ -7,18 +7,18 @@
7
7
  # will not be touched by ``make_base.py``
8
8
  # --- END OF CUSTOM SECTION ---
9
9
  # The following was generated by 'tox -e deps', DO NOT EDIT MANUALLY!
10
- graphviz
11
- h5py
12
- ipympl
13
- ipywidgets
14
- mpltoolbox
15
- pandas
16
- plotly
17
- pooch
18
- pyarrow
19
- pytest
20
- pythreejs
21
- scipp
22
- scipy
23
- xarray
24
- anywidget
10
+ graphviz>=0.20.3
11
+ h5py>=3.12
12
+ ipympl>=0.8.4
13
+ ipywidgets>=8.1.0
14
+ mpltoolbox>=24.6.0
15
+ pandas>=2.2.2
16
+ plotly>=5.15.0
17
+ pooch>=1.5
18
+ pyarrow>=13.0.0
19
+ pytest>=7.0
20
+ pythreejs>=2.4.1
21
+ scipp>=25.5.0
22
+ scipy>=1.10.0
23
+ xarray>=v2024.05.0
24
+ anywidget>=0.9.0