plopp 25.10.0__tar.gz → 26.2.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 (237) hide show
  1. {plopp-25.10.0 → plopp-26.2.0}/.copier-answers.yml +1 -1
  2. {plopp-25.10.0 → plopp-26.2.0}/.github/workflows/docs.yml +1 -1
  3. {plopp-25.10.0 → plopp-26.2.0}/.github/workflows/nightly_at_main_lower_bound.yml +1 -1
  4. {plopp-25.10.0 → plopp-26.2.0}/.gitignore +1 -0
  5. {plopp-25.10.0 → plopp-26.2.0}/.pre-commit-config.yaml +5 -5
  6. {plopp-25.10.0/src/plopp.egg-info → plopp-26.2.0}/PKG-INFO +3 -2
  7. plopp-26.2.0/docs/_static/crosshairs.png +0 -0
  8. {plopp-25.10.0 → plopp-26.2.0}/docs/api-reference/index.md +2 -1
  9. {plopp-25.10.0 → plopp-26.2.0}/docs/conf.py +2 -1
  10. {plopp-25.10.0 → plopp-26.2.0}/docs/gallery/interactive-masking.ipynb +1 -1
  11. {plopp-25.10.0 → plopp-26.2.0}/docs/gallery/rectangle-selection.ipynb +1 -1
  12. {plopp-25.10.0 → plopp-26.2.0}/docs/getting-started/numpy-pandas-xarray.ipynb +1 -2
  13. {plopp-25.10.0 → plopp-26.2.0}/docs/plotting/inspector-plot.ipynb +1 -3
  14. {plopp-25.10.0 → plopp-26.2.0}/pyproject.toml +7 -1
  15. {plopp-25.10.0 → plopp-26.2.0}/requirements/base.txt +7 -7
  16. {plopp-25.10.0 → plopp-26.2.0}/requirements/basetest.in +1 -0
  17. {plopp-25.10.0 → plopp-26.2.0}/requirements/basetest.txt +74 -40
  18. {plopp-25.10.0 → plopp-26.2.0}/requirements/ci.txt +10 -10
  19. {plopp-25.10.0 → plopp-26.2.0}/requirements/dev.txt +21 -23
  20. {plopp-25.10.0 → plopp-26.2.0}/requirements/docs.txt +18 -45
  21. {plopp-25.10.0 → plopp-26.2.0}/requirements/mypy.txt +1 -1
  22. {plopp-25.10.0 → plopp-26.2.0}/requirements/nightly.in +1 -0
  23. {plopp-25.10.0 → plopp-26.2.0}/requirements/nightly.txt +74 -40
  24. {plopp-25.10.0 → plopp-26.2.0}/requirements/static.txt +6 -6
  25. {plopp-25.10.0 → plopp-26.2.0}/src/plopp/__init__.py +1 -1
  26. {plopp-25.10.0 → plopp-26.2.0}/src/plopp/backends/matplotlib/canvas.py +3 -3
  27. {plopp-25.10.0 → plopp-26.2.0}/src/plopp/backends/plotly/canvas.py +2 -2
  28. {plopp-25.10.0 → plopp-26.2.0}/src/plopp/graphics/colormapper.py +14 -4
  29. {plopp-25.10.0 → plopp-26.2.0}/src/plopp/graphics/graphicalview.py +5 -4
  30. {plopp-25.10.0 → plopp-26.2.0}/src/plopp/plotting/common.py +3 -3
  31. {plopp-25.10.0 → plopp-26.2.0}/src/plopp/plotting/inspector.py +100 -43
  32. {plopp-25.10.0 → plopp-26.2.0}/src/plopp/plotting/mesh3d.py +1 -1
  33. {plopp-25.10.0 → plopp-26.2.0}/src/plopp/plotting/plot.py +2 -2
  34. {plopp-25.10.0 → plopp-26.2.0}/src/plopp/plotting/scatter.py +3 -3
  35. {plopp-25.10.0 → plopp-26.2.0}/src/plopp/plotting/scatter3d.py +5 -5
  36. {plopp-25.10.0 → plopp-26.2.0}/src/plopp/plotting/slicer.py +2 -2
  37. {plopp-25.10.0 → plopp-26.2.0}/src/plopp/plotting/superplot.py +2 -2
  38. {plopp-25.10.0 → plopp-26.2.0}/src/plopp/plotting/xyplot.py +2 -2
  39. {plopp-25.10.0 → plopp-26.2.0}/src/plopp/widgets/__init__.pyi +4 -3
  40. {plopp-25.10.0 → plopp-26.2.0}/src/plopp/widgets/clip3d.py +160 -41
  41. {plopp-25.10.0 → plopp-26.2.0}/src/plopp/widgets/drawing.py +80 -3
  42. {plopp-25.10.0 → plopp-26.2.0}/src/plopp/widgets/linesave.py +1 -1
  43. {plopp-25.10.0 → plopp-26.2.0}/src/plopp/widgets/slice.py +2 -2
  44. {plopp-25.10.0 → plopp-26.2.0}/src/plopp/widgets/style.py +1 -1
  45. {plopp-25.10.0 → plopp-26.2.0}/src/plopp/widgets/tools.py +3 -3
  46. {plopp-25.10.0 → plopp-26.2.0/src/plopp.egg-info}/PKG-INFO +3 -2
  47. {plopp-25.10.0 → plopp-26.2.0}/src/plopp.egg-info/SOURCES.txt +1 -1
  48. {plopp-25.10.0 → plopp-26.2.0}/src/plopp.egg-info/requires.txt +2 -1
  49. {plopp-25.10.0 → plopp-26.2.0}/tests/core/node_test.py +6 -6
  50. {plopp-25.10.0 → plopp-26.2.0}/tests/graphics/artists_test.py +1 -1
  51. {plopp-25.10.0 → plopp-26.2.0}/tests/graphics/canvas_test.py +7 -3
  52. {plopp-25.10.0 → plopp-26.2.0}/tests/graphics/colormapper_test.py +6 -2
  53. {plopp-25.10.0 → plopp-26.2.0}/tests/graphics/figures_test.py +3 -1
  54. plopp-26.2.0/tests/plotting/inspector_test.py +326 -0
  55. {plopp-25.10.0 → plopp-26.2.0}/tests/plotting/plot_1d_test.py +27 -0
  56. {plopp-25.10.0 → plopp-26.2.0}/tests/plotting/scatter_test.py +32 -1
  57. {plopp-25.10.0 → plopp-26.2.0}/tests/widgets/clip3d_test.py +93 -15
  58. {plopp-25.10.0 → plopp-26.2.0}/tox.ini +2 -2
  59. plopp-25.10.0/.github/dependabot.yml +0 -13
  60. plopp-25.10.0/tests/plotting/inspector_test.py +0 -92
  61. {plopp-25.10.0 → plopp-26.2.0}/.github/workflows/ci.yml +0 -0
  62. {plopp-25.10.0 → plopp-26.2.0}/.github/workflows/nightly_at_main.yml +0 -0
  63. {plopp-25.10.0 → plopp-26.2.0}/.github/workflows/nightly_at_release.yml +0 -0
  64. {plopp-25.10.0 → plopp-26.2.0}/.github/workflows/python-version-ci +0 -0
  65. {plopp-25.10.0 → plopp-26.2.0}/.github/workflows/release.yml +0 -0
  66. {plopp-25.10.0 → plopp-26.2.0}/.github/workflows/test.yml +0 -0
  67. {plopp-25.10.0 → plopp-26.2.0}/.github/workflows/unpinned.yml +0 -0
  68. {plopp-25.10.0 → plopp-26.2.0}/.github/workflows/weekly_windows_macos.yml +0 -0
  69. {plopp-25.10.0 → plopp-26.2.0}/.python-version +0 -0
  70. {plopp-25.10.0 → plopp-26.2.0}/CODE_OF_CONDUCT.md +0 -0
  71. {plopp-25.10.0 → plopp-26.2.0}/CONTRIBUTING.md +0 -0
  72. {plopp-25.10.0 → plopp-26.2.0}/LICENSE +0 -0
  73. {plopp-25.10.0 → plopp-26.2.0}/MANIFEST.in +0 -0
  74. {plopp-25.10.0 → plopp-26.2.0}/README.md +0 -0
  75. {plopp-25.10.0 → plopp-26.2.0}/docs/_static/anaconda-icon.js +0 -0
  76. {plopp-25.10.0 → plopp-26.2.0}/docs/_static/circle-exclamation.svg +0 -0
  77. {plopp-25.10.0 → plopp-26.2.0}/docs/_static/custom.css +0 -0
  78. {plopp-25.10.0 → plopp-26.2.0}/docs/_static/customization/custom-interfaces.png +0 -0
  79. {plopp-25.10.0 → plopp-26.2.0}/docs/_static/customization/graph-node-tips.png +0 -0
  80. {plopp-25.10.0 → plopp-26.2.0}/docs/_static/customization/subplots.png +0 -0
  81. {plopp-25.10.0 → plopp-26.2.0}/docs/_static/customization/tweaking-figures.png +0 -0
  82. {plopp-25.10.0 → plopp-26.2.0}/docs/_static/favicon.ico +0 -0
  83. {plopp-25.10.0 → plopp-26.2.0}/docs/_static/gallery/README.txt +0 -0
  84. {plopp-25.10.0 → plopp-26.2.0}/docs/_static/gallery/peeling-layers-thumbnail.png +0 -0
  85. {plopp-25.10.0 → plopp-26.2.0}/docs/_static/gallery/scatter3d-with-slider-thumbnail.png +0 -0
  86. {plopp-25.10.0 → plopp-26.2.0}/docs/_static/gallery/scatter3d-with-threshold-thumbnail.png +0 -0
  87. {plopp-25.10.0 → plopp-26.2.0}/docs/_static/logo-dark.svg +0 -0
  88. {plopp-25.10.0 → plopp-26.2.0}/docs/_static/logo-large-dark.svg +0 -0
  89. {plopp-25.10.0 → plopp-26.2.0}/docs/_static/logo-large.svg +0 -0
  90. {plopp-25.10.0 → plopp-26.2.0}/docs/_static/logo.svg +0 -0
  91. {plopp-25.10.0 → plopp-26.2.0}/docs/_static/plotting/image-plot.png +0 -0
  92. {plopp-25.10.0 → plopp-26.2.0}/docs/_static/plotting/inspector-plot.png +0 -0
  93. {plopp-25.10.0 → plopp-26.2.0}/docs/_static/plotting/line-plot.png +0 -0
  94. {plopp-25.10.0 → plopp-26.2.0}/docs/_static/plotting/mesh3d-plot.png +0 -0
  95. {plopp-25.10.0 → plopp-26.2.0}/docs/_static/plotting/scatter-plot.png +0 -0
  96. {plopp-25.10.0 → plopp-26.2.0}/docs/_static/plotting/scatter3d-plot.png +0 -0
  97. {plopp-25.10.0 → plopp-26.2.0}/docs/_static/plotting/slicer-plot.png +0 -0
  98. {plopp-25.10.0 → plopp-26.2.0}/docs/_static/plotting/super-plot.png +0 -0
  99. {plopp-25.10.0 → plopp-26.2.0}/docs/_templates/class-template.rst +0 -0
  100. {plopp-25.10.0 → plopp-26.2.0}/docs/_templates/doc_version.html +0 -0
  101. {plopp-25.10.0 → plopp-26.2.0}/docs/_templates/module-template.rst +0 -0
  102. {plopp-25.10.0 → plopp-26.2.0}/docs/_templates/scipp-class-template.rst +0 -0
  103. {plopp-25.10.0 → plopp-26.2.0}/docs/_templates/scipp-module-template.rst +0 -0
  104. {plopp-25.10.0 → plopp-26.2.0}/docs/about/index.md +0 -0
  105. {plopp-25.10.0 → plopp-26.2.0}/docs/api-reference/matplotlib.md +0 -0
  106. {plopp-25.10.0 → plopp-26.2.0}/docs/api-reference/plotly.md +0 -0
  107. {plopp-25.10.0 → plopp-26.2.0}/docs/api-reference/pythreejs.md +0 -0
  108. {plopp-25.10.0 → plopp-26.2.0}/docs/customization/animations.ipynb +0 -0
  109. {plopp-25.10.0 → plopp-26.2.0}/docs/customization/custom-interfaces.ipynb +0 -0
  110. {plopp-25.10.0 → plopp-26.2.0}/docs/customization/graph-node-tips.ipynb +0 -0
  111. {plopp-25.10.0 → plopp-26.2.0}/docs/customization/index.md +0 -0
  112. {plopp-25.10.0 → plopp-26.2.0}/docs/customization/subplots.ipynb +0 -0
  113. {plopp-25.10.0 → plopp-26.2.0}/docs/customization/tweaking-figures.ipynb +0 -0
  114. {plopp-25.10.0 → plopp-26.2.0}/docs/developer/coding-conventions.md +0 -0
  115. {plopp-25.10.0 → plopp-26.2.0}/docs/developer/dependency-management.md +0 -0
  116. {plopp-25.10.0 → plopp-26.2.0}/docs/developer/getting-started.md +0 -0
  117. {plopp-25.10.0 → plopp-26.2.0}/docs/developer/index.md +0 -0
  118. {plopp-25.10.0 → plopp-26.2.0}/docs/gallery/index.ipynb +0 -0
  119. {plopp-25.10.0 → plopp-26.2.0}/docs/gallery/masking-a-range.ipynb +0 -0
  120. {plopp-25.10.0 → plopp-26.2.0}/docs/gallery/nyc-taxi.ipynb +0 -0
  121. {plopp-25.10.0 → plopp-26.2.0}/docs/gallery/peeling-layers.ipynb +0 -0
  122. {plopp-25.10.0 → plopp-26.2.0}/docs/gallery/polar-plots.ipynb +0 -0
  123. {plopp-25.10.0 → plopp-26.2.0}/docs/gallery/scatter3d-with-slider.ipynb +0 -0
  124. {plopp-25.10.0 → plopp-26.2.0}/docs/gallery/scatter3d-with-threshold.ipynb +0 -0
  125. {plopp-25.10.0 → plopp-26.2.0}/docs/gallery/streaming-plot.ipynb +0 -0
  126. {plopp-25.10.0 → plopp-26.2.0}/docs/gallery/tiled-random-samples.ipynb +0 -0
  127. {plopp-25.10.0 → plopp-26.2.0}/docs/gallery/updating-scatter.ipynb +0 -0
  128. {plopp-25.10.0 → plopp-26.2.0}/docs/getting-started/index.md +0 -0
  129. {plopp-25.10.0 → plopp-26.2.0}/docs/getting-started/installation.md +0 -0
  130. {plopp-25.10.0 → plopp-26.2.0}/docs/getting-started/overview.ipynb +0 -0
  131. {plopp-25.10.0 → plopp-26.2.0}/docs/getting-started/saving-figures.ipynb +0 -0
  132. {plopp-25.10.0 → plopp-26.2.0}/docs/index.md +0 -0
  133. {plopp-25.10.0 → plopp-26.2.0}/docs/plotting/image-plot.ipynb +0 -0
  134. {plopp-25.10.0 → plopp-26.2.0}/docs/plotting/index.md +0 -0
  135. {plopp-25.10.0 → plopp-26.2.0}/docs/plotting/line-plot.ipynb +0 -0
  136. {plopp-25.10.0 → plopp-26.2.0}/docs/plotting/mesh3d-plot.ipynb +0 -0
  137. {plopp-25.10.0 → plopp-26.2.0}/docs/plotting/scatter-plot.ipynb +0 -0
  138. {plopp-25.10.0 → plopp-26.2.0}/docs/plotting/scatter3d-plot.ipynb +0 -0
  139. {plopp-25.10.0 → plopp-26.2.0}/docs/plotting/slicer-plot.ipynb +0 -0
  140. {plopp-25.10.0 → plopp-26.2.0}/docs/plotting/super-plot.ipynb +0 -0
  141. {plopp-25.10.0 → plopp-26.2.0}/requirements/base.in +0 -0
  142. {plopp-25.10.0 → plopp-26.2.0}/requirements/ci.in +0 -0
  143. {plopp-25.10.0 → plopp-26.2.0}/requirements/dev.in +0 -0
  144. {plopp-25.10.0 → plopp-26.2.0}/requirements/docs.in +0 -0
  145. {plopp-25.10.0 → plopp-26.2.0}/requirements/make_base.py +0 -0
  146. {plopp-25.10.0 → plopp-26.2.0}/requirements/mini.in +0 -0
  147. {plopp-25.10.0 → plopp-26.2.0}/requirements/mini.txt +0 -0
  148. {plopp-25.10.0 → plopp-26.2.0}/requirements/mypy.in +0 -0
  149. {plopp-25.10.0 → plopp-26.2.0}/requirements/noplotly.in +0 -0
  150. {plopp-25.10.0 → plopp-26.2.0}/requirements/noplotly.txt +0 -0
  151. {plopp-25.10.0 → plopp-26.2.0}/requirements/static.in +0 -0
  152. {plopp-25.10.0 → plopp-26.2.0}/requirements/test.in +0 -0
  153. {plopp-25.10.0 → plopp-26.2.0}/requirements/test.txt +0 -0
  154. {plopp-25.10.0 → plopp-26.2.0}/requirements/wheels.in +0 -0
  155. {plopp-25.10.0 → plopp-26.2.0}/requirements/wheels.txt +0 -0
  156. {plopp-25.10.0 → plopp-26.2.0}/resources/logo-plopp-2022.svg +0 -0
  157. {plopp-25.10.0 → plopp-26.2.0}/setup.cfg +0 -0
  158. {plopp-25.10.0 → plopp-26.2.0}/src/plopp/backends/__init__.py +0 -0
  159. {plopp-25.10.0 → plopp-26.2.0}/src/plopp/backends/common.py +0 -0
  160. {plopp-25.10.0 → plopp-26.2.0}/src/plopp/backends/matplotlib/__init__.py +0 -0
  161. {plopp-25.10.0 → plopp-26.2.0}/src/plopp/backends/matplotlib/fast_image.py +0 -0
  162. {plopp-25.10.0 → plopp-26.2.0}/src/plopp/backends/matplotlib/figure.py +0 -0
  163. {plopp-25.10.0 → plopp-26.2.0}/src/plopp/backends/matplotlib/image.py +0 -0
  164. {plopp-25.10.0 → plopp-26.2.0}/src/plopp/backends/matplotlib/line.py +0 -0
  165. {plopp-25.10.0 → plopp-26.2.0}/src/plopp/backends/matplotlib/mesh_image.py +0 -0
  166. {plopp-25.10.0 → plopp-26.2.0}/src/plopp/backends/matplotlib/scatter.py +0 -0
  167. {plopp-25.10.0 → plopp-26.2.0}/src/plopp/backends/matplotlib/tiled.py +0 -0
  168. {plopp-25.10.0 → plopp-26.2.0}/src/plopp/backends/matplotlib/utils.py +0 -0
  169. {plopp-25.10.0 → plopp-26.2.0}/src/plopp/backends/plotly/__init__.py +0 -0
  170. {plopp-25.10.0 → plopp-26.2.0}/src/plopp/backends/plotly/figure.py +0 -0
  171. {plopp-25.10.0 → plopp-26.2.0}/src/plopp/backends/plotly/line.py +0 -0
  172. {plopp-25.10.0 → plopp-26.2.0}/src/plopp/backends/pythreejs/__init__.py +0 -0
  173. {plopp-25.10.0 → plopp-26.2.0}/src/plopp/backends/pythreejs/canvas.py +0 -0
  174. {plopp-25.10.0 → plopp-26.2.0}/src/plopp/backends/pythreejs/figure.py +0 -0
  175. {plopp-25.10.0 → plopp-26.2.0}/src/plopp/backends/pythreejs/mesh3d.py +0 -0
  176. {plopp-25.10.0 → plopp-26.2.0}/src/plopp/backends/pythreejs/outline.py +0 -0
  177. {plopp-25.10.0 → plopp-26.2.0}/src/plopp/backends/pythreejs/scatter3d.py +0 -0
  178. {plopp-25.10.0 → plopp-26.2.0}/src/plopp/core/__init__.py +0 -0
  179. {plopp-25.10.0 → plopp-26.2.0}/src/plopp/core/__init__.pyi +0 -0
  180. {plopp-25.10.0 → plopp-26.2.0}/src/plopp/core/graph.py +0 -0
  181. {plopp-25.10.0 → plopp-26.2.0}/src/plopp/core/helpers.py +0 -0
  182. {plopp-25.10.0 → plopp-26.2.0}/src/plopp/core/limits.py +0 -0
  183. {plopp-25.10.0 → plopp-26.2.0}/src/plopp/core/node_class.py +0 -0
  184. {plopp-25.10.0 → plopp-26.2.0}/src/plopp/core/typing.py +0 -0
  185. {plopp-25.10.0 → plopp-26.2.0}/src/plopp/core/utils.py +0 -0
  186. {plopp-25.10.0 → plopp-26.2.0}/src/plopp/core/view.py +0 -0
  187. {plopp-25.10.0 → plopp-26.2.0}/src/plopp/data/__init__.py +0 -0
  188. {plopp-25.10.0 → plopp-26.2.0}/src/plopp/data/examples.py +0 -0
  189. {plopp-25.10.0 → plopp-26.2.0}/src/plopp/data/factory.py +0 -0
  190. {plopp-25.10.0 → plopp-26.2.0}/src/plopp/data/testing.py +0 -0
  191. {plopp-25.10.0 → plopp-26.2.0}/src/plopp/graphics/__init__.py +0 -0
  192. {plopp-25.10.0 → plopp-26.2.0}/src/plopp/graphics/__init__.pyi +0 -0
  193. {plopp-25.10.0 → plopp-26.2.0}/src/plopp/graphics/basefig.py +0 -0
  194. {plopp-25.10.0 → plopp-26.2.0}/src/plopp/graphics/bbox.py +0 -0
  195. {plopp-25.10.0 → plopp-26.2.0}/src/plopp/graphics/camera.py +0 -0
  196. {plopp-25.10.0 → plopp-26.2.0}/src/plopp/graphics/figures.py +0 -0
  197. {plopp-25.10.0 → plopp-26.2.0}/src/plopp/graphics/tiled.py +0 -0
  198. {plopp-25.10.0 → plopp-26.2.0}/src/plopp/plotting/__init__.py +0 -0
  199. {plopp-25.10.0 → plopp-26.2.0}/src/plopp/plotting/__init__.pyi +0 -0
  200. {plopp-25.10.0 → plopp-26.2.0}/src/plopp/py.typed +0 -0
  201. {plopp-25.10.0 → plopp-26.2.0}/src/plopp/utils/__init__.py +0 -0
  202. {plopp-25.10.0 → plopp-26.2.0}/src/plopp/utils/__init__.pyi +0 -0
  203. {plopp-25.10.0 → plopp-26.2.0}/src/plopp/utils/arg_parse.py +0 -0
  204. {plopp-25.10.0 → plopp-26.2.0}/src/plopp/utils/deprecation.py +0 -0
  205. {plopp-25.10.0 → plopp-26.2.0}/src/plopp/widgets/__init__.py +0 -0
  206. {plopp-25.10.0 → plopp-26.2.0}/src/plopp/widgets/box.py +0 -0
  207. {plopp-25.10.0 → plopp-26.2.0}/src/plopp/widgets/checkboxes.py +0 -0
  208. {plopp-25.10.0 → plopp-26.2.0}/src/plopp/widgets/debounce.py +0 -0
  209. {plopp-25.10.0 → plopp-26.2.0}/src/plopp/widgets/toolbar.py +0 -0
  210. {plopp-25.10.0 → plopp-26.2.0}/src/plopp.egg-info/dependency_links.txt +0 -0
  211. {plopp-25.10.0 → plopp-26.2.0}/src/plopp.egg-info/top_level.txt +0 -0
  212. {plopp-25.10.0 → plopp-26.2.0}/tests/backends/matplotlib/mpl_image_test.py +0 -0
  213. {plopp-25.10.0 → plopp-26.2.0}/tests/backends/matplotlib/mpl_line_test.py +0 -0
  214. {plopp-25.10.0 → plopp-26.2.0}/tests/backends/matplotlib/mpl_plot_test.py +0 -0
  215. {plopp-25.10.0 → plopp-26.2.0}/tests/backends/matplotlib/mpl_scatter_test.py +0 -0
  216. {plopp-25.10.0 → plopp-26.2.0}/tests/backends/matplotlib/mpl_tiled_test.py +0 -0
  217. {plopp-25.10.0 → plopp-26.2.0}/tests/backends/plotly/conftest.py +0 -0
  218. {plopp-25.10.0 → plopp-26.2.0}/tests/backends/plotly/plotly_line_test.py +0 -0
  219. {plopp-25.10.0 → plopp-26.2.0}/tests/backends/pythreejs/pythreejs_canvas_test.py +0 -0
  220. {plopp-25.10.0 → plopp-26.2.0}/tests/backends/pythreejs/pythreejs_scatter3d_test.py +0 -0
  221. {plopp-25.10.0 → plopp-26.2.0}/tests/conftest.py +0 -0
  222. {plopp-25.10.0 → plopp-26.2.0}/tests/core/graph_test.py +0 -0
  223. {plopp-25.10.0 → plopp-26.2.0}/tests/core/limits_test.py +0 -0
  224. {plopp-25.10.0 → plopp-26.2.0}/tests/core/utils_test.py +0 -0
  225. {plopp-25.10.0 → plopp-26.2.0}/tests/high_level_test.py +0 -0
  226. {plopp-25.10.0 → plopp-26.2.0}/tests/minimal_plot_test.py +0 -0
  227. {plopp-25.10.0 → plopp-26.2.0}/tests/package_test.py +0 -0
  228. {plopp-25.10.0 → plopp-26.2.0}/tests/plotting/common_test.py +0 -0
  229. {plopp-25.10.0 → plopp-26.2.0}/tests/plotting/mesh3d_test.py +0 -0
  230. {plopp-25.10.0 → plopp-26.2.0}/tests/plotting/plot_2d_test.py +0 -0
  231. {plopp-25.10.0 → plopp-26.2.0}/tests/plotting/scatter3d_test.py +0 -0
  232. {plopp-25.10.0 → plopp-26.2.0}/tests/plotting/slicer_test.py +0 -0
  233. {plopp-25.10.0 → plopp-26.2.0}/tests/plotting/superplot_test.py +0 -0
  234. {plopp-25.10.0 → plopp-26.2.0}/tests/plotting/xyplot_test.py +0 -0
  235. {plopp-25.10.0 → plopp-26.2.0}/tests/widgets/box_test.py +0 -0
  236. {plopp-25.10.0 → plopp-26.2.0}/tests/widgets/checkboxes_test.py +0 -0
  237. {plopp-25.10.0 → plopp-26.2.0}/tests/widgets/slice_test.py +0 -0
@@ -1,5 +1,5 @@
1
1
  # Changes here will be overwritten by Copier; NEVER EDIT MANUALLY
2
- _commit: c3214e6
2
+ _commit: b87e087
3
3
  _src_path: https://github.com/scipp/copier_template.git
4
4
  description: Visualization library for Scipp
5
5
  max_python: '3.13'
@@ -71,7 +71,7 @@ jobs:
71
71
  path: html/
72
72
  - run: echo "::notice::https://remote-unzip.deno.dev/${{ github.repository }}/artifacts/${{ steps.artifact-upload-step.outputs.artifact-id }}"
73
73
 
74
- - uses: JamesIves/github-pages-deploy-action@v4.7.3
74
+ - uses: JamesIves/github-pages-deploy-action@v4.8.0
75
75
  if: ${{ inputs.publish }}
76
76
  with:
77
77
  branch: gh-pages
@@ -31,7 +31,7 @@ jobs:
31
31
  ESS_PROTECTED_FILESTORE_PASSWORD: ${{ secrets.ESS_PROTECTED_FILESTORE_PASSWORD }}
32
32
  steps:
33
33
  - uses: actions/checkout@v4
34
- - uses: astral-sh/setup-uv@v6
34
+ - uses: astral-sh/setup-uv@v7
35
35
  with:
36
36
  python-version: ${{ matrix.python.version }}
37
37
  - run: uv run --extra=test --resolution=lowest-direct pytest
@@ -51,3 +51,4 @@ docs/generated/
51
51
  *.zip
52
52
  *.sqw
53
53
  *.nxspe
54
+ *.mtz
@@ -1,6 +1,6 @@
1
1
  repos:
2
2
  - repo: https://github.com/pre-commit/pre-commit-hooks
3
- rev: v5.0.0
3
+ rev: v6.0.0
4
4
  hooks:
5
5
  - id: check-added-large-files
6
6
  - id: check-case-conflict
@@ -15,14 +15,14 @@ repos:
15
15
  args: [ --markdown-linebreak-ext=md ]
16
16
  exclude: '\.svg'
17
17
  - repo: https://github.com/kynan/nbstripout
18
- rev: 0.7.1
18
+ rev: 0.8.2
19
19
  hooks:
20
20
  - id: nbstripout
21
21
  types: [ "jupyter" ]
22
22
  args: [ "--drop-empty-cells",
23
23
  "--extra-keys 'metadata.language_info.version cell.metadata.jp-MarkdownHeadingCollapsed cell.metadata.pycharm'" ]
24
24
  - repo: https://github.com/astral-sh/ruff-pre-commit
25
- rev: v0.8.0
25
+ rev: v0.14.6
26
26
  hooks:
27
27
  - id: ruff
28
28
  args: [ --fix ]
@@ -30,7 +30,7 @@ repos:
30
30
  - id: ruff-format
31
31
  types_or: [ python, pyi ]
32
32
  - repo: https://github.com/codespell-project/codespell
33
- rev: v2.3.0
33
+ rev: v2.4.1
34
34
  hooks:
35
35
  - id: codespell
36
36
  additional_dependencies:
@@ -48,7 +48,7 @@ repos:
48
48
  - id: rst-inline-touching-normal
49
49
  - id: text-unicode-replacement-char
50
50
  - repo: https://github.com/rhysd/actionlint
51
- rev: v1.7.3
51
+ rev: v1.7.9
52
52
  hooks:
53
53
  - id: actionlint
54
54
  # Disable because of false-positive SC2046
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: plopp
3
- Version: 25.10.0
3
+ Version: 26.2.0
4
4
  Summary: Visualization library for Scipp
5
5
  Author: Scipp contributors
6
6
  License-Expression: BSD-3-Clause
@@ -36,12 +36,13 @@ Requires-Dist: graphviz>=0.20.3; extra == "test"
36
36
  Requires-Dist: h5py>=3.12; extra == "test"
37
37
  Requires-Dist: ipympl>=0.8.4; extra == "test"
38
38
  Requires-Dist: ipywidgets>=8.1.0; extra == "test"
39
+ Requires-Dist: ipykernel<7,>=6.26; extra == "test"
39
40
  Requires-Dist: mpltoolbox>=24.6.0; extra == "test"
40
41
  Requires-Dist: pandas>=2.2.2; extra == "test"
41
42
  Requires-Dist: plotly>=5.15.0; extra == "test"
42
43
  Requires-Dist: pooch>=1.5; extra == "test"
43
44
  Requires-Dist: pyarrow>=13.0.0; extra == "test"
44
- Requires-Dist: pytest>=7.0; extra == "test"
45
+ Requires-Dist: pytest>=8.0; extra == "test"
45
46
  Requires-Dist: pythreejs>=2.4.1; extra == "test"
46
47
  Requires-Dist: scipp>=25.5.0; extra == "test"
47
48
  Requires-Dist: scipy>=1.10.0; extra == "test"
Binary file
@@ -79,7 +79,8 @@
79
79
  widgets.drawing.PointsTool
80
80
 
81
81
  widgets.clip3d.Clip3dTool
82
- widgets.clip3d.ClippingPlanes
82
+ widgets.clip3d.ClipValueTool
83
+ widgets.clip3d.ClippingManager
83
84
  ```
84
85
 
85
86
  ## Backends
@@ -251,7 +251,8 @@ linkcheck_ignore = [
251
251
  r'https?://github\.com/.*?/blob/[a-f0-9]+/.+?#',
252
252
  # Linkcheck seems to be denied access by some DOI resolvers.
253
253
  # Since DOIs are supposed to be permanent, we don't need to check them.'
254
- r'https://doi\.org/',
254
+ r'https?://doi\.org/',
255
+ r'https?://dx\.doi\.org/',
255
256
  ]
256
257
 
257
258
  # -- Options for nbsphinx gallery------------------------------------------
@@ -118,7 +118,7 @@
118
118
  " Convert the raw rectangle info to a dict containing the dimensions of\n",
119
119
  " each axis, and values with units.\n",
120
120
  " \"\"\"\n",
121
- " return lambda: {\n",
121
+ " return {\n",
122
122
  " 'x': {\n",
123
123
  " 'dim': figure.canvas.dims['x'],\n",
124
124
  " 'left': sc.scalar(artist.xy[0], unit=figure.canvas.units['x']),\n",
@@ -105,7 +105,7 @@
105
105
  " Convert the raw rectangle info to a dict containing the dimensions of\n",
106
106
  " each axis, and values with units.\n",
107
107
  " \"\"\"\n",
108
- " return lambda: {\n",
108
+ " return {\n",
109
109
  " 'x': {\n",
110
110
  " 'dim': figure.canvas.dims['x'],\n",
111
111
  " 'left': sc.scalar(artist.xy[0], unit=figure.canvas.units['x']),\n",
@@ -223,8 +223,7 @@
223
223
  "id": "16",
224
224
  "metadata": {},
225
225
  "source": [
226
- "Or the `inspector` plot that allows you to pick points on the 2d map and display a time cut in a second plot below using the the inspector tool\n",
227
- "<img src='https://upload.wikimedia.org/wikipedia/commons/thumb/1/15/Font_Awesome_5_solid_crosshairs.svg/32px-Font_Awesome_5_solid_crosshairs.svg.png' width=\"20\"/>:"
226
+ "Or the `inspector` plot that allows you to pick points on the 2d map and display a time cut in a second plot below using the the inspector tool <img src='../_static/crosshairs.png' width=\"20\"/>:"
228
227
  ]
229
228
  },
230
229
  {
@@ -10,9 +10,7 @@
10
10
  "The `inspector` plot takes in a three-dimensional input and applies a reduction operation (`sum` by default) along one of the dimensions specified by `dim`.\n",
11
11
  "It displays the result as a two-dimensional image.\n",
12
12
  "\n",
13
- "In addition, the inspector tool\n",
14
- "<img src='https://upload.wikimedia.org/wikipedia/commons/thumb/1/15/Font_Awesome_5_solid_crosshairs.svg/32px-Font_Awesome_5_solid_crosshairs.svg.png' width=\"20\"/>\n",
15
- "in the toolbar allows to add markers on the image,\n",
13
+ "In addition, the inspector tool <img src='../_static/crosshairs.png' width=\"20\"/> in the toolbar allows to add markers on the image,\n",
16
14
  "which generate one-dimensional slices (retaining only `dim`) that are displayed in a second figure.\n",
17
15
  "\n",
18
16
  "The points can be dragged/moved, as well as deleted (via a middle click).\n",
@@ -44,12 +44,13 @@ test = [
44
44
  "h5py>=3.12",
45
45
  "ipympl>=0.8.4",
46
46
  "ipywidgets>=8.1.0",
47
+ "ipykernel>=6.26,<7", # Concurrency bug, see https://github.com/scipp/plopp/issues/499.
47
48
  "mpltoolbox>=24.6.0",
48
49
  "pandas>=2.2.2",
49
50
  "plotly>=5.15.0",
50
51
  "pooch>=1.5",
51
52
  "pyarrow>=13.0.0",
52
- "pytest>=7.0",
53
+ "pytest>=8.0",
53
54
  "pythreejs>=2.4.1",
54
55
  "scipp>=25.5.0",
55
56
  "scipy>=1.10.0",
@@ -85,6 +86,11 @@ filterwarnings = [
85
86
  'ignore:Parsing dates involving a day of month without a year:DeprecationWarning',
86
87
  # Should be removed once we lower pin a matplotlib version that respects the deprecation
87
88
  'ignore:.*parameter is deprecated and will be removed in Pillow 13.*:DeprecationWarning',
89
+ # Warnings related to pyparsing deprecations: this is fixed in mpl==3.10.8 onwards
90
+ "ignore:'parseString' deprecated:DeprecationWarning",
91
+ "ignore:'resetCache' deprecated:DeprecationWarning",
92
+ "ignore:'enablePackrat' deprecated:DeprecationWarning",
93
+ "ignore:'parseAll' argument is deprecated:DeprecationWarning",
88
94
  ]
89
95
 
90
96
  [tool.ruff]
@@ -9,15 +9,15 @@ contourpy==1.3.3
9
9
  # via matplotlib
10
10
  cycler==0.12.1
11
11
  # via matplotlib
12
- fonttools==4.59.0
12
+ fonttools==4.60.1
13
13
  # via matplotlib
14
- kiwisolver==1.4.8
14
+ kiwisolver==1.4.9
15
15
  # via matplotlib
16
16
  lazy-loader==0.4
17
17
  # via -r base.in
18
- matplotlib==3.10.5
18
+ matplotlib==3.10.7
19
19
  # via -r base.in
20
- numpy==2.3.2
20
+ numpy==2.3.4
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.3.0
29
+ pillow==12.0.0
30
30
  # via matplotlib
31
- pyparsing==3.2.3
31
+ pyparsing==3.2.5
32
32
  # via matplotlib
33
33
  python-dateutil==2.9.0.post0
34
34
  # via matplotlib
35
- scipp==25.8.0
35
+ scipp==26.1.1
36
36
  # via -r base.in
37
37
  six==1.17.0
38
38
  # via python-dateutil
@@ -11,6 +11,7 @@ graphviz>=0.20.3
11
11
  h5py>=3.12
12
12
  ipympl>=0.8.4
13
13
  ipywidgets>=8.1.0
14
+ ipykernel<7
14
15
  mpltoolbox>=24.6.0
15
16
  pandas>=2.2.2
16
17
  plotly>=5.15.0
@@ -1,49 +1,56 @@
1
- # SHA1:9304fdc650b0b353b34a5f31e5b8071be9d3f4e8
1
+ # SHA1:eff444d8d041c4eef361a60c609465ef93018436
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
- anywidget==0.9.18
8
+ anywidget==0.9.21
9
9
  # via -r basetest.in
10
10
  asttokens==3.0.0
11
11
  # via stack-data
12
- certifi==2025.8.3
12
+ certifi==2025.11.12
13
13
  # via requests
14
- charset-normalizer==3.4.2
14
+ charset-normalizer==3.4.4
15
15
  # via requests
16
16
  comm==0.2.3
17
- # via ipywidgets
17
+ # via
18
+ # ipykernel
19
+ # ipywidgets
18
20
  contourpy==1.3.3
19
21
  # via matplotlib
20
22
  cycler==0.12.1
21
23
  # via matplotlib
24
+ debugpy==1.8.17
25
+ # via ipykernel
22
26
  decorator==5.2.1
23
27
  # via ipython
24
- executing==2.2.0
28
+ executing==2.2.1
25
29
  # via stack-data
26
- fonttools==4.59.0
30
+ fonttools==4.60.1
27
31
  # via matplotlib
28
32
  graphviz==0.21
29
33
  # via -r basetest.in
30
- h5py==3.14.0
34
+ h5py==3.15.1
31
35
  # via -r basetest.in
32
- idna==3.10
36
+ idna==3.11
33
37
  # via requests
34
- iniconfig==2.1.0
38
+ iniconfig==2.3.0
35
39
  # via pytest
36
40
  ipydatawidgets==4.3.5
37
41
  # via pythreejs
38
- ipympl==0.9.7
42
+ ipykernel==6.31.0
43
+ # via -r basetest.in
44
+ ipympl==0.9.8
39
45
  # via -r basetest.in
40
- ipython==9.4.0
46
+ ipython==9.7.0
41
47
  # via
48
+ # ipykernel
42
49
  # ipympl
43
50
  # ipywidgets
44
51
  ipython-pygments-lexers==1.1.1
45
52
  # via ipython
46
- ipywidgets==8.1.7
53
+ ipywidgets==8.1.8
47
54
  # via
48
55
  # -r basetest.in
49
56
  # anywidget
@@ -52,21 +59,31 @@ ipywidgets==8.1.7
52
59
  # pythreejs
53
60
  jedi==0.19.2
54
61
  # via ipython
55
- jupyterlab-widgets==3.0.15
62
+ jupyter-client==8.6.3
63
+ # via ipykernel
64
+ jupyter-core==5.9.1
65
+ # via
66
+ # ipykernel
67
+ # jupyter-client
68
+ jupyterlab-widgets==3.0.16
56
69
  # via ipywidgets
57
- kiwisolver==1.4.8
70
+ kiwisolver==1.4.9
58
71
  # via matplotlib
59
- matplotlib==3.10.5
72
+ matplotlib==3.10.7
60
73
  # via
61
74
  # ipympl
62
75
  # mpltoolbox
63
- matplotlib-inline==0.1.7
64
- # via ipython
65
- mpltoolbox==25.5.0
76
+ matplotlib-inline==0.2.1
77
+ # via
78
+ # ipykernel
79
+ # ipython
80
+ mpltoolbox==25.10.0
66
81
  # via -r basetest.in
67
- narwhals==2.0.1
82
+ narwhals==2.11.0
68
83
  # via plotly
69
- numpy==2.3.2
84
+ nest-asyncio==1.6.0
85
+ # via ipykernel
86
+ numpy==2.3.4
70
87
  # via
71
88
  # contourpy
72
89
  # h5py
@@ -80,79 +97,96 @@ numpy==2.3.2
80
97
  # xarray
81
98
  packaging==25.0
82
99
  # via
100
+ # ipykernel
83
101
  # matplotlib
84
102
  # plotly
85
103
  # pooch
86
104
  # pytest
87
105
  # xarray
88
- pandas==2.3.1
106
+ pandas==2.3.3
89
107
  # via
90
108
  # -r basetest.in
91
109
  # xarray
92
- parso==0.8.4
110
+ parso==0.8.5
93
111
  # via jedi
94
112
  pexpect==4.9.0
95
113
  # via ipython
96
- pillow==11.3.0
114
+ pillow==12.0.0
97
115
  # via
98
116
  # ipympl
99
117
  # matplotlib
100
- platformdirs==4.3.8
101
- # via pooch
102
- plotly==6.2.0
118
+ platformdirs==4.5.0
119
+ # via
120
+ # jupyter-core
121
+ # pooch
122
+ plotly==6.4.0
103
123
  # via -r basetest.in
104
124
  pluggy==1.6.0
105
125
  # via pytest
106
126
  pooch==1.8.2
107
127
  # via -r basetest.in
108
- prompt-toolkit==3.0.51
128
+ prompt-toolkit==3.0.52
109
129
  # via ipython
110
- psygnal==0.14.0
130
+ psutil==7.1.3
131
+ # via ipykernel
132
+ psygnal==0.15.0
111
133
  # via anywidget
112
134
  ptyprocess==0.7.0
113
135
  # via pexpect
114
136
  pure-eval==0.2.3
115
137
  # via stack-data
116
- pyarrow==21.0.0
138
+ pyarrow==22.0.0
117
139
  # via -r basetest.in
118
140
  pygments==2.19.2
119
141
  # via
120
142
  # ipython
121
143
  # ipython-pygments-lexers
122
144
  # pytest
123
- pyparsing==3.2.3
145
+ pyparsing==3.2.5
124
146
  # via matplotlib
125
- pytest==8.4.1
147
+ pytest==9.0.1
126
148
  # via -r basetest.in
127
149
  python-dateutil==2.9.0.post0
128
150
  # via
151
+ # jupyter-client
129
152
  # matplotlib
130
153
  # pandas
131
154
  pythreejs==2.4.2
132
155
  # via -r basetest.in
133
156
  pytz==2025.2
134
157
  # via pandas
135
- requests==2.32.4
158
+ pyzmq==27.1.0
159
+ # via
160
+ # ipykernel
161
+ # jupyter-client
162
+ requests==2.32.5
136
163
  # via pooch
137
- scipp==25.8.0
164
+ scipp==26.1.1
138
165
  # via -r basetest.in
139
- scipy==1.16.1
166
+ scipy==1.16.3
140
167
  # via -r basetest.in
141
168
  six==1.17.0
142
169
  # via python-dateutil
143
170
  stack-data==0.6.3
144
171
  # via ipython
172
+ tornado==6.5.2
173
+ # via
174
+ # ipykernel
175
+ # jupyter-client
145
176
  traitlets==5.14.3
146
177
  # via
178
+ # ipykernel
147
179
  # ipympl
148
180
  # ipython
149
181
  # ipywidgets
182
+ # jupyter-client
183
+ # jupyter-core
150
184
  # matplotlib-inline
151
185
  # pythreejs
152
186
  # traittypes
153
- traittypes==0.2.1
187
+ traittypes==0.2.3
154
188
  # via ipydatawidgets
155
- typing-extensions==4.14.1
189
+ typing-extensions==4.15.0
156
190
  # via
157
191
  # anywidget
158
192
  # ipython
@@ -160,9 +194,9 @@ tzdata==2025.2
160
194
  # via pandas
161
195
  urllib3==2.5.0
162
196
  # via requests
163
- wcwidth==0.2.13
197
+ wcwidth==0.2.14
164
198
  # via prompt-toolkit
165
- widgetsnbextension==4.0.14
199
+ widgetsnbextension==4.0.15
166
200
  # via ipywidgets
167
- xarray==2025.7.1
201
+ xarray==2025.10.1
168
202
  # via -r basetest.in
@@ -5,19 +5,19 @@
5
5
  #
6
6
  # requirements upgrade
7
7
  #
8
- cachetools==6.1.0
8
+ cachetools==6.2.2
9
9
  # via tox
10
- certifi==2025.8.3
10
+ certifi==2025.11.12
11
11
  # via requests
12
12
  chardet==5.2.0
13
13
  # via tox
14
- charset-normalizer==3.4.2
14
+ charset-normalizer==3.4.4
15
15
  # via requests
16
16
  colorama==0.4.6
17
17
  # via tox
18
18
  distlib==0.4.0
19
19
  # via virtualenv
20
- filelock==3.18.0
20
+ filelock==3.20.0
21
21
  # via
22
22
  # tox
23
23
  # virtualenv
@@ -25,28 +25,28 @@ gitdb==4.0.12
25
25
  # via gitpython
26
26
  gitpython==3.1.45
27
27
  # via -r ci.in
28
- idna==3.10
28
+ idna==3.11
29
29
  # via requests
30
30
  packaging==25.0
31
31
  # via
32
32
  # -r ci.in
33
33
  # pyproject-api
34
34
  # tox
35
- platformdirs==4.3.8
35
+ platformdirs==4.5.0
36
36
  # via
37
37
  # tox
38
38
  # virtualenv
39
39
  pluggy==1.6.0
40
40
  # via tox
41
- pyproject-api==1.9.1
41
+ pyproject-api==1.10.0
42
42
  # via tox
43
- requests==2.32.4
43
+ requests==2.32.5
44
44
  # via -r ci.in
45
45
  smmap==5.0.2
46
46
  # via gitdb
47
- tox==4.28.4
47
+ tox==4.32.0
48
48
  # via -r ci.in
49
49
  urllib3==2.5.0
50
50
  # via requests
51
- virtualenv==20.33.1
51
+ virtualenv==20.35.4
52
52
  # via tox
@@ -12,7 +12,7 @@
12
12
  -r static.txt
13
13
  -r test.txt
14
14
  -r wheels.txt
15
- anyio==4.10.0
15
+ anyio==4.11.0
16
16
  # via
17
17
  # httpx
18
18
  # jupyter-server
@@ -20,17 +20,17 @@ argon2-cffi==25.1.0
20
20
  # via jupyter-server
21
21
  argon2-cffi-bindings==25.1.0
22
22
  # via argon2-cffi
23
- arrow==1.3.0
23
+ arrow==1.4.0
24
24
  # via isoduration
25
25
  async-lru==2.0.5
26
26
  # via jupyterlab
27
- cffi==1.17.1
27
+ cffi==2.0.0
28
28
  # via argon2-cffi-bindings
29
- click==8.2.1
29
+ click==8.3.0
30
30
  # via
31
31
  # pip-compile-multi
32
32
  # pip-tools
33
- copier==9.9.0
33
+ copier==9.10.3
34
34
  # via -r dev.in
35
35
  dunamai==1.25.0
36
36
  # via copier
@@ -48,20 +48,20 @@ isoduration==20.11.0
48
48
  # via jsonschema
49
49
  jinja2-ansible-filters==1.3.2
50
50
  # via copier
51
- json5==0.12.0
51
+ json5==0.12.1
52
52
  # via jupyterlab-server
53
53
  jsonpointer==3.0.0
54
54
  # via jsonschema
55
- jsonschema[format-nongpl]==4.25.0
55
+ jsonschema[format-nongpl]==4.25.1
56
56
  # via
57
57
  # jupyter-events
58
58
  # jupyterlab-server
59
59
  # nbformat
60
60
  jupyter-events==0.12.0
61
61
  # via jupyter-server
62
- jupyter-lsp==2.2.6
62
+ jupyter-lsp==2.3.0
63
63
  # via jupyterlab
64
- jupyter-server==2.16.0
64
+ jupyter-server==2.17.0
65
65
  # via
66
66
  # jupyter-lsp
67
67
  # jupyterlab
@@ -69,29 +69,29 @@ jupyter-server==2.16.0
69
69
  # notebook-shim
70
70
  jupyter-server-terminals==0.5.3
71
71
  # via jupyter-server
72
- jupyterlab==4.4.5
72
+ jupyterlab==4.4.10
73
73
  # via -r dev.in
74
- jupyterlab-server==2.27.3
74
+ jupyterlab-server==2.28.0
75
75
  # via jupyterlab
76
- lark==1.2.2
76
+ lark==1.3.1
77
77
  # via rfc3987-syntax
78
78
  notebook-shim==0.2.4
79
79
  # via jupyterlab
80
80
  overrides==7.7.0
81
81
  # via jupyter-server
82
- pip-compile-multi==3.2.1
82
+ pip-compile-multi==3.2.2
83
83
  # via -r dev.in
84
- pip-tools==7.5.0
84
+ pip-tools==7.5.2
85
85
  # via pip-compile-multi
86
- plumbum==1.9.0
86
+ plumbum==1.10.0
87
87
  # via copier
88
- prometheus-client==0.22.1
88
+ prometheus-client==0.23.1
89
89
  # via jupyter-server
90
- pycparser==2.22
90
+ pycparser==2.23
91
91
  # via cffi
92
- python-json-logger==3.3.0
92
+ python-json-logger==4.0.0
93
93
  # via jupyter-events
94
- questionary==2.1.0
94
+ questionary==2.1.1
95
95
  # via copier
96
96
  rfc3339-validator==0.1.4
97
97
  # via
@@ -113,13 +113,11 @@ terminado==0.18.1
113
113
  # jupyter-server-terminals
114
114
  toposort==1.10
115
115
  # via pip-compile-multi
116
- types-python-dateutil==2.9.0.20250708
117
- # via arrow
118
116
  uri-template==1.3.0
119
117
  # via jsonschema
120
- webcolors==24.11.1
118
+ webcolors==25.10.0
121
119
  # via jsonschema
122
- websocket-client==1.8.0
120
+ websocket-client==1.9.0
123
121
  # via jupyter-server
124
122
  wheel==0.45.1
125
123
  # via pip-tools