hvplot 0.13.0a2__tar.gz → 0.13.0rc1__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 (342) hide show
  1. {hvplot-0.13.0a2 → hvplot-0.13.0rc1}/PKG-INFO +17 -9
  2. {hvplot-0.13.0a2 → hvplot-0.13.0rc1}/doc/_ext/plotting_options_table.py +21 -2
  3. {hvplot-0.13.0a2 → hvplot-0.13.0rc1}/doc/_static/custom.css +5 -0
  4. hvplot-0.13.0rc1/doc/assets/combined_penguin.png +0 -0
  5. hvplot-0.13.0rc1/doc/assets/vscode_penguin.png +0 -0
  6. {hvplot-0.13.0a2 → hvplot-0.13.0rc1}/doc/conf.py +58 -1
  7. {hvplot-0.13.0a2 → hvplot-0.13.0rc1}/doc/conftest.py +6 -13
  8. {hvplot-0.13.0a2 → hvplot-0.13.0rc1}/doc/developer_guide.md +75 -1
  9. hvplot-0.13.0rc1/doc/explanation/grouping_options.ipynb +448 -0
  10. hvplot-0.13.0rc1/doc/explanation/index.md +47 -0
  11. hvplot-0.13.0rc1/doc/explanation/plotting_backend_support.ipynb +126 -0
  12. hvplot-0.13.0rc1/doc/explanation/statistical_plot_types.ipynb +723 -0
  13. hvplot-0.13.0rc1/doc/explanation/wide_vs_long_data.ipynb +428 -0
  14. hvplot-0.13.0rc1/doc/how_to/build_custom_layouts.ipynb +208 -0
  15. hvplot-0.13.0rc1/doc/how_to/choose_backend_for_saving_plots.md +32 -0
  16. hvplot-0.13.0rc1/doc/how_to/customize_underlying_figure.ipynb +197 -0
  17. hvplot-0.13.0rc1/doc/how_to/display_plots.ipynb +135 -0
  18. hvplot-0.13.0rc1/doc/how_to/explore_with_widgets.ipynb +165 -0
  19. hvplot-0.13.0rc1/doc/how_to/facet_into_grid.ipynb +163 -0
  20. hvplot-0.13.0rc1/doc/how_to/index.md +173 -0
  21. hvplot-0.13.0rc1/doc/how_to/layout_plots.ipynb +151 -0
  22. hvplot-0.13.0rc1/doc/how_to/load_switch_plotting_extensions.ipynb +130 -0
  23. hvplot-0.13.0rc1/doc/how_to/overlay_plots.ipynb +143 -0
  24. hvplot-0.13.0rc1/doc/how_to/plot_lines_with_markers.ipynb +91 -0
  25. hvplot-0.13.0rc1/doc/how_to/save_bokeh_plots.ipynb +210 -0
  26. hvplot-0.13.0rc1/doc/how_to/save_matplotlib_plots.ipynb +182 -0
  27. hvplot-0.13.0rc1/doc/how_to/save_plots_as_gif.ipynb +194 -0
  28. hvplot-0.13.0rc1/doc/how_to/split_into_subplots.ipynb +123 -0
  29. hvplot-0.13.0rc1/doc/how_to/style_plots_by_backend.ipynb +186 -0
  30. hvplot-0.13.0rc1/doc/how_to/use_ai_assistant.md +69 -0
  31. {hvplot-0.13.0a2 → hvplot-0.13.0rc1}/doc/index.md +63 -10
  32. {hvplot-0.13.0a2 → hvplot-0.13.0rc1}/doc/ref/api/manual/hvplot.hvPlot.bar.ipynb +2 -2
  33. {hvplot-0.13.0a2 → hvplot-0.13.0rc1}/doc/ref/api/manual/hvplot.hvPlot.barh.ipynb +2 -2
  34. {hvplot-0.13.0a2 → hvplot-0.13.0rc1}/doc/ref/api/manual/hvplot.hvPlot.box.ipynb +2 -2
  35. hvplot-0.13.0rc1/doc/ref/api/manual/hvplot.hvPlot.explorer.ipynb +117 -0
  36. {hvplot-0.13.0a2 → hvplot-0.13.0rc1}/doc/ref/api/manual/hvplot.hvPlot.heatmap.ipynb +2 -2
  37. {hvplot-0.13.0a2 → hvplot-0.13.0rc1}/doc/ref/api/manual/hvplot.hvPlot.kde.ipynb +2 -2
  38. {hvplot-0.13.0a2 → hvplot-0.13.0rc1}/doc/ref/api/manual/hvplot.hvPlot.line.ipynb +2 -2
  39. {hvplot-0.13.0a2 → hvplot-0.13.0rc1}/doc/ref/api/manual/hvplot.hvPlot.violin.ipynb +2 -2
  40. {hvplot-0.13.0a2 → hvplot-0.13.0rc1}/doc/ref/api_compatibility/index.md +2 -1
  41. hvplot-0.13.0rc1/doc/ref/api_compatibility/panel_widgets.ipynb +169 -0
  42. {hvplot-0.13.0a2 → hvplot-0.13.0rc1}/doc/ref/data_libraries.ipynb +3 -3
  43. hvplot-0.13.0rc1/doc/ref/index.md +72 -0
  44. {hvplot-0.13.0a2 → hvplot-0.13.0rc1}/doc/ref/plotting_extensions.ipynb +5 -1
  45. {hvplot-0.13.0a2 → hvplot-0.13.0rc1}/doc/ref/plotting_options/axis.ipynb +6 -6
  46. {hvplot-0.13.0a2 → hvplot-0.13.0rc1}/doc/ref/plotting_options/color_colormap.ipynb +11 -0
  47. {hvplot-0.13.0a2 → hvplot-0.13.0rc1}/doc/ref/plotting_options/data.ipynb +16 -3
  48. {hvplot-0.13.0a2 → hvplot-0.13.0rc1}/doc/ref/plotting_options/streaming.ipynb +1 -1
  49. hvplot-0.13.0rc1/doc/tutorials/explorer.ipynb +628 -0
  50. {hvplot-0.13.0a2 → hvplot-0.13.0rc1}/doc/tutorials/getting_started.ipynb +15 -3
  51. {hvplot-0.13.0a2 → hvplot-0.13.0rc1}/doc/tutorials/index.md +11 -3
  52. {hvplot-0.13.0a2 → hvplot-0.13.0rc1}/doc/user_guide/Plotting.ipynb +1 -1
  53. {hvplot-0.13.0a2 → hvplot-0.13.0rc1}/doc/user_guide/Plotting_with_Matplotlib.ipynb +1 -1
  54. {hvplot-0.13.0a2 → hvplot-0.13.0rc1}/doc/user_guide/Plotting_with_Plotly.ipynb +1 -1
  55. {hvplot-0.13.0a2 → hvplot-0.13.0rc1}/doc/user_guide/index.md +7 -30
  56. {hvplot-0.13.0a2 → hvplot-0.13.0rc1}/hvplot/_version.py +2 -2
  57. {hvplot-0.13.0a2 → hvplot-0.13.0rc1}/hvplot/converter.py +9 -3
  58. {hvplot-0.13.0a2 → hvplot-0.13.0rc1}/hvplot/cudf.py +13 -0
  59. {hvplot-0.13.0a2 → hvplot-0.13.0rc1}/hvplot/dask.py +13 -0
  60. {hvplot-0.13.0a2 → hvplot-0.13.0rc1}/hvplot/duckdb.py +12 -0
  61. {hvplot-0.13.0a2 → hvplot-0.13.0rc1}/hvplot/ibis.py +11 -0
  62. {hvplot-0.13.0a2 → hvplot-0.13.0rc1}/hvplot/intake.py +9 -0
  63. {hvplot-0.13.0a2 → hvplot-0.13.0rc1}/hvplot/pandas.py +13 -0
  64. {hvplot-0.13.0a2 → hvplot-0.13.0rc1}/hvplot/plotting/core.py +22 -10
  65. {hvplot-0.13.0a2 → hvplot-0.13.0rc1}/hvplot/polars.py +12 -0
  66. {hvplot-0.13.0a2 → hvplot-0.13.0rc1}/hvplot/streamz.py +12 -0
  67. hvplot-0.13.0a2/hvplot/tests/util.py → hvplot-0.13.0rc1/hvplot/tests/_data.py +47 -0
  68. hvplot-0.13.0rc1/hvplot/tests/_deps.py +34 -0
  69. hvplot-0.13.0rc1/hvplot/tests/_inventory.py +30 -0
  70. hvplot-0.13.0rc1/hvplot/tests/conftest.py +333 -0
  71. hvplot-0.13.0rc1/hvplot/tests/data_libraries/test_accessors.py +192 -0
  72. hvplot-0.13.0rc1/hvplot/tests/data_libraries/test_tabular_parity.py +317 -0
  73. hvplot-0.13.0rc1/hvplot/tests/kinds/__init__.py +0 -0
  74. hvplot-0.13.0rc1/hvplot/tests/kinds/test_all_kinds.py +213 -0
  75. hvplot-0.13.0rc1/hvplot/tests/kinds/test_area.py +89 -0
  76. hvplot-0.13.0rc1/hvplot/tests/kinds/test_bar.py +100 -0
  77. hvplot-0.13.0rc1/hvplot/tests/kinds/test_barh.py +39 -0
  78. hvplot-0.13.0rc1/hvplot/tests/kinds/test_bivariate.py +117 -0
  79. hvplot-0.13.0rc1/hvplot/tests/kinds/test_box.py +52 -0
  80. hvplot-0.13.0rc1/hvplot/tests/kinds/test_contour.py +62 -0
  81. hvplot-0.13.0rc1/hvplot/tests/kinds/test_contourf.py +53 -0
  82. hvplot-0.13.0rc1/hvplot/tests/kinds/test_dataset.py +33 -0
  83. hvplot-0.13.0rc1/hvplot/tests/kinds/test_density.py +59 -0
  84. hvplot-0.13.0rc1/hvplot/tests/kinds/test_errorbars.py +55 -0
  85. hvplot-0.13.0rc1/hvplot/tests/kinds/test_heatmap.py +88 -0
  86. hvplot-0.13.0rc1/hvplot/tests/kinds/test_hexbin.py +99 -0
  87. hvplot-0.13.0rc1/hvplot/tests/kinds/test_hist.py +116 -0
  88. hvplot-0.13.0rc1/hvplot/tests/kinds/test_image.py +71 -0
  89. hvplot-0.13.0rc1/hvplot/tests/kinds/test_kde.py +85 -0
  90. hvplot-0.13.0rc1/hvplot/tests/kinds/test_kinds_inventory.py +40 -0
  91. hvplot-0.13.0rc1/hvplot/tests/kinds/test_labels.py +159 -0
  92. hvplot-0.13.0rc1/hvplot/tests/kinds/test_line.py +44 -0
  93. hvplot-0.13.0rc1/hvplot/tests/kinds/test_ohlc.py +167 -0
  94. hvplot-0.13.0rc1/hvplot/tests/kinds/test_paths.py +84 -0
  95. hvplot-0.13.0rc1/hvplot/tests/kinds/test_points.py +238 -0
  96. hvplot-0.13.0rc1/hvplot/tests/kinds/test_polygons.py +133 -0
  97. hvplot-0.13.0rc1/hvplot/tests/kinds/test_quadmesh.py +65 -0
  98. hvplot-0.13.0rc1/hvplot/tests/kinds/test_rgb.py +128 -0
  99. hvplot-0.13.0rc1/hvplot/tests/kinds/test_scatter.py +179 -0
  100. hvplot-0.13.0rc1/hvplot/tests/kinds/test_step.py +38 -0
  101. hvplot-0.13.0rc1/hvplot/tests/kinds/test_table.py +27 -0
  102. hvplot-0.13.0rc1/hvplot/tests/kinds/test_trimesh.py +276 -0
  103. hvplot-0.13.0rc1/hvplot/tests/kinds/test_vectorfield.py +67 -0
  104. hvplot-0.13.0rc1/hvplot/tests/kinds/test_violin.py +56 -0
  105. hvplot-0.13.0rc1/hvplot/tests/options/__init__.py +0 -0
  106. hvplot-0.13.0rc1/hvplot/tests/options/test_axis.py +657 -0
  107. hvplot-0.13.0rc1/hvplot/tests/options/test_color.py +537 -0
  108. hvplot-0.13.0rc1/hvplot/tests/options/test_data.py +518 -0
  109. hvplot-0.13.0rc1/hvplot/tests/options/test_geographic.py +757 -0
  110. hvplot-0.13.0rc1/hvplot/tests/options/test_interactivity.py +336 -0
  111. hvplot-0.13.0rc1/hvplot/tests/options/test_legend.py +114 -0
  112. hvplot-0.13.0rc1/hvplot/tests/options/test_options_inventory.py +25 -0
  113. hvplot-0.13.0rc1/hvplot/tests/options/test_resampling.py +567 -0
  114. hvplot-0.13.0rc1/hvplot/tests/options/test_size_layout.py +270 -0
  115. hvplot-0.13.0rc1/hvplot/tests/options/test_streaming.py +74 -0
  116. hvplot-0.13.0rc1/hvplot/tests/options/test_style.py +100 -0
  117. hvplot-0.13.0rc1/hvplot/tests/plotting/__init__.py +0 -0
  118. hvplot-0.13.0rc1/hvplot/tests/plotting/test_core.py +73 -0
  119. hvplot-0.13.0rc1/hvplot/tests/plotting/test_lag_plot.py +40 -0
  120. hvplot-0.13.0rc1/hvplot/tests/plotting/test_networkx.py +382 -0
  121. hvplot-0.13.0a2/hvplot/tests/testplotting.py → hvplot-0.13.0rc1/hvplot/tests/plotting/test_pandas_backend.py +31 -26
  122. hvplot-0.13.0rc1/hvplot/tests/plotting/test_parallel_coordinates.py +78 -0
  123. hvplot-0.13.0rc1/hvplot/tests/plotting/test_scatter_matrix.py +172 -0
  124. hvplot-0.13.0a2/hvplot/tests/testbackend_transforms.py → hvplot-0.13.0rc1/hvplot/tests/test_backend_transforms.py +48 -27
  125. hvplot-0.13.0rc1/hvplot/tests/test_converter.py +384 -0
  126. hvplot-0.13.0a2/hvplot/tests/testdeprecations.py → hvplot-0.13.0rc1/hvplot/tests/test_deprecations.py +15 -20
  127. hvplot-0.13.0a2/hvplot/tests/testpatchsignature.py → hvplot-0.13.0rc1/hvplot/tests/test_docstrings.py +66 -12
  128. hvplot-0.13.0rc1/hvplot/tests/test_fugue.py +90 -0
  129. hvplot-0.13.0rc1/hvplot/tests/test_init.py +55 -0
  130. hvplot-0.13.0a2/hvplot/tests/testinteractive.py → hvplot-0.13.0rc1/hvplot/tests/test_interactive.py +140 -20
  131. hvplot-0.13.0rc1/hvplot/tests/test_sample_data.py +13 -0
  132. hvplot-0.13.0rc1/hvplot/tests/test_sampledata.py +33 -0
  133. hvplot-0.13.0rc1/hvplot/tests/test_testing_infrastructure.py +99 -0
  134. hvplot-0.13.0a2/hvplot/tests/testui.py → hvplot-0.13.0rc1/hvplot/tests/test_ui.py +84 -37
  135. hvplot-0.13.0rc1/hvplot/tests/test_util.py +832 -0
  136. hvplot-0.13.0rc1/hvplot/tests/test_utilities.py +160 -0
  137. {hvplot-0.13.0a2 → hvplot-0.13.0rc1}/hvplot/ui.py +1 -1
  138. {hvplot-0.13.0a2 → hvplot-0.13.0rc1}/hvplot/xarray.py +19 -3
  139. {hvplot-0.13.0a2 → hvplot-0.13.0rc1}/hvplot/xugrid.py +12 -0
  140. {hvplot-0.13.0a2 → hvplot-0.13.0rc1}/pyproject.toml +25 -10
  141. {hvplot-0.13.0a2 → hvplot-0.13.0rc1}/scripts/conda/recipe/meta.yaml +1 -1
  142. {hvplot-0.13.0a2 → hvplot-0.13.0rc1}/scripts/download_data.py +20 -0
  143. hvplot-0.13.0rc1/scripts/llms_config.py +118 -0
  144. hvplot-0.13.0a2/doc/ref/api/manual/hvplot.hvPlot.explorer.ipynb +0 -47
  145. hvplot-0.13.0a2/doc/ref/index.md +0 -17
  146. hvplot-0.13.0a2/doc/user_guide/Explorer.ipynb +0 -339
  147. hvplot-0.13.0a2/doc/user_guide/Introduction.ipynb +0 -222
  148. hvplot-0.13.0a2/doc/user_guide/Plotting_Extensions.ipynb +0 -253
  149. hvplot-0.13.0a2/doc/user_guide/Statistical_Plots.ipynb +0 -147
  150. hvplot-0.13.0a2/doc/user_guide/Subplots.ipynb +0 -152
  151. hvplot-0.13.0a2/doc/user_guide/Viewing.ipynb +0 -211
  152. hvplot-0.13.0a2/doc/user_guide/images/simple.svg +0 -59
  153. hvplot-0.13.0a2/hvplot/tests/conftest.py +0 -58
  154. hvplot-0.13.0a2/hvplot/tests/plotting/testcore.py +0 -97
  155. hvplot-0.13.0a2/hvplot/tests/plotting/testohlc.py +0 -93
  156. hvplot-0.13.0a2/hvplot/tests/plotting/testscattermatrix.py +0 -138
  157. hvplot-0.13.0a2/hvplot/tests/test_links.py +0 -100
  158. hvplot-0.13.0a2/hvplot/tests/testcharts.py +0 -742
  159. hvplot-0.13.0a2/hvplot/tests/testdocstring.py +0 -52
  160. hvplot-0.13.0a2/hvplot/tests/testfugue.py +0 -51
  161. hvplot-0.13.0a2/hvplot/tests/testgeo.py +0 -556
  162. hvplot-0.13.0a2/hvplot/tests/testgeowithoutgv.py +0 -211
  163. hvplot-0.13.0a2/hvplot/tests/testgridplots.py +0 -265
  164. hvplot-0.13.0a2/hvplot/tests/testhelp.py +0 -77
  165. hvplot-0.13.0a2/hvplot/tests/testibis.py +0 -28
  166. hvplot-0.13.0a2/hvplot/tests/testnetworkx.py +0 -35
  167. hvplot-0.13.0a2/hvplot/tests/testoperations.py +0 -428
  168. hvplot-0.13.0a2/hvplot/tests/testoptions.py +0 -566
  169. hvplot-0.13.0a2/hvplot/tests/testoverrides.py +0 -76
  170. hvplot-0.13.0a2/hvplot/tests/testpanel.py +0 -60
  171. hvplot-0.13.0a2/hvplot/tests/testpatch.py +0 -163
  172. hvplot-0.13.0a2/hvplot/tests/teststatplots.py +0 -23
  173. hvplot-0.13.0a2/hvplot/tests/teststreaming.py +0 -27
  174. hvplot-0.13.0a2/hvplot/tests/testtransforms.py +0 -70
  175. hvplot-0.13.0a2/hvplot/tests/testutil.py +0 -630
  176. hvplot-0.13.0a2/hvplot/tests/testxugrid.py +0 -347
  177. {hvplot-0.13.0a2 → hvplot-0.13.0rc1}/.gitignore +0 -0
  178. {hvplot-0.13.0a2 → hvplot-0.13.0rc1}/LICENSE +0 -0
  179. {hvplot-0.13.0a2 → hvplot-0.13.0rc1}/README.md +0 -0
  180. {hvplot-0.13.0a2 → hvplot-0.13.0rc1}/doc/_ext/backend_styling_options.py +0 -0
  181. {hvplot-0.13.0a2 → hvplot-0.13.0rc1}/doc/_static/favicon.ico +0 -0
  182. {hvplot-0.13.0a2 → hvplot-0.13.0rc1}/doc/_static/home/bokeh.gif +0 -0
  183. {hvplot-0.13.0a2 → hvplot-0.13.0rc1}/doc/_static/home/dask.gif +0 -0
  184. {hvplot-0.13.0a2 → hvplot-0.13.0rc1}/doc/_static/home/explorer.gif +0 -0
  185. {hvplot-0.13.0a2 → hvplot-0.13.0rc1}/doc/_static/home/geo.gif +0 -0
  186. {hvplot-0.13.0a2 → hvplot-0.13.0rc1}/doc/_static/home/geopandas.gif +0 -0
  187. {hvplot-0.13.0a2 → hvplot-0.13.0rc1}/doc/_static/home/interactive_hvplot.gif +0 -0
  188. {hvplot-0.13.0a2 → hvplot-0.13.0rc1}/doc/_static/home/interactive_pandas.gif +0 -0
  189. {hvplot-0.13.0a2 → hvplot-0.13.0rc1}/doc/_static/home/interactive_xarray.gif +0 -0
  190. {hvplot-0.13.0a2 → hvplot-0.13.0rc1}/doc/_static/home/large_data.gif +0 -0
  191. {hvplot-0.13.0a2 → hvplot-0.13.0rc1}/doc/_static/home/layout.png +0 -0
  192. {hvplot-0.13.0a2 → hvplot-0.13.0rc1}/doc/_static/home/matplotlib.png +0 -0
  193. {hvplot-0.13.0a2 → hvplot-0.13.0rc1}/doc/_static/home/networkx.gif +0 -0
  194. {hvplot-0.13.0a2 → hvplot-0.13.0rc1}/doc/_static/home/overlay.png +0 -0
  195. {hvplot-0.13.0a2 → hvplot-0.13.0rc1}/doc/_static/home/pandas.gif +0 -0
  196. {hvplot-0.13.0a2 → hvplot-0.13.0rc1}/doc/_static/home/plotly.gif +0 -0
  197. {hvplot-0.13.0a2 → hvplot-0.13.0rc1}/doc/_static/home/widgets.gif +0 -0
  198. {hvplot-0.13.0a2 → hvplot-0.13.0rc1}/doc/_static/home/xarray.gif +0 -0
  199. {hvplot-0.13.0a2 → hvplot-0.13.0rc1}/doc/_static/images/heat_and_trees.png +0 -0
  200. {hvplot-0.13.0a2 → hvplot-0.13.0rc1}/doc/_static/images/portfolio.png +0 -0
  201. {hvplot-0.13.0a2 → hvplot-0.13.0rc1}/doc/_static/logo.png +0 -0
  202. {hvplot-0.13.0a2 → hvplot-0.13.0rc1}/doc/_static/logo_horizontal.png +0 -0
  203. {hvplot-0.13.0a2 → hvplot-0.13.0rc1}/doc/_static/logo_horizontal.svg +0 -0
  204. {hvplot-0.13.0a2 → hvplot-0.13.0rc1}/doc/_static/logo_stacked.svg +0 -0
  205. {hvplot-0.13.0a2 → hvplot-0.13.0rc1}/doc/_static/patch_templates/sourcelink.html +0 -0
  206. {hvplot-0.13.0a2 → hvplot-0.13.0rc1}/doc/about.md +0 -0
  207. {hvplot-0.13.0a2 → hvplot-0.13.0rc1}/doc/assets/console.png +0 -0
  208. {hvplot-0.13.0a2 → hvplot-0.13.0rc1}/doc/assets/console_server.gif +0 -0
  209. {hvplot-0.13.0a2 → hvplot-0.13.0rc1}/doc/assets/diagram.png +0 -0
  210. {hvplot-0.13.0a2 → hvplot-0.13.0rc1}/doc/assets/diagram.svg +0 -0
  211. {hvplot-0.13.0a2 → hvplot-0.13.0rc1}/doc/assets/hvplot-wm.png +0 -0
  212. {hvplot-0.13.0a2 → hvplot-0.13.0rc1}/doc/assets/streamz_demo.gif +0 -0
  213. {hvplot-0.13.0a2 → hvplot-0.13.0rc1}/doc/gallery/annotations/horizontal_bar_with_labels.ipynb +0 -0
  214. {hvplot-0.13.0a2 → hvplot-0.13.0rc1}/doc/gallery/basic-charts/simple_area.ipynb +0 -0
  215. {hvplot-0.13.0a2 → hvplot-0.13.0rc1}/doc/gallery/basic-charts/simple_bar.ipynb +0 -0
  216. {hvplot-0.13.0a2 → hvplot-0.13.0rc1}/doc/gallery/basic-charts/simple_boxplot.ipynb +0 -0
  217. {hvplot-0.13.0a2 → hvplot-0.13.0rc1}/doc/gallery/basic-charts/simple_heatmap.ipynb +0 -0
  218. {hvplot-0.13.0a2 → hvplot-0.13.0rc1}/doc/gallery/basic-charts/simple_line.ipynb +0 -0
  219. {hvplot-0.13.0a2 → hvplot-0.13.0rc1}/doc/gallery/basic-charts/simple_scatter.ipynb +0 -0
  220. {hvplot-0.13.0a2 → hvplot-0.13.0rc1}/doc/gallery/basic-charts/simple_step.ipynb +0 -0
  221. {hvplot-0.13.0a2 → hvplot-0.13.0rc1}/doc/gallery/big-data/large_vectorfield_downsampled.ipynb +0 -0
  222. {hvplot-0.13.0a2 → hvplot-0.13.0rc1}/doc/gallery/categorical/category_bar.ipynb +0 -0
  223. {hvplot-0.13.0a2 → hvplot-0.13.0rc1}/doc/gallery/categorical/category_heatmap.ipynb +0 -0
  224. {hvplot-0.13.0a2 → hvplot-0.13.0rc1}/doc/gallery/categorical/grouped_bar.ipynb +0 -0
  225. {hvplot-0.13.0a2 → hvplot-0.13.0rc1}/doc/gallery/categorical/horizontal_bar.ipynb +0 -0
  226. {hvplot-0.13.0a2 → hvplot-0.13.0rc1}/doc/gallery/categorical/lollipop_plot.ipynb +0 -0
  227. {hvplot-0.13.0a2 → hvplot-0.13.0rc1}/doc/gallery/categorical/stacked_bar.ipynb +0 -0
  228. {hvplot-0.13.0a2 → hvplot-0.13.0rc1}/doc/gallery/categorical/strip_jitter.ipynb +0 -0
  229. {hvplot-0.13.0a2 → hvplot-0.13.0rc1}/doc/gallery/geospatial/datashade_map.ipynb +0 -0
  230. {hvplot-0.13.0a2 → hvplot-0.13.0rc1}/doc/gallery/geospatial/geopoints.ipynb +0 -0
  231. {hvplot-0.13.0a2 → hvplot-0.13.0rc1}/doc/gallery/geospatial/map_overlay.ipynb +0 -0
  232. {hvplot-0.13.0a2 → hvplot-0.13.0rc1}/doc/gallery/geospatial/paths_labels.ipynb +0 -0
  233. {hvplot-0.13.0a2 → hvplot-0.13.0rc1}/doc/gallery/geospatial/polygon_map.ipynb +0 -0
  234. {hvplot-0.13.0a2 → hvplot-0.13.0rc1}/doc/gallery/gridded/contour.ipynb +0 -0
  235. {hvplot-0.13.0a2 → hvplot-0.13.0rc1}/doc/gallery/gridded/contourf.ipynb +0 -0
  236. {hvplot-0.13.0a2 → hvplot-0.13.0rc1}/doc/gallery/gridded/image.ipynb +0 -0
  237. {hvplot-0.13.0a2 → hvplot-0.13.0rc1}/doc/gallery/gridded/quadmesh.ipynb +0 -0
  238. {hvplot-0.13.0a2 → hvplot-0.13.0rc1}/doc/gallery/gridded/rgb.ipynb +0 -0
  239. {hvplot-0.13.0a2 → hvplot-0.13.0rc1}/doc/gallery/gridded/rgb_satellite_imagery.ipynb +0 -0
  240. {hvplot-0.13.0a2 → hvplot-0.13.0rc1}/doc/gallery/gridded/vectorfield.ipynb +0 -0
  241. {hvplot-0.13.0a2 → hvplot-0.13.0rc1}/doc/gallery/interactivity/app_bind.ipynb +0 -0
  242. {hvplot-0.13.0a2 → hvplot-0.13.0rc1}/doc/gallery/interactivity/app_rx.ipynb +0 -0
  243. {hvplot-0.13.0a2 → hvplot-0.13.0rc1}/doc/gallery/interactivity/groupby_widget.ipynb +0 -0
  244. {hvplot-0.13.0a2 → hvplot-0.13.0rc1}/doc/gallery/multidimensional/andrews_curves.ipynb +0 -0
  245. {hvplot-0.13.0a2 → hvplot-0.13.0rc1}/doc/gallery/multidimensional/groupby.ipynb +0 -0
  246. {hvplot-0.13.0a2 → hvplot-0.13.0rc1}/doc/gallery/multidimensional/parallel_coordinates.ipynb +0 -0
  247. {hvplot-0.13.0a2 → hvplot-0.13.0rc1}/doc/gallery/multidimensional/scatter_matrix.ipynb +0 -0
  248. {hvplot-0.13.0a2 → hvplot-0.13.0rc1}/doc/gallery/multidimensional/scatter_multi.ipynb +0 -0
  249. {hvplot-0.13.0a2 → hvplot-0.13.0rc1}/doc/gallery/statistical/bar_with_error_bars.ipynb +0 -0
  250. {hvplot-0.13.0a2 → hvplot-0.13.0rc1}/doc/gallery/statistical/bivariate.ipynb +0 -0
  251. {hvplot-0.13.0a2 → hvplot-0.13.0rc1}/doc/gallery/statistical/boxplot.ipynb +0 -0
  252. {hvplot-0.13.0a2 → hvplot-0.13.0rc1}/doc/gallery/statistical/correlation_heatmap.ipynb +0 -0
  253. {hvplot-0.13.0a2 → hvplot-0.13.0rc1}/doc/gallery/statistical/density_plot.ipynb +0 -0
  254. {hvplot-0.13.0a2 → hvplot-0.13.0rc1}/doc/gallery/statistical/hexbin.ipynb +0 -0
  255. {hvplot-0.13.0a2 → hvplot-0.13.0rc1}/doc/gallery/statistical/histogram.ipynb +0 -0
  256. {hvplot-0.13.0a2 → hvplot-0.13.0rc1}/doc/gallery/statistical/horizontal_errorbars.ipynb +0 -0
  257. {hvplot-0.13.0a2 → hvplot-0.13.0rc1}/doc/gallery/statistical/violin.ipynb +0 -0
  258. {hvplot-0.13.0a2 → hvplot-0.13.0rc1}/doc/gallery/statistical/violin_scatter.ipynb +0 -0
  259. {hvplot-0.13.0a2 → hvplot-0.13.0rc1}/doc/gallery/time-series/area_time_series.ipynb +0 -0
  260. {hvplot-0.13.0a2 → hvplot-0.13.0rc1}/doc/gallery/time-series/dual_axis_timeseries.ipynb +0 -0
  261. {hvplot-0.13.0a2 → hvplot-0.13.0rc1}/doc/gallery/time-series/forecast_bands.ipynb +0 -0
  262. {hvplot-0.13.0a2 → hvplot-0.13.0rc1}/doc/gallery/time-series/lag_plot.ipynb +0 -0
  263. {hvplot-0.13.0a2 → hvplot-0.13.0rc1}/doc/gallery/time-series/multi_series_line.ipynb +0 -0
  264. {hvplot-0.13.0a2 → hvplot-0.13.0rc1}/doc/gallery/time-series/ohlc.ipynb +0 -0
  265. {hvplot-0.13.0a2 → hvplot-0.13.0rc1}/doc/gallery/time-series/step_time_series.ipynb +0 -0
  266. {hvplot-0.13.0a2 → hvplot-0.13.0rc1}/doc/gallery/time-series/time_series_bar.ipynb +0 -0
  267. {hvplot-0.13.0a2 → hvplot-0.13.0rc1}/doc/gallery/time-series/time_series_line.ipynb +0 -0
  268. {hvplot-0.13.0a2 → hvplot-0.13.0rc1}/doc/governance/project-docs/CONTRIBUTING.md +0 -0
  269. {hvplot-0.13.0a2 → hvplot-0.13.0rc1}/doc/governance/project-docs/GOVERNANCE.md +0 -0
  270. {hvplot-0.13.0a2 → hvplot-0.13.0rc1}/doc/governance/project-docs/LICENSE.md +0 -0
  271. {hvplot-0.13.0a2 → hvplot-0.13.0rc1}/doc/governance/project-docs/MEMBERS.md +0 -0
  272. {hvplot-0.13.0a2 → hvplot-0.13.0rc1}/doc/ref/api/index.md +0 -0
  273. {hvplot-0.13.0a2 → hvplot-0.13.0rc1}/doc/ref/api/manual/hvplot.hvPlot.area.ipynb +0 -0
  274. {hvplot-0.13.0a2 → hvplot-0.13.0rc1}/doc/ref/api/manual/hvplot.hvPlot.bivariate.ipynb +0 -0
  275. {hvplot-0.13.0a2 → hvplot-0.13.0rc1}/doc/ref/api/manual/hvplot.hvPlot.contour.ipynb +0 -0
  276. {hvplot-0.13.0a2 → hvplot-0.13.0rc1}/doc/ref/api/manual/hvplot.hvPlot.contourf.ipynb +0 -0
  277. {hvplot-0.13.0a2 → hvplot-0.13.0rc1}/doc/ref/api/manual/hvplot.hvPlot.dataset.ipynb +0 -0
  278. {hvplot-0.13.0a2 → hvplot-0.13.0rc1}/doc/ref/api/manual/hvplot.hvPlot.density.md +0 -0
  279. {hvplot-0.13.0a2 → hvplot-0.13.0rc1}/doc/ref/api/manual/hvplot.hvPlot.errorbars.ipynb +0 -0
  280. {hvplot-0.13.0a2 → hvplot-0.13.0rc1}/doc/ref/api/manual/hvplot.hvPlot.hexbin.ipynb +0 -0
  281. {hvplot-0.13.0a2 → hvplot-0.13.0rc1}/doc/ref/api/manual/hvplot.hvPlot.hist.ipynb +0 -0
  282. {hvplot-0.13.0a2 → hvplot-0.13.0rc1}/doc/ref/api/manual/hvplot.hvPlot.image.ipynb +0 -0
  283. {hvplot-0.13.0a2 → hvplot-0.13.0rc1}/doc/ref/api/manual/hvplot.hvPlot.labels.ipynb +0 -0
  284. {hvplot-0.13.0a2 → hvplot-0.13.0rc1}/doc/ref/api/manual/hvplot.hvPlot.ohlc.ipynb +0 -0
  285. {hvplot-0.13.0a2 → hvplot-0.13.0rc1}/doc/ref/api/manual/hvplot.hvPlot.paths.ipynb +0 -0
  286. {hvplot-0.13.0a2 → hvplot-0.13.0rc1}/doc/ref/api/manual/hvplot.hvPlot.points.ipynb +0 -0
  287. {hvplot-0.13.0a2 → hvplot-0.13.0rc1}/doc/ref/api/manual/hvplot.hvPlot.polygons.ipynb +0 -0
  288. {hvplot-0.13.0a2 → hvplot-0.13.0rc1}/doc/ref/api/manual/hvplot.hvPlot.quadmesh.ipynb +0 -0
  289. {hvplot-0.13.0a2 → hvplot-0.13.0rc1}/doc/ref/api/manual/hvplot.hvPlot.rgb.ipynb +0 -0
  290. {hvplot-0.13.0a2 → hvplot-0.13.0rc1}/doc/ref/api/manual/hvplot.hvPlot.scatter.ipynb +0 -0
  291. {hvplot-0.13.0a2 → hvplot-0.13.0rc1}/doc/ref/api/manual/hvplot.hvPlot.step.ipynb +0 -0
  292. {hvplot-0.13.0a2 → hvplot-0.13.0rc1}/doc/ref/api/manual/hvplot.hvPlot.table.ipynb +0 -0
  293. {hvplot-0.13.0a2 → hvplot-0.13.0rc1}/doc/ref/api/manual/hvplot.hvPlot.vectorfield.ipynb +0 -0
  294. {hvplot-0.13.0a2 → hvplot-0.13.0rc1}/doc/ref/api/manual/hvplot.plotting.andrews_curves.ipynb +0 -0
  295. {hvplot-0.13.0a2 → hvplot-0.13.0rc1}/doc/ref/api/manual/hvplot.plotting.lag_plot.ipynb +0 -0
  296. {hvplot-0.13.0a2 → hvplot-0.13.0rc1}/doc/ref/api/manual/hvplot.plotting.parallel_coordinates.ipynb +0 -0
  297. {hvplot-0.13.0a2 → hvplot-0.13.0rc1}/doc/ref/api/manual/hvplot.plotting.scatter_matrix.ipynb +0 -0
  298. {hvplot-0.13.0a2 → hvplot-0.13.0rc1}/doc/ref/api_compatibility/pandas/Pandas_API.ipynb +0 -0
  299. {hvplot-0.13.0a2 → hvplot-0.13.0rc1}/doc/ref/api_compatibility/pandas/index.ipynb +0 -0
  300. {hvplot-0.13.0a2 → hvplot-0.13.0rc1}/doc/ref/deprecations.md +0 -0
  301. {hvplot-0.13.0a2 → hvplot-0.13.0rc1}/doc/ref/installation.md +0 -0
  302. {hvplot-0.13.0a2 → hvplot-0.13.0rc1}/doc/ref/plotting_options/geographic.ipynb +0 -0
  303. {hvplot-0.13.0a2 → hvplot-0.13.0rc1}/doc/ref/plotting_options/index.md +0 -0
  304. {hvplot-0.13.0a2 → hvplot-0.13.0rc1}/doc/ref/plotting_options/interactivity.ipynb +0 -0
  305. {hvplot-0.13.0a2 → hvplot-0.13.0rc1}/doc/ref/plotting_options/legend.ipynb +0 -0
  306. {hvplot-0.13.0a2 → hvplot-0.13.0rc1}/doc/ref/plotting_options/resampling.ipynb +0 -0
  307. {hvplot-0.13.0a2 → hvplot-0.13.0rc1}/doc/ref/plotting_options/size_layout.ipynb +0 -0
  308. {hvplot-0.13.0a2 → hvplot-0.13.0rc1}/doc/ref/plotting_options/styling.ipynb +0 -0
  309. {hvplot-0.13.0a2 → hvplot-0.13.0rc1}/doc/releases.md +0 -0
  310. {hvplot-0.13.0a2 → hvplot-0.13.0rc1}/doc/roadmap.md +0 -0
  311. {hvplot-0.13.0a2 → hvplot-0.13.0rc1}/doc/topics.html +0 -0
  312. {hvplot-0.13.0a2 → hvplot-0.13.0rc1}/doc/tutorials/getting_started_pandas.ipynb +0 -0
  313. {hvplot-0.13.0a2 → hvplot-0.13.0rc1}/doc/user_guide/Geographic_Data.ipynb +0 -0
  314. {hvplot-0.13.0a2 → hvplot-0.13.0rc1}/doc/user_guide/Gridded_Data.ipynb +0 -0
  315. {hvplot-0.13.0a2 → hvplot-0.13.0rc1}/doc/user_guide/Interactive.ipynb +0 -0
  316. {hvplot-0.13.0a2 → hvplot-0.13.0rc1}/doc/user_guide/Large_Timeseries.ipynb +0 -0
  317. {hvplot-0.13.0a2 → hvplot-0.13.0rc1}/doc/user_guide/NetworkX.ipynb +0 -0
  318. {hvplot-0.13.0a2 → hvplot-0.13.0rc1}/doc/user_guide/Timeseries_Data.ipynb +0 -0
  319. {hvplot-0.13.0a2 → hvplot-0.13.0rc1}/doc/user_guide/Widgets.ipynb +0 -0
  320. {hvplot-0.13.0a2 → hvplot-0.13.0rc1}/hvplot/__init__.py +0 -0
  321. {hvplot-0.13.0a2 → hvplot-0.13.0rc1}/hvplot/backend_transforms.py +0 -0
  322. {hvplot-0.13.0a2 → hvplot-0.13.0rc1}/hvplot/data/crime.csv +0 -0
  323. {hvplot-0.13.0a2 → hvplot-0.13.0rc1}/hvplot/datasets.yaml +0 -0
  324. {hvplot-0.13.0a2 → hvplot-0.13.0rc1}/hvplot/fugue.py +0 -0
  325. {hvplot-0.13.0a2 → hvplot-0.13.0rc1}/hvplot/interactive.py +0 -0
  326. {hvplot-0.13.0a2 → hvplot-0.13.0rc1}/hvplot/networkx.py +0 -0
  327. {hvplot-0.13.0a2 → hvplot-0.13.0rc1}/hvplot/plotting/__init__.py +0 -0
  328. {hvplot-0.13.0a2 → hvplot-0.13.0rc1}/hvplot/plotting/andrews_curves.py +0 -0
  329. {hvplot-0.13.0a2 → hvplot-0.13.0rc1}/hvplot/plotting/lag_plot.py +0 -0
  330. {hvplot-0.13.0a2 → hvplot-0.13.0rc1}/hvplot/plotting/parallel_coordinates.py +0 -0
  331. {hvplot-0.13.0a2 → hvplot-0.13.0rc1}/hvplot/plotting/scatter_matrix.py +0 -0
  332. {hvplot-0.13.0a2 → hvplot-0.13.0rc1}/hvplot/sample_data.py +0 -0
  333. {hvplot-0.13.0a2 → hvplot-0.13.0rc1}/hvplot/sampledata.py +0 -0
  334. {hvplot-0.13.0a2 → hvplot-0.13.0rc1}/hvplot/tests/__init__.py +0 -0
  335. {hvplot-0.13.0a2 → hvplot-0.13.0rc1}/hvplot/tests/data/README.md +0 -0
  336. {hvplot-0.13.0a2 → hvplot-0.13.0rc1}/hvplot/tests/data/RGB-red.byte.tif +0 -0
  337. {hvplot-0.13.0a2/hvplot/tests/plotting → hvplot-0.13.0rc1/hvplot/tests/data_libraries}/__init__.py +0 -0
  338. /hvplot-0.13.0a2/hvplot/tests/plotting/testandrewscurves.py → /hvplot-0.13.0rc1/hvplot/tests/plotting/test_andrews_curves.py +0 -0
  339. {hvplot-0.13.0a2 → hvplot-0.13.0rc1}/hvplot/util.py +0 -0
  340. {hvplot-0.13.0a2 → hvplot-0.13.0rc1}/hvplot/utilities.py +0 -0
  341. {hvplot-0.13.0a2 → hvplot-0.13.0rc1}/scripts/conda/build.sh +0 -0
  342. {hvplot-0.13.0a2 → hvplot-0.13.0rc1}/scripts/sync_git_tags.py +0 -0
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.4
1
+ Metadata-Version: 2.5
2
2
  Name: hvplot
3
- Version: 0.13.0a2
3
+ Version: 0.13.0rc1
4
4
  Summary: A high-level plotting API for the PyData ecosystem built on HoloViews.
5
5
  Project-URL: Homepage, https://hvplot.holoviz.org
6
6
  Project-URL: Source, http://github.com/holoviz/hvplot
@@ -15,14 +15,14 @@ Classifier: Intended Audience :: Science/Research
15
15
  Classifier: License :: OSI Approved :: BSD License
16
16
  Classifier: Natural Language :: English
17
17
  Classifier: Operating System :: OS Independent
18
- Classifier: Programming Language :: Python :: 3.10
19
18
  Classifier: Programming Language :: Python :: 3.11
20
19
  Classifier: Programming Language :: Python :: 3.12
21
20
  Classifier: Programming Language :: Python :: 3.13
22
21
  Classifier: Programming Language :: Python :: 3.14
22
+ Classifier: Programming Language :: Python :: 3.15
23
23
  Classifier: Topic :: Scientific/Engineering
24
24
  Classifier: Topic :: Software Development :: Libraries
25
- Requires-Python: >=3.10
25
+ Requires-Python: >=3.11
26
26
  Requires-Dist: bokeh>=3.1
27
27
  Requires-Dist: colorcet>=2
28
28
  Requires-Dist: holoviews>=1.19.0
@@ -35,6 +35,7 @@ Provides-Extra: dev-extras
35
35
  Requires-Dist: setuptools-scm>=6; extra == 'dev-extras'
36
36
  Provides-Extra: doc
37
37
  Requires-Dist: bokeh-sampledata>=2025.0; extra == 'doc'
38
+ Requires-Dist: bokeh>=3.10; extra == 'doc'
38
39
  Requires-Dist: dask[dataframe]>=2021.3.0; extra == 'doc'
39
40
  Requires-Dist: datashader>=0.6.5; extra == 'doc'
40
41
  Requires-Dist: duckdb; extra == 'doc'
@@ -53,6 +54,7 @@ Requires-Dist: notebook>=5.4; extra == 'doc'
53
54
  Requires-Dist: numba>=0.51.0; extra == 'doc'
54
55
  Requires-Dist: numpydoc; extra == 'doc'
55
56
  Requires-Dist: pillow>=8.2.0; extra == 'doc'
57
+ Requires-Dist: playwright; extra == 'doc'
56
58
  Requires-Dist: plotly; extra == 'doc'
57
59
  Requires-Dist: polars; extra == 'doc'
58
60
  Requires-Dist: pooch>=1.6.0; extra == 'doc'
@@ -60,11 +62,11 @@ Requires-Dist: s3fs>=2022.1.0; extra == 'doc'
60
62
  Requires-Dist: scikit-image>=0.17.2; extra == 'doc'
61
63
  Requires-Dist: scikit-learn>=1.4.0; extra == 'doc'
62
64
  Requires-Dist: scipy>=1.5.3; extra == 'doc'
63
- Requires-Dist: selenium>=3.141.0; extra == 'doc'
64
65
  Requires-Dist: sphinxcontrib-mermaid; extra == 'doc'
65
66
  Requires-Dist: sphinxext-rediraffe; extra == 'doc'
66
67
  Requires-Dist: sqlglot; extra == 'doc'
67
68
  Requires-Dist: xarray>=0.18.2; extra == 'doc'
69
+ Requires-Dist: xugrid>=0.15.0; extra == 'doc'
68
70
  Requires-Dist: xyzservices>=2022.9.0; extra == 'doc'
69
71
  Provides-Extra: examples
70
72
  Requires-Dist: bokeh-sampledata>=2025.0; extra == 'examples'
@@ -84,6 +86,7 @@ Requires-Dist: networkx>=2.6.3; extra == 'examples'
84
86
  Requires-Dist: notebook>=5.4; extra == 'examples'
85
87
  Requires-Dist: numba>=0.51.0; extra == 'examples'
86
88
  Requires-Dist: pillow>=8.2.0; extra == 'examples'
89
+ Requires-Dist: playwright; extra == 'examples'
87
90
  Requires-Dist: plotly; extra == 'examples'
88
91
  Requires-Dist: polars; extra == 'examples'
89
92
  Requires-Dist: pooch>=1.6.0; extra == 'examples'
@@ -91,9 +94,9 @@ Requires-Dist: s3fs>=2022.1.0; extra == 'examples'
91
94
  Requires-Dist: scikit-image>=0.17.2; extra == 'examples'
92
95
  Requires-Dist: scikit-learn>=1.4.0; extra == 'examples'
93
96
  Requires-Dist: scipy>=1.5.3; extra == 'examples'
94
- Requires-Dist: selenium>=3.141.0; extra == 'examples'
95
97
  Requires-Dist: sqlglot; extra == 'examples'
96
98
  Requires-Dist: xarray>=0.18.2; extra == 'examples'
99
+ Requires-Dist: xugrid>=0.15.0; extra == 'examples'
97
100
  Requires-Dist: xyzservices>=2022.9.0; extra == 'examples'
98
101
  Provides-Extra: examples-tests
99
102
  Requires-Dist: bokeh-sampledata>=2025.0; extra == 'examples-tests'
@@ -114,6 +117,7 @@ Requires-Dist: networkx>=2.6.3; extra == 'examples-tests'
114
117
  Requires-Dist: notebook>=5.4; extra == 'examples-tests'
115
118
  Requires-Dist: numba>=0.51.0; extra == 'examples-tests'
116
119
  Requires-Dist: pillow>=8.2.0; extra == 'examples-tests'
120
+ Requires-Dist: playwright; extra == 'examples-tests'
117
121
  Requires-Dist: plotly; extra == 'examples-tests'
118
122
  Requires-Dist: polars; extra == 'examples-tests'
119
123
  Requires-Dist: pooch>=1.6.0; extra == 'examples-tests'
@@ -122,9 +126,9 @@ Requires-Dist: s3fs>=2022.1.0; extra == 'examples-tests'
122
126
  Requires-Dist: scikit-image>=0.17.2; extra == 'examples-tests'
123
127
  Requires-Dist: scikit-learn>=1.4.0; extra == 'examples-tests'
124
128
  Requires-Dist: scipy>=1.5.3; extra == 'examples-tests'
125
- Requires-Dist: selenium>=3.141.0; extra == 'examples-tests'
126
129
  Requires-Dist: sqlglot; extra == 'examples-tests'
127
130
  Requires-Dist: xarray>=0.18.2; extra == 'examples-tests'
131
+ Requires-Dist: xugrid>=0.15.0; extra == 'examples-tests'
128
132
  Requires-Dist: xyzservices>=2022.9.0; extra == 'examples-tests'
129
133
  Provides-Extra: fugue-sql
130
134
  Requires-Dist: fugue-sql-antlr>=0.2.4; extra == 'fugue-sql'
@@ -163,7 +167,6 @@ Requires-Dist: ipywidgets; extra == 'tests'
163
167
  Requires-Dist: jinja2; extra == 'tests'
164
168
  Requires-Dist: matplotlib; extra == 'tests'
165
169
  Requires-Dist: numpydoc; extra == 'tests'
166
- Requires-Dist: parameterized; extra == 'tests'
167
170
  Requires-Dist: plotly; extra == 'tests'
168
171
  Requires-Dist: polars; extra == 'tests'
169
172
  Requires-Dist: pooch; extra == 'tests'
@@ -171,6 +174,9 @@ Requires-Dist: pre-commit; extra == 'tests'
171
174
  Requires-Dist: psutil; extra == 'tests'
172
175
  Requires-Dist: pytest; extra == 'tests'
173
176
  Requires-Dist: pytest-cov; extra == 'tests'
177
+ Requires-Dist: pytest-randomly; extra == 'tests'
178
+ Requires-Dist: pytest-socket; extra == 'tests'
179
+ Requires-Dist: pytest-xdist; extra == 'tests'
174
180
  Requires-Dist: ruff; extra == 'tests'
175
181
  Requires-Dist: scipy; extra == 'tests'
176
182
  Requires-Dist: spatialpandas; extra == 'tests'
@@ -183,13 +189,15 @@ Requires-Dist: dask[dataframe]; extra == 'tests-core'
183
189
  Requires-Dist: ipywidgets; extra == 'tests-core'
184
190
  Requires-Dist: matplotlib; extra == 'tests-core'
185
191
  Requires-Dist: numpydoc; extra == 'tests-core'
186
- Requires-Dist: parameterized; extra == 'tests-core'
187
192
  Requires-Dist: plotly; extra == 'tests-core'
188
193
  Requires-Dist: pooch; extra == 'tests-core'
189
194
  Requires-Dist: pre-commit; extra == 'tests-core'
190
195
  Requires-Dist: psutil; extra == 'tests-core'
191
196
  Requires-Dist: pytest; extra == 'tests-core'
192
197
  Requires-Dist: pytest-cov; extra == 'tests-core'
198
+ Requires-Dist: pytest-randomly; extra == 'tests-core'
199
+ Requires-Dist: pytest-socket; extra == 'tests-core'
200
+ Requires-Dist: pytest-xdist; extra == 'tests-core'
193
201
  Requires-Dist: ruff; extra == 'tests-core'
194
202
  Requires-Dist: scipy; extra == 'tests-core'
195
203
  Requires-Dist: xarray; extra == 'tests-core'
@@ -14,6 +14,14 @@ from sphinx.util.docutils import SphinxDirective
14
14
 
15
15
  from hvplot.util import _get_docstring_group_parameters
16
16
 
17
+ # Deprecated options that have no definition section to link to
18
+ OPTIONS_WITHOUT_DEFINITION = {'hover_formatters'}
19
+
20
+
21
+ def option_label(name):
22
+ """Label of an option definition, e.g. 'xlim/ylim' -> 'option-xlim__ylim'."""
23
+ return 'option-' + name.replace('/', '__')
24
+
17
25
 
18
26
  class PlottingOptionsTableDirective(SphinxDirective):
19
27
  """
@@ -29,16 +37,27 @@ class PlottingOptionsTableDirective(SphinxDirective):
29
37
  # Get the key passed to the directive
30
38
  options_group = self.arguments[0]
31
39
  parameters = _get_docstring_group_parameters(options_group)
32
- table_rst = ['.. list-table::', ' :header-rows: 1', ' :widths: 25 70', '']
40
+ table_rst = [
41
+ '.. list-table::',
42
+ ' :header-rows: 1',
43
+ ' :widths: 25 70',
44
+ ' :class: plotting-options-table',
45
+ '',
46
+ ]
33
47
  table_rst.append(' * - ')
34
48
  table_rst.append(' Parameters')
35
49
  table_rst.append(' - ')
36
50
  table_rst.append(' Description')
37
51
 
38
52
  for param in parameters:
53
+ if param.name in OPTIONS_WITHOUT_DEFINITION:
54
+ name = f'**{param.name}**'
55
+ else:
56
+ # A role cannot be nested in **bold**, custom.css makes the link bold
57
+ name = f':ref:`{param.name} <{option_label(param.name)}>`'
39
58
  desc = '\n'.join(param.desc)
40
59
  table_rst.append(' * - ')
41
- table_rst.append(f' **{param.name}** *({param.type})*')
60
+ table_rst.append(f' {name} *({param.type})*')
42
61
  table_rst.append(' - ')
43
62
  table_rst.append(indent(desc, ' ' * 7))
44
63
 
@@ -26,3 +26,8 @@
26
26
  padding: 0.7em 3em !important;
27
27
  font-size: 1.2em;
28
28
  }
29
+
30
+ /* Option names are links in the plotting options tables */
31
+ .plotting-options-table td:first-child a {
32
+ font-weight: bold;
33
+ }
@@ -50,6 +50,8 @@ html_theme_options.update( # noqa: F405
50
50
  {
51
51
  'navbar_start': ['navbar-logo', 'version-switcher'],
52
52
  'use_edit_page_button': True,
53
+ # Tutorials, User Guide, How-To, Gallery, Reference and Explanation inline
54
+ 'header_links_before_dropdown': 7,
53
55
  'github_url': 'https://github.com/holoviz/hvplot',
54
56
  'icon_links': [
55
57
  {
@@ -69,7 +71,6 @@ html_theme_options.update( # noqa: F405
69
71
  },
70
72
  ],
71
73
  'pygments_dark_style': 'material',
72
- 'announcement': "hvPlot 0.12 has just been released! Checkout the <a href='https://blog.holoviz.org/posts/hvplot_release_0.12/'>blog post</a> and support hvPlot by giving it a 🌟 on <a href='https://github.com/holoviz/hvplot'>Github</a>.", # noqa: E501
73
74
  'switcher': {
74
75
  'json_url': 'https://hvplot.holoviz.org/switcher.json',
75
76
  'version_match': switcher_version,
@@ -108,6 +109,40 @@ myst_enable_extensions = [
108
109
  'html_image',
109
110
  ]
110
111
 
112
+ API_PLOT_METHODS = [
113
+ 'hvPlot.area',
114
+ 'hvPlot.bar',
115
+ 'hvPlot.barh',
116
+ 'hvPlot.bivariate',
117
+ 'hvPlot.box',
118
+ 'hvPlot.contour',
119
+ 'hvPlot.contourf',
120
+ 'hvPlot.density',
121
+ 'hvPlot.errorbars',
122
+ 'hvPlot.heatmap',
123
+ 'hvPlot.hexbin',
124
+ 'hvPlot.hist',
125
+ 'hvPlot.image',
126
+ 'hvPlot.kde',
127
+ 'hvPlot.labels',
128
+ 'hvPlot.line',
129
+ 'hvPlot.ohlc',
130
+ 'hvPlot.paths',
131
+ 'hvPlot.points',
132
+ 'hvPlot.polygons',
133
+ 'hvPlot.quadmesh',
134
+ 'hvPlot.rgb',
135
+ 'hvPlot.scatter',
136
+ 'hvPlot.step',
137
+ 'hvPlot.table',
138
+ 'hvPlot.vectorfield',
139
+ 'hvPlot.violin',
140
+ 'plotting.andrews_curves',
141
+ 'plotting.lag_plot',
142
+ 'plotting.parallel_coordinates',
143
+ 'plotting.scatter_matrix',
144
+ ]
145
+
111
146
  nbsite_gallery_conf = {
112
147
  'github_org': 'holoviz',
113
148
  'github_project': 'hvplot',
@@ -123,6 +158,21 @@ nbsite_gallery_conf = {
123
158
  '`HoloViz Examples website <https://examples.holoviz.org>`_.'
124
159
  ),
125
160
  'sections': [
161
+ {
162
+ 'path': 'api',
163
+ 'title': 'API Reference',
164
+ 'description': (
165
+ 'One example per plotting method, linking to its API reference page.'
166
+ ),
167
+ 'items': [
168
+ {
169
+ 'title': method.split('.')[-1],
170
+ # Relative URL so the link stays in the same docs version.
171
+ 'url': f'../ref/api/manual/hvplot.{method}.html',
172
+ }
173
+ for method in API_PLOT_METHODS
174
+ ],
175
+ },
126
176
  {
127
177
  'path': 'basic-charts',
128
178
  'title': 'Basic Charts',
@@ -173,6 +223,13 @@ rediraffe_redirects = {
173
223
  'user_guide/Customization': 'ref/plotting_options/index',
174
224
  # Pandas API viz user guide moved to the reference
175
225
  'user_guide/pandas_api': 'ref/api_compatibility/pandas/Pandas_API',
226
+ # User guides replaced by tutorials, how-to and explanation guides
227
+ 'user_guide/Introduction': 'tutorials/getting_started',
228
+ 'user_guide/Explorer': 'tutorials/explorer',
229
+ 'user_guide/Plotting_Extensions': 'how_to/load_switch_plotting_extensions',
230
+ 'user_guide/Viewing': 'how_to/display_plots',
231
+ 'user_guide/Subplots': 'how_to/split_into_subplots',
232
+ 'user_guide/Statistical_Plots': 'explanation/statistical_plot_types',
176
233
  }
177
234
 
178
235
  html_extra_path = ['topics.html']
@@ -2,7 +2,6 @@ import os
2
2
  from importlib.util import find_spec
3
3
 
4
4
  import dask
5
- from bokeh.io.webdriver import webdriver_control
6
5
  from packaging.version import Version, parse
7
6
 
8
7
  from hvplot.util import _PD_GE_3_0_0
@@ -35,7 +34,6 @@ if not find_spec('geoviews'): # geo examples
35
34
  'ref/api/manual/hvplot.hvPlot.vectorfield.ipynb',
36
35
  'ref/data_libraries.ipynb',
37
36
  'ref/plotting_options/geographic.ipynb',
38
- 'user_guide/Explorer.ipynb',
39
37
  'user_guide/Geographic_Data.ipynb',
40
38
  'user_guide/Integrations.ipynb',
41
39
  ]
@@ -65,17 +63,12 @@ try:
65
63
  except ImportError:
66
64
  pass
67
65
 
68
- if find_spec('selenium'):
69
- try:
70
- webdriver_control.create()
71
- except RuntimeError:
72
- # hvplot.save() with bokeh
73
- collect_ignore_glob += [
74
- 'user_guide/Viewing.ipynb',
75
- 'user_guide/NetworkX.ipynb',
76
- ]
77
- finally:
78
- webdriver_control.cleanup()
66
+ # Bokeh PNG export (hvplot.save) needs Playwright and a browser, which are only
67
+ # installed when building the docs, not when running the examples tests.
68
+ collect_ignore_glob += [
69
+ 'how_to/save_bokeh_plots.ipynb',
70
+ 'user_guide/NetworkX.ipynb',
71
+ ]
79
72
 
80
73
  pygraphviz = None
81
74
 
@@ -171,10 +171,14 @@ Unit tests can be run with the `test-unit` task:
171
171
  pixi run test-unit
172
172
  ```
173
173
 
174
+ The tests run in parallel and in a random order. Slow tests are skipped unless you pass `--slow`, e.g. `pixi run test-unit --slow`.
175
+
176
+ Every plot returned by hvPlot during the tests is also rendered with the current plotting backend, as a configuration that HoloViews accepts can still fail when the plot is built. Pass `--no-render` for a faster run, e.g. `pixi run test-unit --no-render`.
177
+
174
178
  :::{admonition} Advanced usage
175
179
  :class: tip
176
180
 
177
- The task is available in the following environments: `test-310`, `test-311`, `test-312`, `test-313`, and `test-core`. Where the first ones have the same environments except for different Python versions, and `test-core` only has a core set of dependencies.
181
+ The task is available in the following environments: `test-311`, `test-312`, `test-313`, `test-314`, and `test-core`. Where the first ones have the same environments except for different Python versions, and `test-core` (Python 3.15) only has a core set of dependencies.
178
182
 
179
183
  You can run the task in a specific environment with the `-e` flag. For example, to run the `test-unit` task in the `test-313` environment, you can run:
180
184
 
@@ -195,6 +199,65 @@ pixi run -e test-core install
195
199
 
196
200
  :::
197
201
 
202
+ #### Writing unit tests
203
+
204
+ Tests are plain pytest functions. Where a test goes:
205
+
206
+ | I'm testing... | Add the test to |
207
+ |---|---|
208
+ | a plot option, e.g. `xlabel` | `hvplot/tests/options/test_<group>.py`, the group being the option's section in the docs, e.g. `test_axis.py` |
209
+ | a kind or one of its options, e.g. `bins` of `hist` | `hvplot/tests/kinds/test_<kind>.py` |
210
+ | something only one data library does | the kind or option module, with the library in the test name, e.g. `test_hover_cols_all_geodataframe` |
211
+ | anything else | the module mirroring the source file, e.g. `test_util.py` for `hvplot/util.py` |
212
+
213
+ Name option tests `test_<option>` or `test_<option>_<detail>`: `test_options_inventory.py` and `test_kinds_inventory.py` fail when an option or a kind has no test, and tell you which test to add where. A new kind also runs in `kinds/test_all_kinds.py` with every data library and backend, its known failures go in the dicts at the top of that module.
214
+
215
+ A test of a backend-specific option, with a known failure on one backend:
216
+
217
+ ```python
218
+ @pytest.mark.parametrize(
219
+ 'backend',
220
+ [
221
+ 'bokeh',
222
+ 'matplotlib',
223
+ pytest.param(
224
+ 'plotly',
225
+ marks=pytest.mark.xfail(
226
+ reason='HoloViews: plotly has no legend_position option',
227
+ raises=KeyError,
228
+ strict=False,
229
+ ),
230
+ ),
231
+ ],
232
+ indirect=True,
233
+ )
234
+ def test_legend_position(hvplot_pandas, backend):
235
+ df = pd.DataFrame({'x': [1, 2], 'y': [3, 4], 'category': ['a', 'b']})
236
+ plot = df.hvplot.scatter('x', 'y', by='category', legend='left')
237
+ assert Store.lookup_options(backend, plot, 'plot').kwargs['legend_position'] == 'left'
238
+ ```
239
+
240
+ The fixtures are in `hvplot/tests/conftest.py`:
241
+
242
+ - `hvplot_pandas` and `hvplot_xarray` add the `.hvplot` accessor. Don't `import hvplot.pandas` at the top of a test module, this is reported as an error.
243
+ - `backend` runs the test with Bokeh, Matplotlib and Plotly. Request it after the accessor fixtures.
244
+ - `tabular_lib` and `gridded_lib` run the test with each data library, converting pandas or Xarray data: `tabular_lib(df).hvplot.scatter(...)`.
245
+ - `block_import('geoviews')` makes a module look not installed.
246
+
247
+ The global state (HoloViews options, plotting backend, accessors) is restored after each test.
248
+
249
+ Data: write option and kind tests with pandas. Use `tabular_lib` or `gridded_lib` when asserting something that depends on the data library, and `@pandas_and_dask` from `hvplot/tests/_deps.py` when the test needs an index or the pandas API (Dask has its own code paths). If the option reads the data (a column name, a template, `hv.dim`, `'time.hour'`, a Datashader reduction...), also add a case to `CASES` in `data_libraries/test_tabular_parity.py`, which compares every tabular library with pandas. Tests can't access the internet, use `hvplot/tests/_data.py` or build the data in the test.
250
+
251
+ Marks:
252
+
253
+ - `@pytest.mark.slow` for tests taking more than about a second and all the tests running Datashader.
254
+ - `@pytest.mark.geo` for tests using GeoViews, `@requires('datashader')` from `_deps.py` for other optional dependencies.
255
+ - `@pytest.mark.xfail(reason='BUG: <description>')` for an hvPlot bug not fixed yet. It is strict, the test fails once the bug is fixed. When another library is at fault, name it in the reason (`'HoloViews: ...'`) and pass `strict=False`, as above.
256
+ - `render_xfail` is the same for a test that only fails when its plot is rendered.
257
+ - `lib_xfail('ibis', reason=...)` and `lib_render_xfail(...)` are the same for the test run with these libraries only. `lib_skip('duckdb', reason=...)` skips a library the test doesn't apply to.
258
+
259
+ To add a data library, follow the comment above `TABULAR_LIBS` in `hvplot/tests/_deps.py`.
260
+
198
261
  ### Example tests
199
262
 
200
263
  hvPlot's documentation consists mainly of Jupyter Notebooks. The example tests execute all the notebooks and fail if an error is raised. Example tests are possible thanks to [nbval](https://nbval.readthedocs.io/) and can be found in the `doc/` folder.
@@ -223,6 +286,17 @@ As hvPlot uses notebooks for much of the documentation, this takes a little whil
223
286
 
224
287
  A development version of hvPlot can be found [here](https://holoviz-dev.github.io/hvplot/). You can ask a maintainer if they want to make a dev release for your PR, but there is no guarantee they will say yes.
225
288
 
289
+ ### Markdown docs and `llms.txt`
290
+
291
+ As part of `docs-build`, hvPlot also generates clean Markdown versions of its documentation together with an `llms.txt` index file that points AI assistants at the most relevant pages.
292
+
293
+ The build produces:
294
+
295
+ - `builtdocs/markdown/` - a Markdown rendering of the documentation
296
+ - `builtdocs/llms.txt` - an index of the most useful documentation pages for LLM-assisted development
297
+
298
+ See [How to Use hvPlot with an AI Assistant](how_to/use_ai_assistant.md) for how to consume these docs with an AI assistant.
299
+
226
300
  ### Link to hvPlot objects
227
301
 
228
302
  ```md