plopp 25.7.1__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 (234) hide show
  1. {plopp-25.7.1 → plopp-25.9.0}/.copier-answers.yml +2 -2
  2. plopp-25.9.0/.github/workflows/python-version-ci +1 -0
  3. {plopp-25.7.1 → plopp-25.9.0}/.github/workflows/release.yml +2 -2
  4. {plopp-25.7.1 → plopp-25.9.0}/.pre-commit-config.yaml +0 -1
  5. plopp-25.9.0/.python-version +1 -0
  6. {plopp-25.7.1 → plopp-25.9.0}/PKG-INFO +3 -4
  7. plopp-25.9.0/docs/customization/animations.ipynb +241 -0
  8. {plopp-25.7.1 → plopp-25.9.0}/docs/customization/index.md +7 -0
  9. {plopp-25.7.1 → plopp-25.9.0}/docs/developer/getting-started.md +1 -1
  10. {plopp-25.7.1 → plopp-25.9.0}/docs/index.md +4 -0
  11. {plopp-25.7.1 → plopp-25.9.0}/pyproject.toml +2 -3
  12. {plopp-25.7.1 → plopp-25.9.0}/requirements/base.txt +5 -5
  13. {plopp-25.7.1 → plopp-25.9.0}/requirements/basetest.in +1 -1
  14. {plopp-25.7.1 → plopp-25.9.0}/requirements/basetest.txt +16 -21
  15. {plopp-25.7.1 → plopp-25.9.0}/requirements/ci.txt +5 -11
  16. {plopp-25.7.1 → plopp-25.9.0}/requirements/dev.txt +11 -7
  17. {plopp-25.7.1 → plopp-25.9.0}/requirements/docs.in +1 -0
  18. {plopp-25.7.1 → plopp-25.9.0}/requirements/docs.txt +5 -5
  19. {plopp-25.7.1 → plopp-25.9.0}/requirements/mypy.txt +1 -1
  20. {plopp-25.7.1 → plopp-25.9.0}/requirements/nightly.in +1 -1
  21. {plopp-25.7.1 → plopp-25.9.0}/requirements/nightly.txt +15 -20
  22. {plopp-25.7.1 → plopp-25.9.0}/requirements/static.txt +2 -2
  23. {plopp-25.7.1 → plopp-25.9.0}/requirements/wheels.txt +1 -3
  24. {plopp-25.7.1 → plopp-25.9.0}/src/plopp/backends/matplotlib/tiled.py +5 -1
  25. {plopp-25.7.1 → plopp-25.9.0}/src/plopp/data/examples.py +3 -1
  26. {plopp-25.7.1 → plopp-25.9.0}/src/plopp/graphics/colormapper.py +40 -10
  27. {plopp-25.7.1 → plopp-25.9.0}/src/plopp/plotting/common.py +8 -2
  28. {plopp-25.7.1 → plopp-25.9.0}/src/plopp/widgets/slice.py +2 -3
  29. {plopp-25.7.1 → plopp-25.9.0}/src/plopp.egg-info/PKG-INFO +3 -4
  30. {plopp-25.7.1 → plopp-25.9.0}/src/plopp.egg-info/SOURCES.txt +1 -0
  31. {plopp-25.7.1 → plopp-25.9.0}/src/plopp.egg-info/requires.txt +1 -1
  32. {plopp-25.7.1 → plopp-25.9.0}/tests/backends/matplotlib/mpl_image_test.py +7 -0
  33. {plopp-25.7.1 → plopp-25.9.0}/tests/plotting/plot_1d_test.py +5 -0
  34. {plopp-25.7.1 → plopp-25.9.0}/tests/plotting/plot_2d_test.py +5 -0
  35. {plopp-25.7.1 → plopp-25.9.0}/tests/widgets/slice_test.py +2 -2
  36. {plopp-25.7.1 → plopp-25.9.0}/tox.ini +1 -1
  37. plopp-25.7.1/.github/workflows/python-version-ci +0 -1
  38. plopp-25.7.1/.python-version +0 -1
  39. {plopp-25.7.1 → plopp-25.9.0}/.github/dependabot.yml +0 -0
  40. {plopp-25.7.1 → plopp-25.9.0}/.github/workflows/ci.yml +0 -0
  41. {plopp-25.7.1 → plopp-25.9.0}/.github/workflows/docs.yml +0 -0
  42. {plopp-25.7.1 → plopp-25.9.0}/.github/workflows/nightly_at_main.yml +0 -0
  43. {plopp-25.7.1 → plopp-25.9.0}/.github/workflows/nightly_at_main_lower_bound.yml +0 -0
  44. {plopp-25.7.1 → plopp-25.9.0}/.github/workflows/nightly_at_release.yml +0 -0
  45. {plopp-25.7.1 → plopp-25.9.0}/.github/workflows/test.yml +0 -0
  46. {plopp-25.7.1 → plopp-25.9.0}/.github/workflows/unpinned.yml +0 -0
  47. {plopp-25.7.1 → plopp-25.9.0}/.github/workflows/weekly_windows_macos.yml +0 -0
  48. {plopp-25.7.1 → plopp-25.9.0}/.gitignore +0 -0
  49. {plopp-25.7.1 → plopp-25.9.0}/CODE_OF_CONDUCT.md +0 -0
  50. {plopp-25.7.1 → plopp-25.9.0}/CONTRIBUTING.md +0 -0
  51. {plopp-25.7.1 → plopp-25.9.0}/LICENSE +0 -0
  52. {plopp-25.7.1 → plopp-25.9.0}/MANIFEST.in +0 -0
  53. {plopp-25.7.1 → plopp-25.9.0}/README.md +0 -0
  54. {plopp-25.7.1 → plopp-25.9.0}/docs/_static/anaconda-icon.js +0 -0
  55. {plopp-25.7.1 → plopp-25.9.0}/docs/_static/circle-exclamation.svg +0 -0
  56. {plopp-25.7.1 → plopp-25.9.0}/docs/_static/custom.css +0 -0
  57. {plopp-25.7.1 → plopp-25.9.0}/docs/_static/customization/custom-interfaces.png +0 -0
  58. {plopp-25.7.1 → plopp-25.9.0}/docs/_static/customization/graph-node-tips.png +0 -0
  59. {plopp-25.7.1 → plopp-25.9.0}/docs/_static/customization/subplots.png +0 -0
  60. {plopp-25.7.1 → plopp-25.9.0}/docs/_static/customization/tweaking-figures.png +0 -0
  61. {plopp-25.7.1 → plopp-25.9.0}/docs/_static/favicon.ico +0 -0
  62. {plopp-25.7.1 → plopp-25.9.0}/docs/_static/gallery/README.txt +0 -0
  63. {plopp-25.7.1 → plopp-25.9.0}/docs/_static/gallery/peeling-layers-thumbnail.png +0 -0
  64. {plopp-25.7.1 → plopp-25.9.0}/docs/_static/gallery/scatter3d-with-slider-thumbnail.png +0 -0
  65. {plopp-25.7.1 → plopp-25.9.0}/docs/_static/gallery/scatter3d-with-threshold-thumbnail.png +0 -0
  66. {plopp-25.7.1 → plopp-25.9.0}/docs/_static/logo-dark.svg +0 -0
  67. {plopp-25.7.1 → plopp-25.9.0}/docs/_static/logo-large-dark.svg +0 -0
  68. {plopp-25.7.1 → plopp-25.9.0}/docs/_static/logo-large.svg +0 -0
  69. {plopp-25.7.1 → plopp-25.9.0}/docs/_static/logo.svg +0 -0
  70. {plopp-25.7.1 → plopp-25.9.0}/docs/_static/plotting/image-plot.png +0 -0
  71. {plopp-25.7.1 → plopp-25.9.0}/docs/_static/plotting/inspector-plot.png +0 -0
  72. {plopp-25.7.1 → plopp-25.9.0}/docs/_static/plotting/line-plot.png +0 -0
  73. {plopp-25.7.1 → plopp-25.9.0}/docs/_static/plotting/mesh3d-plot.png +0 -0
  74. {plopp-25.7.1 → plopp-25.9.0}/docs/_static/plotting/scatter-plot.png +0 -0
  75. {plopp-25.7.1 → plopp-25.9.0}/docs/_static/plotting/scatter3d-plot.png +0 -0
  76. {plopp-25.7.1 → plopp-25.9.0}/docs/_static/plotting/slicer-plot.png +0 -0
  77. {plopp-25.7.1 → plopp-25.9.0}/docs/_static/plotting/super-plot.png +0 -0
  78. {plopp-25.7.1 → plopp-25.9.0}/docs/_templates/class-template.rst +0 -0
  79. {plopp-25.7.1 → plopp-25.9.0}/docs/_templates/doc_version.html +0 -0
  80. {plopp-25.7.1 → plopp-25.9.0}/docs/_templates/module-template.rst +0 -0
  81. {plopp-25.7.1 → plopp-25.9.0}/docs/_templates/scipp-class-template.rst +0 -0
  82. {plopp-25.7.1 → plopp-25.9.0}/docs/_templates/scipp-module-template.rst +0 -0
  83. {plopp-25.7.1 → plopp-25.9.0}/docs/about/index.md +0 -0
  84. {plopp-25.7.1 → plopp-25.9.0}/docs/api-reference/index.md +0 -0
  85. {plopp-25.7.1 → plopp-25.9.0}/docs/api-reference/matplotlib.md +0 -0
  86. {plopp-25.7.1 → plopp-25.9.0}/docs/api-reference/plotly.md +0 -0
  87. {plopp-25.7.1 → plopp-25.9.0}/docs/api-reference/pythreejs.md +0 -0
  88. {plopp-25.7.1 → plopp-25.9.0}/docs/conf.py +0 -0
  89. {plopp-25.7.1 → plopp-25.9.0}/docs/customization/custom-interfaces.ipynb +0 -0
  90. {plopp-25.7.1 → plopp-25.9.0}/docs/customization/graph-node-tips.ipynb +0 -0
  91. {plopp-25.7.1 → plopp-25.9.0}/docs/customization/subplots.ipynb +0 -0
  92. {plopp-25.7.1 → plopp-25.9.0}/docs/customization/tweaking-figures.ipynb +0 -0
  93. {plopp-25.7.1 → plopp-25.9.0}/docs/developer/coding-conventions.md +0 -0
  94. {plopp-25.7.1 → plopp-25.9.0}/docs/developer/dependency-management.md +0 -0
  95. {plopp-25.7.1 → plopp-25.9.0}/docs/developer/index.md +0 -0
  96. {plopp-25.7.1 → plopp-25.9.0}/docs/gallery/index.ipynb +0 -0
  97. {plopp-25.7.1 → plopp-25.9.0}/docs/gallery/interactive-masking.ipynb +0 -0
  98. {plopp-25.7.1 → plopp-25.9.0}/docs/gallery/masking-a-range.ipynb +0 -0
  99. {plopp-25.7.1 → plopp-25.9.0}/docs/gallery/nyc-taxi.ipynb +0 -0
  100. {plopp-25.7.1 → plopp-25.9.0}/docs/gallery/peeling-layers.ipynb +0 -0
  101. {plopp-25.7.1 → plopp-25.9.0}/docs/gallery/polar-plots.ipynb +0 -0
  102. {plopp-25.7.1 → plopp-25.9.0}/docs/gallery/rectangle-selection.ipynb +0 -0
  103. {plopp-25.7.1 → plopp-25.9.0}/docs/gallery/scatter3d-with-slider.ipynb +0 -0
  104. {plopp-25.7.1 → plopp-25.9.0}/docs/gallery/scatter3d-with-threshold.ipynb +0 -0
  105. {plopp-25.7.1 → plopp-25.9.0}/docs/gallery/streaming-plot.ipynb +0 -0
  106. {plopp-25.7.1 → plopp-25.9.0}/docs/gallery/tiled-random-samples.ipynb +0 -0
  107. {plopp-25.7.1 → plopp-25.9.0}/docs/gallery/updating-scatter.ipynb +0 -0
  108. {plopp-25.7.1 → plopp-25.9.0}/docs/getting-started/index.md +0 -0
  109. {plopp-25.7.1 → plopp-25.9.0}/docs/getting-started/installation.md +0 -0
  110. {plopp-25.7.1 → plopp-25.9.0}/docs/getting-started/numpy-pandas-xarray.ipynb +0 -0
  111. {plopp-25.7.1 → plopp-25.9.0}/docs/getting-started/overview.ipynb +0 -0
  112. {plopp-25.7.1 → plopp-25.9.0}/docs/getting-started/saving-figures.ipynb +0 -0
  113. {plopp-25.7.1 → plopp-25.9.0}/docs/plotting/image-plot.ipynb +0 -0
  114. {plopp-25.7.1 → plopp-25.9.0}/docs/plotting/index.md +0 -0
  115. {plopp-25.7.1 → plopp-25.9.0}/docs/plotting/inspector-plot.ipynb +0 -0
  116. {plopp-25.7.1 → plopp-25.9.0}/docs/plotting/line-plot.ipynb +0 -0
  117. {plopp-25.7.1 → plopp-25.9.0}/docs/plotting/mesh3d-plot.ipynb +0 -0
  118. {plopp-25.7.1 → plopp-25.9.0}/docs/plotting/scatter-plot.ipynb +0 -0
  119. {plopp-25.7.1 → plopp-25.9.0}/docs/plotting/scatter3d-plot.ipynb +0 -0
  120. {plopp-25.7.1 → plopp-25.9.0}/docs/plotting/slicer-plot.ipynb +0 -0
  121. {plopp-25.7.1 → plopp-25.9.0}/docs/plotting/super-plot.ipynb +0 -0
  122. {plopp-25.7.1 → plopp-25.9.0}/requirements/base.in +0 -0
  123. {plopp-25.7.1 → plopp-25.9.0}/requirements/ci.in +0 -0
  124. {plopp-25.7.1 → plopp-25.9.0}/requirements/dev.in +0 -0
  125. {plopp-25.7.1 → plopp-25.9.0}/requirements/make_base.py +0 -0
  126. {plopp-25.7.1 → plopp-25.9.0}/requirements/mini.in +0 -0
  127. {plopp-25.7.1 → plopp-25.9.0}/requirements/mini.txt +0 -0
  128. {plopp-25.7.1 → plopp-25.9.0}/requirements/mypy.in +0 -0
  129. {plopp-25.7.1 → plopp-25.9.0}/requirements/noplotly.in +0 -0
  130. {plopp-25.7.1 → plopp-25.9.0}/requirements/noplotly.txt +0 -0
  131. {plopp-25.7.1 → plopp-25.9.0}/requirements/static.in +0 -0
  132. {plopp-25.7.1 → plopp-25.9.0}/requirements/test.in +0 -0
  133. {plopp-25.7.1 → plopp-25.9.0}/requirements/test.txt +0 -0
  134. {plopp-25.7.1 → plopp-25.9.0}/requirements/wheels.in +0 -0
  135. {plopp-25.7.1 → plopp-25.9.0}/resources/logo-plopp-2022.svg +0 -0
  136. {plopp-25.7.1 → plopp-25.9.0}/setup.cfg +0 -0
  137. {plopp-25.7.1 → plopp-25.9.0}/src/plopp/__init__.py +0 -0
  138. {plopp-25.7.1 → plopp-25.9.0}/src/plopp/backends/__init__.py +0 -0
  139. {plopp-25.7.1 → plopp-25.9.0}/src/plopp/backends/common.py +0 -0
  140. {plopp-25.7.1 → plopp-25.9.0}/src/plopp/backends/matplotlib/__init__.py +0 -0
  141. {plopp-25.7.1 → plopp-25.9.0}/src/plopp/backends/matplotlib/canvas.py +0 -0
  142. {plopp-25.7.1 → plopp-25.9.0}/src/plopp/backends/matplotlib/fast_image.py +0 -0
  143. {plopp-25.7.1 → plopp-25.9.0}/src/plopp/backends/matplotlib/figure.py +0 -0
  144. {plopp-25.7.1 → plopp-25.9.0}/src/plopp/backends/matplotlib/image.py +0 -0
  145. {plopp-25.7.1 → plopp-25.9.0}/src/plopp/backends/matplotlib/line.py +0 -0
  146. {plopp-25.7.1 → plopp-25.9.0}/src/plopp/backends/matplotlib/mesh_image.py +0 -0
  147. {plopp-25.7.1 → plopp-25.9.0}/src/plopp/backends/matplotlib/scatter.py +0 -0
  148. {plopp-25.7.1 → plopp-25.9.0}/src/plopp/backends/matplotlib/utils.py +0 -0
  149. {plopp-25.7.1 → plopp-25.9.0}/src/plopp/backends/plotly/__init__.py +0 -0
  150. {plopp-25.7.1 → plopp-25.9.0}/src/plopp/backends/plotly/canvas.py +0 -0
  151. {plopp-25.7.1 → plopp-25.9.0}/src/plopp/backends/plotly/figure.py +0 -0
  152. {plopp-25.7.1 → plopp-25.9.0}/src/plopp/backends/plotly/line.py +0 -0
  153. {plopp-25.7.1 → plopp-25.9.0}/src/plopp/backends/pythreejs/__init__.py +0 -0
  154. {plopp-25.7.1 → plopp-25.9.0}/src/plopp/backends/pythreejs/canvas.py +0 -0
  155. {plopp-25.7.1 → plopp-25.9.0}/src/plopp/backends/pythreejs/figure.py +0 -0
  156. {plopp-25.7.1 → plopp-25.9.0}/src/plopp/backends/pythreejs/mesh3d.py +0 -0
  157. {plopp-25.7.1 → plopp-25.9.0}/src/plopp/backends/pythreejs/outline.py +0 -0
  158. {plopp-25.7.1 → plopp-25.9.0}/src/plopp/backends/pythreejs/scatter3d.py +0 -0
  159. {plopp-25.7.1 → plopp-25.9.0}/src/plopp/core/__init__.py +0 -0
  160. {plopp-25.7.1 → plopp-25.9.0}/src/plopp/core/__init__.pyi +0 -0
  161. {plopp-25.7.1 → plopp-25.9.0}/src/plopp/core/graph.py +0 -0
  162. {plopp-25.7.1 → plopp-25.9.0}/src/plopp/core/helpers.py +0 -0
  163. {plopp-25.7.1 → plopp-25.9.0}/src/plopp/core/limits.py +0 -0
  164. {plopp-25.7.1 → plopp-25.9.0}/src/plopp/core/node_class.py +0 -0
  165. {plopp-25.7.1 → plopp-25.9.0}/src/plopp/core/typing.py +0 -0
  166. {plopp-25.7.1 → plopp-25.9.0}/src/plopp/core/utils.py +0 -0
  167. {plopp-25.7.1 → plopp-25.9.0}/src/plopp/core/view.py +0 -0
  168. {plopp-25.7.1 → plopp-25.9.0}/src/plopp/data/__init__.py +0 -0
  169. {plopp-25.7.1 → plopp-25.9.0}/src/plopp/data/factory.py +0 -0
  170. {plopp-25.7.1 → plopp-25.9.0}/src/plopp/data/testing.py +0 -0
  171. {plopp-25.7.1 → plopp-25.9.0}/src/plopp/graphics/__init__.py +0 -0
  172. {plopp-25.7.1 → plopp-25.9.0}/src/plopp/graphics/__init__.pyi +0 -0
  173. {plopp-25.7.1 → plopp-25.9.0}/src/plopp/graphics/basefig.py +0 -0
  174. {plopp-25.7.1 → plopp-25.9.0}/src/plopp/graphics/bbox.py +0 -0
  175. {plopp-25.7.1 → plopp-25.9.0}/src/plopp/graphics/camera.py +0 -0
  176. {plopp-25.7.1 → plopp-25.9.0}/src/plopp/graphics/figures.py +0 -0
  177. {plopp-25.7.1 → plopp-25.9.0}/src/plopp/graphics/graphicalview.py +0 -0
  178. {plopp-25.7.1 → plopp-25.9.0}/src/plopp/graphics/tiled.py +0 -0
  179. {plopp-25.7.1 → plopp-25.9.0}/src/plopp/plotting/__init__.py +0 -0
  180. {plopp-25.7.1 → plopp-25.9.0}/src/plopp/plotting/__init__.pyi +0 -0
  181. {plopp-25.7.1 → plopp-25.9.0}/src/plopp/plotting/inspector.py +0 -0
  182. {plopp-25.7.1 → plopp-25.9.0}/src/plopp/plotting/mesh3d.py +0 -0
  183. {plopp-25.7.1 → plopp-25.9.0}/src/plopp/plotting/plot.py +0 -0
  184. {plopp-25.7.1 → plopp-25.9.0}/src/plopp/plotting/scatter.py +0 -0
  185. {plopp-25.7.1 → plopp-25.9.0}/src/plopp/plotting/scatter3d.py +0 -0
  186. {plopp-25.7.1 → plopp-25.9.0}/src/plopp/plotting/slicer.py +0 -0
  187. {plopp-25.7.1 → plopp-25.9.0}/src/plopp/plotting/superplot.py +0 -0
  188. {plopp-25.7.1 → plopp-25.9.0}/src/plopp/plotting/xyplot.py +0 -0
  189. {plopp-25.7.1 → plopp-25.9.0}/src/plopp/py.typed +0 -0
  190. {plopp-25.7.1 → plopp-25.9.0}/src/plopp/utils.py +0 -0
  191. {plopp-25.7.1 → plopp-25.9.0}/src/plopp/widgets/__init__.py +0 -0
  192. {plopp-25.7.1 → plopp-25.9.0}/src/plopp/widgets/__init__.pyi +0 -0
  193. {plopp-25.7.1 → plopp-25.9.0}/src/plopp/widgets/box.py +0 -0
  194. {plopp-25.7.1 → plopp-25.9.0}/src/plopp/widgets/checkboxes.py +0 -0
  195. {plopp-25.7.1 → plopp-25.9.0}/src/plopp/widgets/clip3d.py +0 -0
  196. {plopp-25.7.1 → plopp-25.9.0}/src/plopp/widgets/debounce.py +0 -0
  197. {plopp-25.7.1 → plopp-25.9.0}/src/plopp/widgets/drawing.py +0 -0
  198. {plopp-25.7.1 → plopp-25.9.0}/src/plopp/widgets/linesave.py +0 -0
  199. {plopp-25.7.1 → plopp-25.9.0}/src/plopp/widgets/style.py +0 -0
  200. {plopp-25.7.1 → plopp-25.9.0}/src/plopp/widgets/toolbar.py +0 -0
  201. {plopp-25.7.1 → plopp-25.9.0}/src/plopp/widgets/tools.py +0 -0
  202. {plopp-25.7.1 → plopp-25.9.0}/src/plopp.egg-info/dependency_links.txt +0 -0
  203. {plopp-25.7.1 → plopp-25.9.0}/src/plopp.egg-info/top_level.txt +0 -0
  204. {plopp-25.7.1 → plopp-25.9.0}/tests/backends/matplotlib/mpl_line_test.py +0 -0
  205. {plopp-25.7.1 → plopp-25.9.0}/tests/backends/matplotlib/mpl_plot_test.py +0 -0
  206. {plopp-25.7.1 → plopp-25.9.0}/tests/backends/matplotlib/mpl_scatter_test.py +0 -0
  207. {plopp-25.7.1 → plopp-25.9.0}/tests/backends/matplotlib/mpl_tiled_test.py +0 -0
  208. {plopp-25.7.1 → plopp-25.9.0}/tests/backends/plotly/conftest.py +0 -0
  209. {plopp-25.7.1 → plopp-25.9.0}/tests/backends/plotly/plotly_line_test.py +0 -0
  210. {plopp-25.7.1 → plopp-25.9.0}/tests/backends/pythreejs/pythreejs_canvas_test.py +0 -0
  211. {plopp-25.7.1 → plopp-25.9.0}/tests/backends/pythreejs/pythreejs_scatter3d_test.py +0 -0
  212. {plopp-25.7.1 → plopp-25.9.0}/tests/conftest.py +0 -0
  213. {plopp-25.7.1 → plopp-25.9.0}/tests/core/graph_test.py +0 -0
  214. {plopp-25.7.1 → plopp-25.9.0}/tests/core/limits_test.py +0 -0
  215. {plopp-25.7.1 → plopp-25.9.0}/tests/core/node_test.py +0 -0
  216. {plopp-25.7.1 → plopp-25.9.0}/tests/core/utils_test.py +0 -0
  217. {plopp-25.7.1 → plopp-25.9.0}/tests/graphics/artists_test.py +0 -0
  218. {plopp-25.7.1 → plopp-25.9.0}/tests/graphics/canvas_test.py +0 -0
  219. {plopp-25.7.1 → plopp-25.9.0}/tests/graphics/colormapper_test.py +0 -0
  220. {plopp-25.7.1 → plopp-25.9.0}/tests/graphics/figures_test.py +0 -0
  221. {plopp-25.7.1 → plopp-25.9.0}/tests/high_level_test.py +0 -0
  222. {plopp-25.7.1 → plopp-25.9.0}/tests/minimal_plot_test.py +0 -0
  223. {plopp-25.7.1 → plopp-25.9.0}/tests/package_test.py +0 -0
  224. {plopp-25.7.1 → plopp-25.9.0}/tests/plotting/common_test.py +0 -0
  225. {plopp-25.7.1 → plopp-25.9.0}/tests/plotting/inspector_test.py +0 -0
  226. {plopp-25.7.1 → plopp-25.9.0}/tests/plotting/mesh3d_test.py +0 -0
  227. {plopp-25.7.1 → plopp-25.9.0}/tests/plotting/scatter3d_test.py +0 -0
  228. {plopp-25.7.1 → plopp-25.9.0}/tests/plotting/scatter_test.py +0 -0
  229. {plopp-25.7.1 → plopp-25.9.0}/tests/plotting/slicer_test.py +0 -0
  230. {plopp-25.7.1 → plopp-25.9.0}/tests/plotting/superplot_test.py +0 -0
  231. {plopp-25.7.1 → plopp-25.9.0}/tests/plotting/xyplot_test.py +0 -0
  232. {plopp-25.7.1 → plopp-25.9.0}/tests/widgets/box_test.py +0 -0
  233. {plopp-25.7.1 → plopp-25.9.0}/tests/widgets/checkboxes_test.py +0 -0
  234. {plopp-25.7.1 → 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: 3561fcd
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 @@
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 ]
@@ -0,0 +1 @@
1
+ 3.11
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: plopp
3
- Version: 25.7.1
3
+ Version: 25.9.0
4
4
  Summary: Visualization library for Scipp
5
5
  Author: Scipp contributors
6
6
  License-Expression: BSD-3-Clause
@@ -12,13 +12,12 @@ Classifier: Natural Language :: English
12
12
  Classifier: Operating System :: OS Independent
13
13
  Classifier: Programming Language :: Python :: 3
14
14
  Classifier: Programming Language :: Python :: 3 :: Only
15
- Classifier: Programming Language :: Python :: 3.10
16
15
  Classifier: Programming Language :: Python :: 3.11
17
16
  Classifier: Programming Language :: Python :: 3.12
18
17
  Classifier: Programming Language :: Python :: 3.13
19
18
  Classifier: Topic :: Scientific/Engineering
20
19
  Classifier: Typing :: Typed
21
- Requires-Python: >=3.10
20
+ Requires-Python: >=3.11
22
21
  Description-Content-Type: text/markdown
23
22
  License-File: LICENSE
24
23
  Requires-Dist: lazy-loader>=0.4
@@ -41,7 +40,7 @@ Requires-Dist: mpltoolbox>=24.6.0; extra == "test"
41
40
  Requires-Dist: pandas>=2.2.2; extra == "test"
42
41
  Requires-Dist: plotly>=5.15.0; extra == "test"
43
42
  Requires-Dist: pooch>=1.5; extra == "test"
44
- Requires-Dist: pyarrow>=10.0.0; extra == "test"
43
+ Requires-Dist: pyarrow>=13.0.0; extra == "test"
45
44
  Requires-Dist: pytest>=7.0; extra == "test"
46
45
  Requires-Dist: pythreejs>=2.4.1; extra == "test"
47
46
  Requires-Dist: scipp>=25.5.0; extra == "test"
@@ -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).
@@ -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}
@@ -18,14 +18,13 @@ classifiers = [
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.
@@ -49,7 +48,7 @@ test = [
49
48
  "pandas>=2.2.2",
50
49
  "plotly>=5.15.0",
51
50
  "pooch>=1.5",
52
- "pyarrow>=10.0.0",
51
+ "pyarrow>=13.0.0",
53
52
  "pytest>=7.0",
54
53
  "pythreejs>=2.4.1",
55
54
  "scipp>=25.5.0",
@@ -5,19 +5,19 @@
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.5
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
@@ -32,7 +32,7 @@ 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
@@ -15,7 +15,7 @@ mpltoolbox>=24.6.0
15
15
  pandas>=2.2.2
16
16
  plotly>=5.15.0
17
17
  pooch>=1.5
18
- pyarrow>=10.0.0
18
+ pyarrow>=13.0.0
19
19
  pytest>=7.0
20
20
  pythreejs>=2.4.1
21
21
  scipp>=25.5.0
@@ -1,4 +1,4 @@
1
- # SHA1:dd4af2e04ad5b26b2644cddc71f19afa74319a65
1
+ # SHA1:9304fdc650b0b353b34a5f31e5b8071be9d3f4e8
2
2
  #
3
3
  # This file was generated by pip-compile-multi.
4
4
  # To update, run:
@@ -9,25 +9,21 @@ anywidget==0.9.18
9
9
  # via -r basetest.in
10
10
  asttokens==3.0.0
11
11
  # via stack-data
12
- certifi==2025.7.14
12
+ certifi==2025.8.3
13
13
  # via requests
14
14
  charset-normalizer==3.4.2
15
15
  # via requests
16
- comm==0.2.2
16
+ comm==0.2.3
17
17
  # via ipywidgets
18
- contourpy==1.3.2
18
+ contourpy==1.3.3
19
19
  # via matplotlib
20
20
  cycler==0.12.1
21
21
  # via matplotlib
22
22
  decorator==5.2.1
23
23
  # via ipython
24
- exceptiongroup==1.3.0
25
- # via
26
- # ipython
27
- # pytest
28
24
  executing==2.2.0
29
25
  # via stack-data
30
- fonttools==4.58.5
26
+ fonttools==4.59.0
31
27
  # via matplotlib
32
28
  graphviz==0.21
33
29
  # via -r basetest.in
@@ -41,10 +37,12 @@ ipydatawidgets==4.3.5
41
37
  # via pythreejs
42
38
  ipympl==0.9.7
43
39
  # via -r basetest.in
44
- ipython==8.37.0
40
+ ipython==9.4.0
45
41
  # via
46
42
  # ipympl
47
43
  # ipywidgets
44
+ ipython-pygments-lexers==1.1.1
45
+ # via ipython
48
46
  ipywidgets==8.1.7
49
47
  # via
50
48
  # -r basetest.in
@@ -58,7 +56,7 @@ jupyterlab-widgets==3.0.15
58
56
  # via ipywidgets
59
57
  kiwisolver==1.4.8
60
58
  # via matplotlib
61
- matplotlib==3.10.3
59
+ matplotlib==3.10.5
62
60
  # via
63
61
  # ipympl
64
62
  # mpltoolbox
@@ -66,9 +64,9 @@ matplotlib-inline==0.1.7
66
64
  # via ipython
67
65
  mpltoolbox==25.5.0
68
66
  # via -r basetest.in
69
- narwhals==1.47.0
67
+ narwhals==2.0.1
70
68
  # via plotly
71
- numpy==2.2.6
69
+ numpy==2.3.2
72
70
  # via
73
71
  # contourpy
74
72
  # h5py
@@ -115,11 +113,12 @@ ptyprocess==0.7.0
115
113
  # via pexpect
116
114
  pure-eval==0.2.3
117
115
  # via stack-data
118
- pyarrow==20.0.0
116
+ pyarrow==21.0.0
119
117
  # via -r basetest.in
120
118
  pygments==2.19.2
121
119
  # via
122
120
  # ipython
121
+ # ipython-pygments-lexers
123
122
  # pytest
124
123
  pyparsing==3.2.3
125
124
  # via matplotlib
@@ -135,19 +134,16 @@ pytz==2025.2
135
134
  # via pandas
136
135
  requests==2.32.4
137
136
  # via pooch
138
- scipp==25.5.1
137
+ scipp==25.8.0
139
138
  # via -r basetest.in
140
- scipy==1.15.3
139
+ scipy==1.16.1
141
140
  # via -r basetest.in
142
141
  six==1.17.0
143
142
  # via python-dateutil
144
143
  stack-data==0.6.3
145
144
  # via ipython
146
- tomli==2.2.1
147
- # via pytest
148
145
  traitlets==5.14.3
149
146
  # via
150
- # comm
151
147
  # ipympl
152
148
  # ipython
153
149
  # ipywidgets
@@ -159,7 +155,6 @@ traittypes==0.2.1
159
155
  typing-extensions==4.14.1
160
156
  # via
161
157
  # anywidget
162
- # exceptiongroup
163
158
  # ipython
164
159
  tzdata==2025.2
165
160
  # via pandas
@@ -169,5 +164,5 @@ wcwidth==0.2.13
169
164
  # via prompt-toolkit
170
165
  widgetsnbextension==4.0.14
171
166
  # via ipywidgets
172
- xarray==2025.6.1
167
+ xarray==2025.7.1
173
168
  # via -r basetest.in
@@ -7,7 +7,7 @@
7
7
  #
8
8
  cachetools==6.1.0
9
9
  # via tox
10
- certifi==2025.7.14
10
+ certifi==2025.8.3
11
11
  # via requests
12
12
  chardet==5.2.0
13
13
  # via tox
@@ -15,7 +15,7 @@ charset-normalizer==3.4.2
15
15
  # via requests
16
16
  colorama==0.4.6
17
17
  # via tox
18
- distlib==0.3.9
18
+ distlib==0.4.0
19
19
  # via virtualenv
20
20
  filelock==3.18.0
21
21
  # via
@@ -23,7 +23,7 @@ filelock==3.18.0
23
23
  # virtualenv
24
24
  gitdb==4.0.12
25
25
  # via gitpython
26
- gitpython==3.1.44
26
+ gitpython==3.1.45
27
27
  # via -r ci.in
28
28
  idna==3.10
29
29
  # via requests
@@ -44,15 +44,9 @@ requests==2.32.4
44
44
  # via -r ci.in
45
45
  smmap==5.0.2
46
46
  # via gitdb
47
- tomli==2.2.1
48
- # via
49
- # pyproject-api
50
- # tox
51
- tox==4.27.0
47
+ tox==4.28.4
52
48
  # via -r ci.in
53
- typing-extensions==4.14.1
54
- # via tox
55
49
  urllib3==2.5.0
56
50
  # via requests
57
- virtualenv==20.31.2
51
+ virtualenv==20.33.1
58
52
  # via tox
@@ -12,13 +12,13 @@
12
12
  -r static.txt
13
13
  -r test.txt
14
14
  -r wheels.txt
15
- anyio==4.9.0
15
+ anyio==4.10.0
16
16
  # via
17
17
  # httpx
18
18
  # jupyter-server
19
19
  argon2-cffi==25.1.0
20
20
  # via jupyter-server
21
- argon2-cffi-bindings==21.2.0
21
+ argon2-cffi-bindings==25.1.0
22
22
  # via argon2-cffi
23
23
  arrow==1.3.0
24
24
  # via isoduration
@@ -30,7 +30,7 @@ click==8.2.1
30
30
  # via
31
31
  # pip-compile-multi
32
32
  # pip-tools
33
- copier==9.8.0
33
+ copier==9.9.0
34
34
  # via -r dev.in
35
35
  dunamai==1.25.0
36
36
  # via copier
@@ -52,14 +52,14 @@ json5==0.12.0
52
52
  # via jupyterlab-server
53
53
  jsonpointer==3.0.0
54
54
  # via jsonschema
55
- jsonschema[format-nongpl]==4.24.0
55
+ jsonschema[format-nongpl]==4.25.0
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.5
62
+ jupyter-lsp==2.2.6
63
63
  # via jupyterlab
64
64
  jupyter-server==2.16.0
65
65
  # via
@@ -69,17 +69,19 @@ 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.4
72
+ jupyterlab==4.4.5
73
73
  # via -r dev.in
74
74
  jupyterlab-server==2.27.3
75
75
  # via jupyterlab
76
+ lark==1.2.2
77
+ # via rfc3987-syntax
76
78
  notebook-shim==0.2.4
77
79
  # via jupyterlab
78
80
  overrides==7.7.0
79
81
  # via jupyter-server
80
82
  pip-compile-multi==3.2.1
81
83
  # via -r dev.in
82
- pip-tools==7.4.1
84
+ pip-tools==7.5.0
83
85
  # via pip-compile-multi
84
86
  plumbum==1.9.0
85
87
  # via copier
@@ -99,6 +101,8 @@ rfc3986-validator==0.1.1
99
101
  # via
100
102
  # jsonschema
101
103
  # jupyter-events
104
+ rfc3987-syntax==1.1.0
105
+ # via jsonschema
102
106
  send2trash==1.8.3
103
107
  # via jupyter-server
104
108
  sniffio==1.3.1
@@ -1,5 +1,6 @@
1
1
  -r base.in
2
2
  -r basetest.in
3
+ autodoc-pydantic
3
4
  gitpython
4
5
  autodoc-pydantic
5
6
  ipykernel