hvplot 0.9.3a2__tar.gz → 0.10.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.
- {hvplot-0.9.3a2 → hvplot-0.10.0rc1}/.github/workflows/build.yaml +2 -1
- {hvplot-0.9.3a2 → hvplot-0.10.0rc1}/.github/workflows/test.yaml +30 -6
- {hvplot-0.9.3a2 → hvplot-0.10.0rc1}/.pre-commit-config.yaml +1 -0
- {hvplot-0.9.3a2 → hvplot-0.10.0rc1}/PKG-INFO +5 -3
- {hvplot-0.9.3a2 → hvplot-0.10.0rc1}/doc/conf.py +40 -27
- {hvplot-0.9.3a2 → hvplot-0.10.0rc1}/doc/conftest.py +3 -1
- {hvplot-0.9.3a2 → hvplot-0.10.0rc1}/doc/developer_guide/index.md +1 -1
- {hvplot-0.9.3a2 → hvplot-0.10.0rc1}/doc/releases.md +55 -0
- {hvplot-0.9.3a2 → hvplot-0.10.0rc1}/doc/user_guide/Customization.ipynb +3 -2
- {hvplot-0.9.3a2 → hvplot-0.10.0rc1}/doc/user_guide/Geographic_Data.ipynb +2 -2
- {hvplot-0.9.3a2 → hvplot-0.10.0rc1}/doc/user_guide/Large_Timeseries.ipynb +5 -1
- {hvplot-0.9.3a2 → hvplot-0.10.0rc1}/doc/user_guide/Plotting_with_Plotly.ipynb +2 -9
- {hvplot-0.9.3a2 → hvplot-0.10.0rc1}/envs/py3.10-tests.yaml +1 -0
- {hvplot-0.9.3a2 → hvplot-0.10.0rc1}/envs/py3.11-docs.yaml +1 -0
- {hvplot-0.9.3a2 → hvplot-0.10.0rc1}/envs/py3.11-tests.yaml +1 -0
- {hvplot-0.9.3a2 → hvplot-0.10.0rc1}/envs/py3.12-tests.yaml +1 -0
- {hvplot-0.9.3a2 → hvplot-0.10.0rc1}/envs/py3.8-tests.yaml +1 -0
- {hvplot-0.9.3a2 → hvplot-0.10.0rc1}/envs/py3.9-tests.yaml +1 -0
- {hvplot-0.9.3a2 → hvplot-0.10.0rc1}/hvplot/_version.py +2 -2
- {hvplot-0.9.3a2 → hvplot-0.10.0rc1}/hvplot/converter.py +9 -23
- {hvplot-0.9.3a2 → hvplot-0.10.0rc1}/hvplot/tests/testui.py +7 -0
- {hvplot-0.9.3a2 → hvplot-0.10.0rc1}/hvplot/tests/testutil.py +4 -0
- {hvplot-0.9.3a2 → hvplot-0.10.0rc1}/hvplot/ui.py +5 -0
- {hvplot-0.9.3a2 → hvplot-0.10.0rc1}/hvplot/util.py +29 -5
- {hvplot-0.9.3a2 → hvplot-0.10.0rc1}/hvplot.egg-info/PKG-INFO +5 -3
- {hvplot-0.9.3a2 → hvplot-0.10.0rc1}/hvplot.egg-info/requires.txt +5 -2
- {hvplot-0.9.3a2 → hvplot-0.10.0rc1}/pyproject.toml +8 -4
- {hvplot-0.9.3a2 → hvplot-0.10.0rc1}/.git-blame-ignore-revs +0 -0
- {hvplot-0.9.3a2 → hvplot-0.10.0rc1}/.git_archival.txt +0 -0
- {hvplot-0.9.3a2 → hvplot-0.10.0rc1}/.gitattributes +0 -0
- {hvplot-0.9.3a2 → hvplot-0.10.0rc1}/.github/CONTRIBUTING.md +0 -0
- {hvplot-0.9.3a2 → hvplot-0.10.0rc1}/.github/FUNDING.yml +0 -0
- {hvplot-0.9.3a2 → hvplot-0.10.0rc1}/.github/workflows/docs.yaml +0 -0
- {hvplot-0.9.3a2 → hvplot-0.10.0rc1}/.gitignore +0 -0
- {hvplot-0.9.3a2 → hvplot-0.10.0rc1}/CHANGELOG.md +0 -0
- {hvplot-0.9.3a2 → hvplot-0.10.0rc1}/CODE_OF_CONDUCT.md +0 -0
- {hvplot-0.9.3a2 → hvplot-0.10.0rc1}/LICENSE +0 -0
- {hvplot-0.9.3a2 → hvplot-0.10.0rc1}/README.md +0 -0
- {hvplot-0.9.3a2 → hvplot-0.10.0rc1}/binder/environment.yml +0 -0
- {hvplot-0.9.3a2 → hvplot-0.10.0rc1}/binder/postBuild +0 -0
- {hvplot-0.9.3a2 → hvplot-0.10.0rc1}/conda.recipe/meta.yaml +0 -0
- {hvplot-0.9.3a2 → hvplot-0.10.0rc1}/doc/_static/custom.css +0 -0
- {hvplot-0.9.3a2 → hvplot-0.10.0rc1}/doc/_static/favicon.ico +0 -0
- {hvplot-0.9.3a2 → hvplot-0.10.0rc1}/doc/_static/home/bokeh.gif +0 -0
- {hvplot-0.9.3a2 → hvplot-0.10.0rc1}/doc/_static/home/dask.gif +0 -0
- {hvplot-0.9.3a2 → hvplot-0.10.0rc1}/doc/_static/home/explorer.gif +0 -0
- {hvplot-0.9.3a2 → hvplot-0.10.0rc1}/doc/_static/home/geo.gif +0 -0
- {hvplot-0.9.3a2 → hvplot-0.10.0rc1}/doc/_static/home/geopandas.gif +0 -0
- {hvplot-0.9.3a2 → hvplot-0.10.0rc1}/doc/_static/home/intake.gif +0 -0
- {hvplot-0.9.3a2 → hvplot-0.10.0rc1}/doc/_static/home/interactive_hvplot.gif +0 -0
- {hvplot-0.9.3a2 → hvplot-0.10.0rc1}/doc/_static/home/interactive_pandas.gif +0 -0
- {hvplot-0.9.3a2 → hvplot-0.10.0rc1}/doc/_static/home/interactive_xarray.gif +0 -0
- {hvplot-0.9.3a2 → hvplot-0.10.0rc1}/doc/_static/home/large_data.gif +0 -0
- {hvplot-0.9.3a2 → hvplot-0.10.0rc1}/doc/_static/home/layout.gif +0 -0
- {hvplot-0.9.3a2 → hvplot-0.10.0rc1}/doc/_static/home/matplotlib.png +0 -0
- {hvplot-0.9.3a2 → hvplot-0.10.0rc1}/doc/_static/home/networkx.gif +0 -0
- {hvplot-0.9.3a2 → hvplot-0.10.0rc1}/doc/_static/home/overlay.png +0 -0
- {hvplot-0.9.3a2 → hvplot-0.10.0rc1}/doc/_static/home/pandas.gif +0 -0
- {hvplot-0.9.3a2 → hvplot-0.10.0rc1}/doc/_static/home/plotly.gif +0 -0
- {hvplot-0.9.3a2 → hvplot-0.10.0rc1}/doc/_static/home/widgets.gif +0 -0
- {hvplot-0.9.3a2 → hvplot-0.10.0rc1}/doc/_static/home/xarray.gif +0 -0
- {hvplot-0.9.3a2 → hvplot-0.10.0rc1}/doc/_static/images/heat_and_trees.png +0 -0
- {hvplot-0.9.3a2 → hvplot-0.10.0rc1}/doc/_static/images/portfolio.png +0 -0
- {hvplot-0.9.3a2 → hvplot-0.10.0rc1}/doc/_static/logo.png +0 -0
- {hvplot-0.9.3a2 → hvplot-0.10.0rc1}/doc/_static/logo_horizontal.svg +0 -0
- {hvplot-0.9.3a2 → hvplot-0.10.0rc1}/doc/_static/logo_stacked.svg +0 -0
- {hvplot-0.9.3a2 → hvplot-0.10.0rc1}/doc/about.md +0 -0
- {hvplot-0.9.3a2 → hvplot-0.10.0rc1}/doc/assets/console.png +0 -0
- {hvplot-0.9.3a2 → hvplot-0.10.0rc1}/doc/assets/console_server.gif +0 -0
- {hvplot-0.9.3a2 → hvplot-0.10.0rc1}/doc/assets/diagram.png +0 -0
- {hvplot-0.9.3a2 → hvplot-0.10.0rc1}/doc/assets/diagram.svg +0 -0
- {hvplot-0.9.3a2 → hvplot-0.10.0rc1}/doc/assets/hvplot-wm.png +0 -0
- {hvplot-0.9.3a2 → hvplot-0.10.0rc1}/doc/assets/streamz_demo.gif +0 -0
- {hvplot-0.9.3a2 → hvplot-0.10.0rc1}/doc/getting_started/explorer.ipynb +0 -0
- {hvplot-0.9.3a2 → hvplot-0.10.0rc1}/doc/getting_started/hvplot.ipynb +0 -0
- {hvplot-0.9.3a2 → hvplot-0.10.0rc1}/doc/getting_started/index.md +0 -0
- {hvplot-0.9.3a2 → hvplot-0.10.0rc1}/doc/getting_started/installation.md +0 -0
- {hvplot-0.9.3a2 → hvplot-0.10.0rc1}/doc/getting_started/interactive.ipynb +0 -0
- {hvplot-0.9.3a2 → hvplot-0.10.0rc1}/doc/governance/project-docs/CONTRIBUTING.md +0 -0
- {hvplot-0.9.3a2 → hvplot-0.10.0rc1}/doc/governance/project-docs/GOVERNANCE.md +0 -0
- {hvplot-0.9.3a2 → hvplot-0.10.0rc1}/doc/governance/project-docs/LICENSE.md +0 -0
- {hvplot-0.9.3a2 → hvplot-0.10.0rc1}/doc/governance/project-docs/MEMBERS.md +0 -0
- {hvplot-0.9.3a2 → hvplot-0.10.0rc1}/doc/index.md +0 -0
- {hvplot-0.9.3a2 → hvplot-0.10.0rc1}/doc/reference/geopandas/points.ipynb +0 -0
- {hvplot-0.9.3a2 → hvplot-0.10.0rc1}/doc/reference/geopandas/polygons.ipynb +0 -0
- {hvplot-0.9.3a2 → hvplot-0.10.0rc1}/doc/reference/tabular/andrewscurves.ipynb +0 -0
- {hvplot-0.9.3a2 → hvplot-0.10.0rc1}/doc/reference/tabular/area.ipynb +0 -0
- {hvplot-0.9.3a2 → hvplot-0.10.0rc1}/doc/reference/tabular/bar.ipynb +0 -0
- {hvplot-0.9.3a2 → hvplot-0.10.0rc1}/doc/reference/tabular/barh.ipynb +0 -0
- {hvplot-0.9.3a2 → hvplot-0.10.0rc1}/doc/reference/tabular/bivariate.ipynb +0 -0
- {hvplot-0.9.3a2 → hvplot-0.10.0rc1}/doc/reference/tabular/box.ipynb +0 -0
- {hvplot-0.9.3a2 → hvplot-0.10.0rc1}/doc/reference/tabular/errorbars.ipynb +0 -0
- {hvplot-0.9.3a2 → hvplot-0.10.0rc1}/doc/reference/tabular/heatmap.ipynb +0 -0
- {hvplot-0.9.3a2 → hvplot-0.10.0rc1}/doc/reference/tabular/hexbin.ipynb +0 -0
- {hvplot-0.9.3a2 → hvplot-0.10.0rc1}/doc/reference/tabular/hist.ipynb +0 -0
- {hvplot-0.9.3a2 → hvplot-0.10.0rc1}/doc/reference/tabular/kde.ipynb +0 -0
- {hvplot-0.9.3a2 → hvplot-0.10.0rc1}/doc/reference/tabular/labels.ipynb +0 -0
- {hvplot-0.9.3a2 → hvplot-0.10.0rc1}/doc/reference/tabular/lagplot.ipynb +0 -0
- {hvplot-0.9.3a2 → hvplot-0.10.0rc1}/doc/reference/tabular/line.ipynb +0 -0
- {hvplot-0.9.3a2 → hvplot-0.10.0rc1}/doc/reference/tabular/ohlc.ipynb +0 -0
- {hvplot-0.9.3a2 → hvplot-0.10.0rc1}/doc/reference/tabular/parallelcoordinates.ipynb +0 -0
- {hvplot-0.9.3a2 → hvplot-0.10.0rc1}/doc/reference/tabular/scatter.ipynb +0 -0
- {hvplot-0.9.3a2 → hvplot-0.10.0rc1}/doc/reference/tabular/scattermatrix.ipynb +0 -0
- {hvplot-0.9.3a2 → hvplot-0.10.0rc1}/doc/reference/tabular/step.ipynb +0 -0
- {hvplot-0.9.3a2 → hvplot-0.10.0rc1}/doc/reference/tabular/table.ipynb +0 -0
- {hvplot-0.9.3a2 → hvplot-0.10.0rc1}/doc/reference/tabular/violin.ipynb +0 -0
- {hvplot-0.9.3a2 → hvplot-0.10.0rc1}/doc/reference/xarray/bar.ipynb +0 -0
- {hvplot-0.9.3a2 → hvplot-0.10.0rc1}/doc/reference/xarray/contour.ipynb +0 -0
- {hvplot-0.9.3a2 → hvplot-0.10.0rc1}/doc/reference/xarray/contourf.ipynb +0 -0
- {hvplot-0.9.3a2 → hvplot-0.10.0rc1}/doc/reference/xarray/hist.ipynb +0 -0
- {hvplot-0.9.3a2 → hvplot-0.10.0rc1}/doc/reference/xarray/image.ipynb +0 -0
- {hvplot-0.9.3a2 → hvplot-0.10.0rc1}/doc/reference/xarray/kde.ipynb +0 -0
- {hvplot-0.9.3a2 → hvplot-0.10.0rc1}/doc/reference/xarray/line.ipynb +0 -0
- {hvplot-0.9.3a2 → hvplot-0.10.0rc1}/doc/reference/xarray/quadmesh.ipynb +0 -0
- {hvplot-0.9.3a2 → hvplot-0.10.0rc1}/doc/reference/xarray/rgb.ipynb +0 -0
- {hvplot-0.9.3a2 → hvplot-0.10.0rc1}/doc/reference/xarray/vectorfield.ipynb +0 -0
- {hvplot-0.9.3a2 → hvplot-0.10.0rc1}/doc/reference/xarray/violin.ipynb +0 -0
- {hvplot-0.9.3a2 → hvplot-0.10.0rc1}/doc/roadmap.md +0 -0
- {hvplot-0.9.3a2 → hvplot-0.10.0rc1}/doc/topics.md +0 -0
- {hvplot-0.9.3a2 → hvplot-0.10.0rc1}/doc/user_guide/Explorer.ipynb +0 -0
- {hvplot-0.9.3a2 → hvplot-0.10.0rc1}/doc/user_guide/Gridded_Data.ipynb +0 -0
- {hvplot-0.9.3a2 → hvplot-0.10.0rc1}/doc/user_guide/Integrations.ipynb +0 -0
- {hvplot-0.9.3a2 → hvplot-0.10.0rc1}/doc/user_guide/Interactive.ipynb +0 -0
- {hvplot-0.9.3a2 → hvplot-0.10.0rc1}/doc/user_guide/Introduction.ipynb +0 -0
- {hvplot-0.9.3a2 → hvplot-0.10.0rc1}/doc/user_guide/NetworkX.ipynb +0 -0
- {hvplot-0.9.3a2 → hvplot-0.10.0rc1}/doc/user_guide/Pandas_API.ipynb +0 -0
- {hvplot-0.9.3a2 → hvplot-0.10.0rc1}/doc/user_guide/Plotting.ipynb +0 -0
- {hvplot-0.9.3a2 → hvplot-0.10.0rc1}/doc/user_guide/Plotting_Extensions.ipynb +0 -0
- {hvplot-0.9.3a2 → hvplot-0.10.0rc1}/doc/user_guide/Plotting_with_Matplotlib.ipynb +0 -0
- {hvplot-0.9.3a2 → hvplot-0.10.0rc1}/doc/user_guide/Statistical_Plots.ipynb +0 -0
- {hvplot-0.9.3a2 → hvplot-0.10.0rc1}/doc/user_guide/Streaming.ipynb +0 -0
- {hvplot-0.9.3a2 → hvplot-0.10.0rc1}/doc/user_guide/Subplots.ipynb +0 -0
- {hvplot-0.9.3a2 → hvplot-0.10.0rc1}/doc/user_guide/Timeseries_Data.ipynb +0 -0
- {hvplot-0.9.3a2 → hvplot-0.10.0rc1}/doc/user_guide/Viewing.ipynb +0 -0
- {hvplot-0.9.3a2 → hvplot-0.10.0rc1}/doc/user_guide/Widgets.ipynb +0 -0
- {hvplot-0.9.3a2 → hvplot-0.10.0rc1}/doc/user_guide/images/simple.svg +0 -0
- {hvplot-0.9.3a2 → hvplot-0.10.0rc1}/doc/user_guide/index.md +0 -0
- {hvplot-0.9.3a2 → hvplot-0.10.0rc1}/hvplot/__init__.py +0 -0
- {hvplot-0.9.3a2 → hvplot-0.10.0rc1}/hvplot/backend_transforms.py +0 -0
- {hvplot-0.9.3a2 → hvplot-0.10.0rc1}/hvplot/cudf.py +0 -0
- {hvplot-0.9.3a2 → hvplot-0.10.0rc1}/hvplot/dask.py +0 -0
- {hvplot-0.9.3a2 → hvplot-0.10.0rc1}/hvplot/data/crime.csv +0 -0
- {hvplot-0.9.3a2 → hvplot-0.10.0rc1}/hvplot/datasets.yaml +0 -0
- {hvplot-0.9.3a2 → hvplot-0.10.0rc1}/hvplot/fugue.py +0 -0
- {hvplot-0.9.3a2 → hvplot-0.10.0rc1}/hvplot/ibis.py +0 -0
- {hvplot-0.9.3a2 → hvplot-0.10.0rc1}/hvplot/intake.py +0 -0
- {hvplot-0.9.3a2 → hvplot-0.10.0rc1}/hvplot/interactive.py +0 -0
- {hvplot-0.9.3a2 → hvplot-0.10.0rc1}/hvplot/networkx.py +0 -0
- {hvplot-0.9.3a2 → hvplot-0.10.0rc1}/hvplot/pandas.py +0 -0
- {hvplot-0.9.3a2 → hvplot-0.10.0rc1}/hvplot/plotting/__init__.py +0 -0
- {hvplot-0.9.3a2 → hvplot-0.10.0rc1}/hvplot/plotting/andrews_curves.py +0 -0
- {hvplot-0.9.3a2 → hvplot-0.10.0rc1}/hvplot/plotting/core.py +0 -0
- {hvplot-0.9.3a2 → hvplot-0.10.0rc1}/hvplot/plotting/lag_plot.py +0 -0
- {hvplot-0.9.3a2 → hvplot-0.10.0rc1}/hvplot/plotting/parallel_coordinates.py +0 -0
- {hvplot-0.9.3a2 → hvplot-0.10.0rc1}/hvplot/plotting/scatter_matrix.py +0 -0
- {hvplot-0.9.3a2 → hvplot-0.10.0rc1}/hvplot/polars.py +0 -0
- {hvplot-0.9.3a2 → hvplot-0.10.0rc1}/hvplot/sample_data.py +0 -0
- {hvplot-0.9.3a2 → hvplot-0.10.0rc1}/hvplot/streamz.py +0 -0
- {hvplot-0.9.3a2 → hvplot-0.10.0rc1}/hvplot/tests/__init__.py +0 -0
- {hvplot-0.9.3a2 → hvplot-0.10.0rc1}/hvplot/tests/conftest.py +0 -0
- {hvplot-0.9.3a2 → hvplot-0.10.0rc1}/hvplot/tests/data/README.md +0 -0
- {hvplot-0.9.3a2 → hvplot-0.10.0rc1}/hvplot/tests/data/RGB-red.byte.tif +0 -0
- {hvplot-0.9.3a2 → hvplot-0.10.0rc1}/hvplot/tests/plotting/__init__.py +0 -0
- {hvplot-0.9.3a2 → hvplot-0.10.0rc1}/hvplot/tests/plotting/testcore.py +0 -0
- {hvplot-0.9.3a2 → hvplot-0.10.0rc1}/hvplot/tests/plotting/testohlc.py +0 -0
- {hvplot-0.9.3a2 → hvplot-0.10.0rc1}/hvplot/tests/plotting/testscattermatrix.py +0 -0
- {hvplot-0.9.3a2 → hvplot-0.10.0rc1}/hvplot/tests/test_links.py +0 -0
- {hvplot-0.9.3a2 → hvplot-0.10.0rc1}/hvplot/tests/testbackend_transforms.py +0 -0
- {hvplot-0.9.3a2 → hvplot-0.10.0rc1}/hvplot/tests/testcharts.py +0 -0
- {hvplot-0.9.3a2 → hvplot-0.10.0rc1}/hvplot/tests/testfugue.py +0 -0
- {hvplot-0.9.3a2 → hvplot-0.10.0rc1}/hvplot/tests/testgeo.py +0 -0
- {hvplot-0.9.3a2 → hvplot-0.10.0rc1}/hvplot/tests/testgeowithoutgv.py +0 -0
- {hvplot-0.9.3a2 → hvplot-0.10.0rc1}/hvplot/tests/testgridplots.py +0 -0
- {hvplot-0.9.3a2 → hvplot-0.10.0rc1}/hvplot/tests/testhelp.py +0 -0
- {hvplot-0.9.3a2 → hvplot-0.10.0rc1}/hvplot/tests/testibis.py +0 -0
- {hvplot-0.9.3a2 → hvplot-0.10.0rc1}/hvplot/tests/testinteractive.py +0 -0
- {hvplot-0.9.3a2 → hvplot-0.10.0rc1}/hvplot/tests/testnetworkx.py +0 -0
- {hvplot-0.9.3a2 → hvplot-0.10.0rc1}/hvplot/tests/testoperations.py +0 -0
- {hvplot-0.9.3a2 → hvplot-0.10.0rc1}/hvplot/tests/testoptions.py +0 -0
- {hvplot-0.9.3a2 → hvplot-0.10.0rc1}/hvplot/tests/testoverrides.py +0 -0
- {hvplot-0.9.3a2 → hvplot-0.10.0rc1}/hvplot/tests/testpanel.py +0 -0
- {hvplot-0.9.3a2 → hvplot-0.10.0rc1}/hvplot/tests/testpatch.py +0 -0
- {hvplot-0.9.3a2 → hvplot-0.10.0rc1}/hvplot/tests/testplotting.py +0 -0
- {hvplot-0.9.3a2 → hvplot-0.10.0rc1}/hvplot/tests/teststreaming.py +0 -0
- {hvplot-0.9.3a2 → hvplot-0.10.0rc1}/hvplot/tests/testtransforms.py +0 -0
- {hvplot-0.9.3a2 → hvplot-0.10.0rc1}/hvplot/tests/util.py +0 -0
- {hvplot-0.9.3a2 → hvplot-0.10.0rc1}/hvplot/utilities.py +0 -0
- {hvplot-0.9.3a2 → hvplot-0.10.0rc1}/hvplot/xarray.py +0 -0
- {hvplot-0.9.3a2 → hvplot-0.10.0rc1}/hvplot.egg-info/SOURCES.txt +0 -0
- {hvplot-0.9.3a2 → hvplot-0.10.0rc1}/hvplot.egg-info/dependency_links.txt +0 -0
- {hvplot-0.9.3a2 → hvplot-0.10.0rc1}/hvplot.egg-info/entry_points.txt +0 -0
- {hvplot-0.9.3a2 → hvplot-0.10.0rc1}/hvplot.egg-info/top_level.txt +0 -0
- {hvplot-0.9.3a2 → hvplot-0.10.0rc1}/scripts/update_conda_envs.py +0 -0
- {hvplot-0.9.3a2 → hvplot-0.10.0rc1}/setup.cfg +0 -0
|
@@ -38,7 +38,8 @@ jobs:
|
|
|
38
38
|
- name: conda setup
|
|
39
39
|
run: conda install anaconda-client conda-build setuptools_scm
|
|
40
40
|
- name: conda build
|
|
41
|
-
|
|
41
|
+
# TODO: remove --no-test when Dask 2024.4.2 is released on defaults
|
|
42
|
+
run: VERSION=`python -m setuptools_scm` conda build conda.recipe/ --no-test
|
|
42
43
|
- name: conda dev upload
|
|
43
44
|
if: (github.event_name == 'push' && (contains(steps.vars.outputs.tag, 'a') || contains(steps.vars.outputs.tag, 'b') || contains(steps.vars.outputs.tag, 'rc')))
|
|
44
45
|
run: anaconda --token ${{ secrets.CONDA_UPLOAD_TOKEN }} upload --user pyviz --label=dev $(VERSION=`python -m setuptools_scm` conda build --output conda.recipe)
|
|
@@ -6,8 +6,6 @@ on:
|
|
|
6
6
|
- 'v[0-9]+.[0-9]+.[0-9]+a[0-9]+'
|
|
7
7
|
- 'v[0-9]+.[0-9]+.[0-9]+b[0-9]+'
|
|
8
8
|
- 'v[0-9]+.[0-9]+.[0-9]+rc[0-9]+'
|
|
9
|
-
branches:
|
|
10
|
-
- main
|
|
11
9
|
pull_request:
|
|
12
10
|
branches:
|
|
13
11
|
- '*'
|
|
@@ -62,7 +60,13 @@ jobs:
|
|
|
62
60
|
run: |
|
|
63
61
|
MATRIX=$(jq -nsc '{
|
|
64
62
|
"os": ["ubuntu-latest", "macos-latest", "windows-latest"],
|
|
65
|
-
"python-version": ["3.8", "3.12"]
|
|
63
|
+
"python-version": ["3.8", "3.12"],
|
|
64
|
+
"exclude": [
|
|
65
|
+
{
|
|
66
|
+
"python-version": "3.8",
|
|
67
|
+
"os": "macos-latest"
|
|
68
|
+
}
|
|
69
|
+
]
|
|
66
70
|
}')
|
|
67
71
|
echo "MATRIX=$MATRIX" >> $GITHUB_ENV
|
|
68
72
|
- name: Set test matrix with 'full' option
|
|
@@ -70,7 +74,27 @@ jobs:
|
|
|
70
74
|
run: |
|
|
71
75
|
MATRIX=$(jq -nsc '{
|
|
72
76
|
"os": ["ubuntu-latest", "macos-latest", "windows-latest"],
|
|
73
|
-
"python-version": ["3.8", "3.
|
|
77
|
+
"python-version": ["3.8", "3.12"],
|
|
78
|
+
"include": [
|
|
79
|
+
{
|
|
80
|
+
"python-version": "3.9",
|
|
81
|
+
"os": "ubuntu-latest"
|
|
82
|
+
},
|
|
83
|
+
{
|
|
84
|
+
"python-version": "3.10",
|
|
85
|
+
"os": "ubuntu-latest"
|
|
86
|
+
},
|
|
87
|
+
{
|
|
88
|
+
"python-version": "3.11",
|
|
89
|
+
"os": "ubuntu-latest"
|
|
90
|
+
}
|
|
91
|
+
],
|
|
92
|
+
"exclude": [
|
|
93
|
+
{
|
|
94
|
+
"python-version": "3.8",
|
|
95
|
+
"os": "macos-latest"
|
|
96
|
+
}
|
|
97
|
+
]
|
|
74
98
|
}')
|
|
75
99
|
echo "MATRIX=$MATRIX" >> $GITHUB_ENV
|
|
76
100
|
- name: Set test matrix with 'downstream' option
|
|
@@ -138,10 +162,10 @@ jobs:
|
|
|
138
162
|
- name: install without geo
|
|
139
163
|
# Because cartopy cannot be installed on Python 3.8 on these platforms
|
|
140
164
|
if: matrix.python-version == '3.8' && contains(fromJSON('["ubuntu-latest", "windows-latest"]'), matrix.os)
|
|
141
|
-
run: pip install -ve '.[tests, examples-tests, hvdev]'
|
|
165
|
+
run: pip install -ve '.[tests, examples-tests, hvdev, dev-extras]'
|
|
142
166
|
- name: install with geo
|
|
143
167
|
if: matrix.python-version != '3.8' || !contains(fromJSON('["ubuntu-latest", "windows-latest"]'), matrix.os)
|
|
144
|
-
run: pip install -ve '.[tests, examples-tests, geo, hvdev, hvdev-geo]'
|
|
168
|
+
run: pip install -ve '.[tests, examples-tests, geo, hvdev, hvdev-geo, dev-extras]'
|
|
145
169
|
- name: pip list
|
|
146
170
|
run: pip list
|
|
147
171
|
- name: bokeh sampledata
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: hvplot
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.10.0rc1
|
|
4
4
|
Summary: A high-level plotting API for the PyData ecosystem built on HoloViews.
|
|
5
5
|
Author-email: Philipp Rudiger <developers@holoviz.org>
|
|
6
6
|
Maintainer-email: HoloViz developers <developers@holoviz.org>
|
|
@@ -47,7 +47,7 @@ Requires-Dist: scipy; extra == "tests-core"
|
|
|
47
47
|
Requires-Dist: xarray; extra == "tests-core"
|
|
48
48
|
Provides-Extra: tests
|
|
49
49
|
Requires-Dist: hvplot[tests-core]; extra == "tests"
|
|
50
|
-
Requires-Dist: fugue; extra == "tests"
|
|
50
|
+
Requires-Dist: fugue[sql]; extra == "tests"
|
|
51
51
|
Requires-Dist: ibis-framework[duckdb]; extra == "tests"
|
|
52
52
|
Requires-Dist: polars; extra == "tests"
|
|
53
53
|
Provides-Extra: geo
|
|
@@ -64,7 +64,7 @@ Requires-Dist: pygraphviz; extra == "graphviz"
|
|
|
64
64
|
Provides-Extra: examples
|
|
65
65
|
Requires-Dist: dask[dataframe]>=2021.3.0; extra == "examples"
|
|
66
66
|
Requires-Dist: datashader>=0.6.5; extra == "examples"
|
|
67
|
-
Requires-Dist: fugue; extra == "examples"
|
|
67
|
+
Requires-Dist: fugue[sql]; extra == "examples"
|
|
68
68
|
Requires-Dist: ibis-framework[duckdb]; extra == "examples"
|
|
69
69
|
Requires-Dist: intake-parquet>=0.2.3; extra == "examples"
|
|
70
70
|
Requires-Dist: intake-xarray>=0.5.0; extra == "examples"
|
|
@@ -105,6 +105,8 @@ Requires-Dist: param>=0.0.1a1; extra == "hvdev"
|
|
|
105
105
|
Requires-Dist: pyviz_comms>=0.0.1a1; extra == "hvdev"
|
|
106
106
|
Provides-Extra: hvdev-geo
|
|
107
107
|
Requires-Dist: geoviews>=0.0.1a1; extra == "hvdev-geo"
|
|
108
|
+
Provides-Extra: dev-extras
|
|
109
|
+
Requires-Dist: setuptools_scm>=6; extra == "dev-extras"
|
|
108
110
|
|
|
109
111
|
# hvPlot makes data analysis and visualization simple <img src="https://github.com/holoviz/hvplot/blob/main/doc/_static/logo.png?raw=true" style="width:2em;margin-bottom:-15px">
|
|
110
112
|
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import os
|
|
1
2
|
import param
|
|
2
3
|
|
|
3
4
|
param.parameterized.docstring_signature = False
|
|
@@ -15,11 +16,6 @@ description = 'A high-level plotting API for the PyData ecosystem built on HoloV
|
|
|
15
16
|
version = release = base_version(hvplot.__version__) # noqa
|
|
16
17
|
nbbuild_cell_timeout = 600
|
|
17
18
|
|
|
18
|
-
# mystnb
|
|
19
|
-
nb_execution_excludepatterns = [
|
|
20
|
-
'user_guide/Streaming.ipynb',
|
|
21
|
-
]
|
|
22
|
-
|
|
23
19
|
exclude_patterns = ['governance']
|
|
24
20
|
|
|
25
21
|
html_static_path += ['_static'] # noqa
|
|
@@ -51,6 +47,7 @@ html_theme_options.update( # noqa
|
|
|
51
47
|
},
|
|
52
48
|
],
|
|
53
49
|
'pygment_dark_style': 'material',
|
|
50
|
+
'announcement': "hvPlot 0.10 has just been released! Checkout the <a href='https://blog.holoviz.org/posts/hvplot_release_0.10/'>blog post</a> and support hvPlot by giving it a 🌟 on <a href='https://github.com/holoviz/hvplot'>Github</a>.",
|
|
54
51
|
}
|
|
55
52
|
)
|
|
56
53
|
|
|
@@ -93,28 +90,6 @@ nbsite_analytics = {
|
|
|
93
90
|
}
|
|
94
91
|
|
|
95
92
|
rediraffe_redirects = {
|
|
96
|
-
# When the pandas section was renamed tabular:
|
|
97
|
-
'reference/pandas/andrewscurves': 'reference/tabular/andrewscurves',
|
|
98
|
-
'reference/pandas/area': 'reference/tabular/area',
|
|
99
|
-
'reference/pandas/bar': 'reference/tabular/bar',
|
|
100
|
-
'reference/pandas/barh': 'reference/tabular/barh',
|
|
101
|
-
'reference/pandas/bivariate': 'reference/tabular/bivariate',
|
|
102
|
-
'reference/pandas/box': 'reference/tabular/box',
|
|
103
|
-
'reference/pandas/errorbars': 'reference/tabular/errorbars',
|
|
104
|
-
'reference/pandas/heatmap': 'reference/tabular/heatmap',
|
|
105
|
-
'reference/pandas/hexbin': 'reference/tabular/hexbin',
|
|
106
|
-
'reference/pandas/hist': 'reference/tabular/hist',
|
|
107
|
-
'reference/pandas/kde': 'reference/tabular/kde',
|
|
108
|
-
'reference/pandas/labels': 'reference/tabular/labels',
|
|
109
|
-
'reference/pandas/lagplot': 'reference/tabular/lagplot',
|
|
110
|
-
'reference/pandas/line': 'reference/tabular/line',
|
|
111
|
-
'reference/pandas/ohlc': 'reference/tabular/ohlc',
|
|
112
|
-
'reference/pandas/parallelcoordinates': 'reference/tabular/parallelcoordinates',
|
|
113
|
-
'reference/pandas/scatter': 'reference/tabular/scatter',
|
|
114
|
-
'reference/pandas/scattermatrix': 'reference/tabular/scattermatrix',
|
|
115
|
-
'reference/pandas/step': 'reference/tabular/step',
|
|
116
|
-
'reference/pandas/table': 'reference/tabular/table',
|
|
117
|
-
'reference/pandas/violin': 'reference/tabular/violin',
|
|
118
93
|
# Removal of the developer testing page
|
|
119
94
|
'developer_guide/testing': 'developer_guide/index',
|
|
120
95
|
}
|
|
@@ -127,3 +102,41 @@ html_context.update( # noqa
|
|
|
127
102
|
'default_mode': 'light',
|
|
128
103
|
}
|
|
129
104
|
)
|
|
105
|
+
|
|
106
|
+
# mystnb
|
|
107
|
+
nb_execution_excludepatterns = [
|
|
108
|
+
'user_guide/Streaming.ipynb',
|
|
109
|
+
]
|
|
110
|
+
|
|
111
|
+
if os.getenv('HVPLOT_REFERENCE_GALLERY') not in ('False', 'false', '0'):
|
|
112
|
+
rediraffe_redirects.update(
|
|
113
|
+
{
|
|
114
|
+
# When the pandas section was renamed tabular:
|
|
115
|
+
'reference/pandas/andrewscurves': 'reference/tabular/andrewscurves',
|
|
116
|
+
'reference/pandas/area': 'reference/tabular/area',
|
|
117
|
+
'reference/pandas/bar': 'reference/tabular/bar',
|
|
118
|
+
'reference/pandas/barh': 'reference/tabular/barh',
|
|
119
|
+
'reference/pandas/bivariate': 'reference/tabular/bivariate',
|
|
120
|
+
'reference/pandas/box': 'reference/tabular/box',
|
|
121
|
+
'reference/pandas/errorbars': 'reference/tabular/errorbars',
|
|
122
|
+
'reference/pandas/heatmap': 'reference/tabular/heatmap',
|
|
123
|
+
'reference/pandas/hexbin': 'reference/tabular/hexbin',
|
|
124
|
+
'reference/pandas/hist': 'reference/tabular/hist',
|
|
125
|
+
'reference/pandas/kde': 'reference/tabular/kde',
|
|
126
|
+
'reference/pandas/labels': 'reference/tabular/labels',
|
|
127
|
+
'reference/pandas/lagplot': 'reference/tabular/lagplot',
|
|
128
|
+
'reference/pandas/line': 'reference/tabular/line',
|
|
129
|
+
'reference/pandas/ohlc': 'reference/tabular/ohlc',
|
|
130
|
+
'reference/pandas/parallelcoordinates': 'reference/tabular/parallelcoordinates',
|
|
131
|
+
'reference/pandas/scatter': 'reference/tabular/scatter',
|
|
132
|
+
'reference/pandas/scattermatrix': 'reference/tabular/scattermatrix',
|
|
133
|
+
'reference/pandas/step': 'reference/tabular/step',
|
|
134
|
+
'reference/pandas/table': 'reference/tabular/table',
|
|
135
|
+
'reference/pandas/violin': 'reference/tabular/violin',
|
|
136
|
+
}
|
|
137
|
+
)
|
|
138
|
+
else:
|
|
139
|
+
if 'nbsite.gallery' in extensions:
|
|
140
|
+
extensions.remove('nbsite.gallery')
|
|
141
|
+
exclude_patterns.append('doc/reference')
|
|
142
|
+
nb_execution_excludepatterns.append('doc/reference/**/*.ipynb')
|
|
@@ -2,6 +2,61 @@
|
|
|
2
2
|
|
|
3
3
|
See [the HoloViz blog](https://blog.holoviz.org/#category=hvplot) for a visual summary of the major features added in a selection of releases.
|
|
4
4
|
|
|
5
|
+
## Version 0.10.0 (2024-05-06)
|
|
6
|
+
|
|
7
|
+
This minor release brings a number of enhancements and bugfixes, checkout the [release blog post](https://blog.holoviz.org/posts/hvplot_release_0.10/) for a visual summary of the most important enhancements.
|
|
8
|
+
|
|
9
|
+
- 🧰 Improving the contributor experience: moving away from `pyctdev` to a more usual and easier approach, and adopt `ruff` as a linter and formatter
|
|
10
|
+
- 📦 Modernizing hvPlot's packaging: migrating to `pyproject.toml`
|
|
11
|
+
- 📖 Improving the documentation: adding a user guide on large time-series and improving the geographic user guide
|
|
12
|
+
- 📈 Enhancing the plotting API: in part to support the [NumFocus SDG](https://opencollective.com/holoviz/projects/holoviz-sdg-2023-round-3) project that aims to modernize the [HoloViz Examples](https://examples.holoviz.org)
|
|
13
|
+
- 🐛 Fixing bugs!
|
|
14
|
+
|
|
15
|
+
Many thanks to @ahuang11, @droumis, @Hoxbro, @jsignell, and @maximlt for their contributions.
|
|
16
|
+
|
|
17
|
+
Governance:
|
|
18
|
+
|
|
19
|
+
- Andrew (@ahuang11) promoted as Maintainer! ([#1267](https://github.com/holoviz/hvplot/pull/1267))
|
|
20
|
+
|
|
21
|
+
Enhancements:
|
|
22
|
+
|
|
23
|
+
- Add `bgcolor` parameter to set the background color ([#1308](https://github.com/holoviz/hvplot/pull/1308))
|
|
24
|
+
- Add `robust` parameter, similarly to Xarray ([#1291](https://github.com/holoviz/hvplot/pull/1291))
|
|
25
|
+
- Add `tiles_opts` parameter to customize the tiles ([#1299](https://github.com/holoviz/hvplot/pull/1299))
|
|
26
|
+
- Add support to `xyzservices` tiles ([#1307](https://github.com/holoviz/hvplot/pull/1307))
|
|
27
|
+
- Allow to set the `downsample` algorithm as string input ([#1314](https://github.com/holoviz/hvplot/pull/1314))
|
|
28
|
+
- Allow `crs` as Cartopy class name to match `projection` ([#1332](https://github.com/holoviz/hvplot/pull/1332))
|
|
29
|
+
|
|
30
|
+
Bug Fixes:
|
|
31
|
+
|
|
32
|
+
- Fix saving Panel objects with `hvplot.save` ([#1297](https://github.com/holoviz/hvplot/pull/1297))
|
|
33
|
+
- Fix setting `group_label` when plotting a histogram ([#1310](https://github.com/holoviz/hvplot/pull/1310))
|
|
34
|
+
- Fix the support of HoloViews ImageStack support and usage of `aggregator` and `by` ([#1316](https://github.com/holoviz/hvplot/pull/1316))
|
|
35
|
+
- Fix handling of EPSG codes ([#1330](https://github.com/holoviz/hvplot/pull/1330))
|
|
36
|
+
- Explorer: fix handling of Xarray objects that have dims without coords ([#1334](https://github.com/holoviz/hvplot/pull/1334))
|
|
37
|
+
|
|
38
|
+
Compatibility:
|
|
39
|
+
|
|
40
|
+
- Minor changes in preparation of the HoloViews Pandas index refactor ([#1281](https://github.com/holoviz/hvplot/pull/1281))
|
|
41
|
+
|
|
42
|
+
Documentation:
|
|
43
|
+
|
|
44
|
+
- Add user guide for working with large time-series datasets ([#1302](https://github.com/holoviz/hvplot/pull/1302))
|
|
45
|
+
- Clarify the geographic user guide ([#1269](https://github.com/holoviz/hvplot/pull/1269), [#1299](https://github.com/holoviz/hvplot/pull/1299))
|
|
46
|
+
- Misc ([#1266](https://github.com/holoviz/hvplot/pull/1266), [#1268](https://github.com/holoviz/hvplot/pull/1268), [#1319](https://github.com/holoviz/hvplot/pull/1319))
|
|
47
|
+
|
|
48
|
+
Infrastructure / Tests:
|
|
49
|
+
|
|
50
|
+
- Migrate to pyproject.toml and improve the contributor experience ([#1296](https://github.com/holoviz/hvplot/pull/1296), [#1322](https://github.com/holoviz/hvplot/pull/1322))
|
|
51
|
+
- Format and lint the code base with `ruff` ([#1320](https://github.com/holoviz/hvplot/pull/1320))
|
|
52
|
+
- Pin intake to version 2.0.0 ([#1275](https://github.com/holoviz/hvplot/pull/1275))
|
|
53
|
+
- Fix the test suite after the latest Dask release ([#1298](https://github.com/holoviz/hvplot/pull/1298))
|
|
54
|
+
- Remove the `examples` folder ([#1287](https://github.com/holoviz/hvplot/pull/1287))
|
|
55
|
+
- Install the tests dependencies primarily with pip ([#1276](https://github.com/holoviz/hvplot/pull/1276))
|
|
56
|
+
- Misc ([#1317](https://github.com/holoviz/hvplot/pull/1317), [#1321](https://github.com/holoviz/hvplot/pull/1321), [#1323](https://github.com/holoviz/hvplot/pull/1323), [#1324](https://github.com/holoviz/hvplot/pull/1324), [#1327](https://github.com/holoviz/hvplot/pull/1327))
|
|
57
|
+
|
|
58
|
+
[Full Changelog](https://github.com/holoviz/hvplot/compare/v0.9.2...v0.9.3)
|
|
59
|
+
|
|
5
60
|
## Version 0.9.2 (2024-01-29)
|
|
6
61
|
|
|
7
62
|
The 0.9.2 release is a patch release that brings a few bugfixes and documentation improvements, improving `Polars` support and documentation. Many thanks to @kevinheavey (first contribution!), @MarcoGorelli, @Hoxbro, and @maximlt for their contributions.
|
|
@@ -184,8 +184,7 @@
|
|
|
184
184
|
" Whether to display a coastline on top of the plot, setting\n",
|
|
185
185
|
" coastline='10m'/'50m'/'110m' specifies a specific scale.\n",
|
|
186
186
|
" crs (default=None):\n",
|
|
187
|
-
" Coordinate reference system of the data specified as Cartopy
|
|
188
|
-
" CRS object, proj.4 string or EPSG code.\n",
|
|
187
|
+
" Coordinate reference system of the data (input projection) specified as a string or integer EPSG code, a CRS or Proj pyproj object, a Cartopy CRS object or class name, a WKT string, or a proj.4 string. Defaults to PlateCarree.\n",
|
|
189
188
|
" features (default=None): dict or list\n",
|
|
190
189
|
" A list of features or a dictionary of features and the scale\n",
|
|
191
190
|
" at which to render it. Available features include 'borders',\n",
|
|
@@ -200,6 +199,8 @@
|
|
|
200
199
|
" Whether to project the data before plotting (adds initial\n",
|
|
201
200
|
" overhead but avoids projecting data when plot is dynamically\n",
|
|
202
201
|
" updated).\n",
|
|
202
|
+
" projection (default=None):\n",
|
|
203
|
+
" Coordinate reference system of the plot (output projection) specified as a string or integer EPSG code, a CRS or Proj pyproj object, a Cartopy CRS object or class name, a WKT string, or a proj.4 string. Defaults to PlateCarree.\n",
|
|
203
204
|
" tiles (default=False):\n",
|
|
204
205
|
" Whether to overlay the plot on a tile source. Tiles sources\n",
|
|
205
206
|
" can be selected by name or a tiles object or class can be passed,\n",
|
|
@@ -409,12 +409,12 @@
|
|
|
409
409
|
"The API provides various geo-specific options:\n",
|
|
410
410
|
"\n",
|
|
411
411
|
"- `coastline` (default=False): Whether to display a coastline on top of the plot, setting `coastline='10m'/'50m'/'110m'` specifies a specific scale\n",
|
|
412
|
-
"- `crs` (default=None): Coordinate reference system of the data (input projection) specified as
|
|
412
|
+
"- `crs` (default=None): Coordinate reference system of the data (input projection) specified as a string or integer EPSG code, a CRS or Proj pyproj object, a Cartopy CRS object or class name, a WKT string, or a proj.4 string. Defaults to PlateCarree.\n",
|
|
413
413
|
"- `features` features (default=None): A list of features or a dictionary of features and the scale at which to render it. Available features include 'borders', 'coastline', 'lakes', 'land', 'ocean', 'rivers' and 'states'. Available scales include '10m'/'50m'/'110m'.\n",
|
|
414
414
|
"- `geo` (default=False): Whether the plot should be treated as geographic (and assume PlateCarree, i.e. lat/lon coordinates)\n",
|
|
415
415
|
"- `global_extent` (default=False): Whether to expand the plot extent to span the whole globe\n",
|
|
416
416
|
"- `project` (default=False): Whether to project the data before plotting (adds initial overhead but avoids projecting data when plot is dynamically updated)\n",
|
|
417
|
-
"- `projection` (default=None): Coordinate reference system of the plot (output projection) specified as Cartopy CRS object or name.\n",
|
|
417
|
+
"- `projection` (default=None): Coordinate reference system of the plot (output projection) specified as a string or integer EPSG code, a CRS or Proj pyproj object, a Cartopy CRS object or class name, a WKT string, or a proj.4 string. Defaults to PlateCarree.\n",
|
|
418
418
|
"- `tiles` (default=False): Whether to overlay the plot on a tile source. Accept the following values:\n",
|
|
419
419
|
" - `True`: OpenStreetMap layer\n",
|
|
420
420
|
" - `xyzservices.TileProvider` instance (requires [`xyzservices`](https://xyzservices.readthedocs.io/) to be installed)\n",
|
|
@@ -203,7 +203,11 @@
|
|
|
203
203
|
"cell_type": "code",
|
|
204
204
|
"execution_count": null,
|
|
205
205
|
"id": "39ff4ae1",
|
|
206
|
-
"metadata": {
|
|
206
|
+
"metadata": {
|
|
207
|
+
"tags": [
|
|
208
|
+
"hide-cell"
|
|
209
|
+
]
|
|
210
|
+
},
|
|
207
211
|
"outputs": [],
|
|
208
212
|
"source": [
|
|
209
213
|
"# Cell hidden on the website (hide-cell in tags)\n",
|
|
@@ -24,15 +24,8 @@
|
|
|
24
24
|
"source": [
|
|
25
25
|
"import numpy as np\n",
|
|
26
26
|
"import hvplot.pandas # noqa\n",
|
|
27
|
-
"import hvplot.dask # noqa"
|
|
28
|
-
|
|
29
|
-
},
|
|
30
|
-
{
|
|
31
|
-
"cell_type": "code",
|
|
32
|
-
"execution_count": null,
|
|
33
|
-
"metadata": {},
|
|
34
|
-
"outputs": [],
|
|
35
|
-
"source": [
|
|
27
|
+
"import hvplot.dask # noqa\n",
|
|
28
|
+
"\n",
|
|
36
29
|
"hvplot.extension('plotly')"
|
|
37
30
|
]
|
|
38
31
|
},
|
|
@@ -287,10 +287,10 @@ class HoloViewsConverter:
|
|
|
287
287
|
Whether to display a coastline on top of the plot, setting
|
|
288
288
|
coastline='10m'/'50m'/'110m' specifies a specific scale.
|
|
289
289
|
crs (default=None):
|
|
290
|
-
Coordinate reference system of the data specified as a string
|
|
290
|
+
Coordinate reference system of the data (input projection) specified as a string
|
|
291
291
|
or integer EPSG code, a CRS or Proj pyproj object, a Cartopy
|
|
292
|
-
CRS object, a WKT string, or a proj.4 string.
|
|
293
|
-
PlateCarree.
|
|
292
|
+
CRS object or class name, a WKT string, or a proj.4 string.
|
|
293
|
+
Defaults to PlateCarree.
|
|
294
294
|
features (default=None): dict or list
|
|
295
295
|
A list of features or a dictionary of features and the scale
|
|
296
296
|
at which to render it. Available features include 'borders',
|
|
@@ -306,8 +306,10 @@ class HoloViewsConverter:
|
|
|
306
306
|
overhead but avoids projecting data when plot is dynamically
|
|
307
307
|
updated).
|
|
308
308
|
projection (default=None): str or Cartopy CRS
|
|
309
|
-
Coordinate reference system of the plot specified as
|
|
310
|
-
CRS object
|
|
309
|
+
Coordinate reference system of the plot (output projection) specified as a string
|
|
310
|
+
or integer EPSG code, a CRS or Proj pyproj object, a Cartopy
|
|
311
|
+
CRS object or class name, a WKT string, or a proj.4 string.
|
|
312
|
+
Defaults to PlateCarree.
|
|
311
313
|
tiles (default=False):
|
|
312
314
|
Whether to overlay the plot on a tile source:
|
|
313
315
|
- `True`: OpenStreetMap layer
|
|
@@ -645,24 +647,8 @@ class HoloViewsConverter:
|
|
|
645
647
|
from cartopy import crs as ccrs
|
|
646
648
|
from geoviews.util import project_extents
|
|
647
649
|
|
|
648
|
-
if
|
|
649
|
-
|
|
650
|
-
proj
|
|
651
|
-
for proj in dir(ccrs)
|
|
652
|
-
if callable(getattr(ccrs, proj))
|
|
653
|
-
and proj not in ['ABCMeta', 'CRS']
|
|
654
|
-
and proj[0].isupper()
|
|
655
|
-
or proj == 'GOOGLE_MERCATOR'
|
|
656
|
-
]
|
|
657
|
-
if projection in all_crs and projection != 'GOOGLE_MERCATOR':
|
|
658
|
-
projection = getattr(ccrs, projection)()
|
|
659
|
-
elif projection == 'GOOGLE_MERCATOR':
|
|
660
|
-
projection = getattr(ccrs, projection)
|
|
661
|
-
else:
|
|
662
|
-
raise ValueError(
|
|
663
|
-
'Projection must be defined as cartopy CRS or '
|
|
664
|
-
f'one of the following CRS string:\n {all_crs}'
|
|
665
|
-
)
|
|
650
|
+
if projection is not None:
|
|
651
|
+
projection = process_crs(projection)
|
|
666
652
|
|
|
667
653
|
self.output_projection = projection or (ccrs.GOOGLE_MERCATOR if tiles else self.crs)
|
|
668
654
|
if tiles and self.output_projection != ccrs.GOOGLE_MERCATOR:
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import re
|
|
2
2
|
from textwrap import dedent
|
|
3
3
|
|
|
4
|
+
import numpy as np
|
|
4
5
|
import holoviews as hv
|
|
5
6
|
import pandas as pd
|
|
6
7
|
import hvplot.pandas
|
|
@@ -381,3 +382,9 @@ def test_explorer_code_opts():
|
|
|
381
382
|
color_levels=3,
|
|
382
383
|
)
|
|
383
384
|
```""")
|
|
385
|
+
|
|
386
|
+
|
|
387
|
+
def test_explorer_xarray_multi_var_extra_dims_no_coord():
|
|
388
|
+
ds = xr.tutorial.open_dataset('air_temperature')
|
|
389
|
+
ds['lat_bnds'] = (('bnds', 'lat'), np.vstack([ds['lat'], ds['lat']]))
|
|
390
|
+
assert ds.hvplot.explorer()
|
|
@@ -896,6 +896,11 @@ class hvGridExplorer(hvPlotExplorer):
|
|
|
896
896
|
ds = ds[data_vars[0]]
|
|
897
897
|
var_name_suffix = f"['{data_vars[0]}']"
|
|
898
898
|
else:
|
|
899
|
+
missing_dims = set(ds.dims) - set(ds.coords)
|
|
900
|
+
if missing_dims:
|
|
901
|
+
# fixes https://github.com/holoviz/hvplot/issues/1272
|
|
902
|
+
for dim in missing_dims:
|
|
903
|
+
ds.coords[dim] = np.arange(len(ds[dim]))
|
|
899
904
|
ds = ds.to_array('variable').transpose(..., 'variable')
|
|
900
905
|
var_name_suffix = ".to_array('variable').transpose(..., 'variable')"
|
|
901
906
|
if 'kind' not in params:
|
|
@@ -286,24 +286,48 @@ def process_crs(crs):
|
|
|
286
286
|
return ccrs.PlateCarree()
|
|
287
287
|
elif isinstance(crs, ccrs.CRS):
|
|
288
288
|
return crs
|
|
289
|
+
elif isinstance(crs, str):
|
|
290
|
+
all_crs = [
|
|
291
|
+
proj
|
|
292
|
+
for proj in dir(ccrs)
|
|
293
|
+
if callable(getattr(ccrs, proj))
|
|
294
|
+
and proj not in ['ABCMeta', 'CRS']
|
|
295
|
+
and proj[0].isupper()
|
|
296
|
+
or proj == 'GOOGLE_MERCATOR'
|
|
297
|
+
]
|
|
298
|
+
if crs in all_crs and crs != 'GOOGLE_MERCATOR':
|
|
299
|
+
return getattr(ccrs, crs)()
|
|
300
|
+
elif crs == 'GOOGLE_MERCATOR':
|
|
301
|
+
return getattr(ccrs, crs)
|
|
289
302
|
elif isinstance(crs, pyproj.CRS):
|
|
290
303
|
crs = crs.to_wkt()
|
|
291
304
|
|
|
292
305
|
errors = []
|
|
293
|
-
if isinstance(crs, (str, int)):
|
|
306
|
+
if isinstance(crs, (str, int, pyproj.Proj)):
|
|
307
|
+
wkt = crs
|
|
308
|
+
if isinstance(crs, (str, int)): # epsg codes
|
|
309
|
+
try:
|
|
310
|
+
wkt = pyproj.CRS.from_epsg(crs).to_wkt()
|
|
311
|
+
except Exception as e:
|
|
312
|
+
errors.append(e)
|
|
294
313
|
try:
|
|
295
|
-
|
|
314
|
+
return proj_to_cartopy(wkt) # should be all proj4 or wkt strings
|
|
296
315
|
except Exception as e:
|
|
297
316
|
errors.append(e)
|
|
298
|
-
|
|
317
|
+
|
|
318
|
+
if isinstance(crs, (str, int)):
|
|
319
|
+
if isinstance(crs, str):
|
|
320
|
+
# pyproj does not expect epsg to be prefixed with `EPSG:`
|
|
321
|
+
crs = crs.upper().replace('EPSG:', '').strip()
|
|
299
322
|
try:
|
|
300
|
-
return
|
|
323
|
+
return ccrs.epsg(crs)
|
|
301
324
|
except Exception as e:
|
|
302
325
|
errors.append(e)
|
|
303
326
|
|
|
304
327
|
raise ValueError(
|
|
305
328
|
'Projection must be defined as a EPSG code, proj4 string, '
|
|
306
|
-
'WKT string, cartopy CRS
|
|
329
|
+
'WKT string, cartopy CRS instance, cartopy CRS class name string, '
|
|
330
|
+
'pyproj.Proj, or pyproj.CRS.'
|
|
307
331
|
) from Exception(*errors)
|
|
308
332
|
|
|
309
333
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: hvplot
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.10.0rc1
|
|
4
4
|
Summary: A high-level plotting API for the PyData ecosystem built on HoloViews.
|
|
5
5
|
Author-email: Philipp Rudiger <developers@holoviz.org>
|
|
6
6
|
Maintainer-email: HoloViz developers <developers@holoviz.org>
|
|
@@ -47,7 +47,7 @@ Requires-Dist: scipy; extra == "tests-core"
|
|
|
47
47
|
Requires-Dist: xarray; extra == "tests-core"
|
|
48
48
|
Provides-Extra: tests
|
|
49
49
|
Requires-Dist: hvplot[tests-core]; extra == "tests"
|
|
50
|
-
Requires-Dist: fugue; extra == "tests"
|
|
50
|
+
Requires-Dist: fugue[sql]; extra == "tests"
|
|
51
51
|
Requires-Dist: ibis-framework[duckdb]; extra == "tests"
|
|
52
52
|
Requires-Dist: polars; extra == "tests"
|
|
53
53
|
Provides-Extra: geo
|
|
@@ -64,7 +64,7 @@ Requires-Dist: pygraphviz; extra == "graphviz"
|
|
|
64
64
|
Provides-Extra: examples
|
|
65
65
|
Requires-Dist: dask[dataframe]>=2021.3.0; extra == "examples"
|
|
66
66
|
Requires-Dist: datashader>=0.6.5; extra == "examples"
|
|
67
|
-
Requires-Dist: fugue; extra == "examples"
|
|
67
|
+
Requires-Dist: fugue[sql]; extra == "examples"
|
|
68
68
|
Requires-Dist: ibis-framework[duckdb]; extra == "examples"
|
|
69
69
|
Requires-Dist: intake-parquet>=0.2.3; extra == "examples"
|
|
70
70
|
Requires-Dist: intake-xarray>=0.5.0; extra == "examples"
|
|
@@ -105,6 +105,8 @@ Requires-Dist: param>=0.0.1a1; extra == "hvdev"
|
|
|
105
105
|
Requires-Dist: pyviz_comms>=0.0.1a1; extra == "hvdev"
|
|
106
106
|
Provides-Extra: hvdev-geo
|
|
107
107
|
Requires-Dist: geoviews>=0.0.1a1; extra == "hvdev-geo"
|
|
108
|
+
Provides-Extra: dev-extras
|
|
109
|
+
Requires-Dist: setuptools_scm>=6; extra == "dev-extras"
|
|
108
110
|
|
|
109
111
|
# hvPlot makes data analysis and visualization simple <img src="https://github.com/holoviz/hvplot/blob/main/doc/_static/logo.png?raw=true" style="width:2em;margin-bottom:-15px">
|
|
110
112
|
|