hvplot 0.11.1__tar.gz → 0.11.2a1__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.11.1 → hvplot-0.11.2a1}/.github/workflows/test.yaml +6 -4
- hvplot-0.11.2a1/.pre-commit-config.yaml +41 -0
- {hvplot-0.11.1 → hvplot-0.11.2a1}/PKG-INFO +1 -1
- {hvplot-0.11.1 → hvplot-0.11.2a1}/doc/user_guide/Explorer.ipynb +1 -1
- {hvplot-0.11.1 → hvplot-0.11.2a1}/doc/user_guide/Geographic_Data.ipynb +2 -2
- {hvplot-0.11.1 → hvplot-0.11.2a1}/doc/user_guide/NetworkX.ipynb +5 -5
- {hvplot-0.11.1 → hvplot-0.11.2a1}/hvplot/_version.py +2 -2
- {hvplot-0.11.1 → hvplot-0.11.2a1}/hvplot/converter.py +22 -19
- {hvplot-0.11.1 → hvplot-0.11.2a1}/hvplot/plotting/scatter_matrix.py +2 -1
- {hvplot-0.11.1 → hvplot-0.11.2a1}/hvplot/tests/testcharts.py +11 -0
- {hvplot-0.11.1 → hvplot-0.11.2a1}/hvplot/tests/testgeowithoutgv.py +21 -0
- {hvplot-0.11.1 → hvplot-0.11.2a1}/hvplot/tests/testui.py +7 -0
- {hvplot-0.11.1 → hvplot-0.11.2a1}/hvplot/tests/testutil.py +6 -0
- {hvplot-0.11.1 → hvplot-0.11.2a1}/hvplot/ui.py +4 -11
- {hvplot-0.11.1 → hvplot-0.11.2a1}/hvplot/util.py +21 -0
- {hvplot-0.11.1 → hvplot-0.11.2a1}/hvplot.egg-info/PKG-INFO +1 -1
- {hvplot-0.11.1 → hvplot-0.11.2a1}/pyproject.toml +1 -7
- hvplot-0.11.1/.pre-commit-config.yaml +0 -48
- {hvplot-0.11.1 → hvplot-0.11.2a1}/.git-blame-ignore-revs +0 -0
- {hvplot-0.11.1 → hvplot-0.11.2a1}/.git_archival.txt +0 -0
- {hvplot-0.11.1 → hvplot-0.11.2a1}/.gitattributes +0 -0
- {hvplot-0.11.1 → hvplot-0.11.2a1}/.github/CONTRIBUTING.md +0 -0
- {hvplot-0.11.1 → hvplot-0.11.2a1}/.github/FUNDING.yml +0 -0
- {hvplot-0.11.1 → hvplot-0.11.2a1}/.github/workflows/build.yaml +0 -0
- {hvplot-0.11.1 → hvplot-0.11.2a1}/.github/workflows/docs.yaml +0 -0
- {hvplot-0.11.1 → hvplot-0.11.2a1}/.gitignore +0 -0
- {hvplot-0.11.1 → hvplot-0.11.2a1}/CHANGELOG.md +0 -0
- {hvplot-0.11.1 → hvplot-0.11.2a1}/CODE_OF_CONDUCT.md +0 -0
- {hvplot-0.11.1 → hvplot-0.11.2a1}/LICENSE +0 -0
- {hvplot-0.11.1 → hvplot-0.11.2a1}/README.md +0 -0
- {hvplot-0.11.1 → hvplot-0.11.2a1}/binder/environment.yml +0 -0
- {hvplot-0.11.1 → hvplot-0.11.2a1}/binder/postBuild +0 -0
- {hvplot-0.11.1 → hvplot-0.11.2a1}/conda.recipe/meta.yaml +0 -0
- {hvplot-0.11.1 → hvplot-0.11.2a1}/doc/_static/custom.css +0 -0
- {hvplot-0.11.1 → hvplot-0.11.2a1}/doc/_static/favicon.ico +0 -0
- {hvplot-0.11.1 → hvplot-0.11.2a1}/doc/_static/home/bokeh.gif +0 -0
- {hvplot-0.11.1 → hvplot-0.11.2a1}/doc/_static/home/dask.gif +0 -0
- {hvplot-0.11.1 → hvplot-0.11.2a1}/doc/_static/home/explorer.gif +0 -0
- {hvplot-0.11.1 → hvplot-0.11.2a1}/doc/_static/home/geo.gif +0 -0
- {hvplot-0.11.1 → hvplot-0.11.2a1}/doc/_static/home/geopandas.gif +0 -0
- {hvplot-0.11.1 → hvplot-0.11.2a1}/doc/_static/home/intake.gif +0 -0
- {hvplot-0.11.1 → hvplot-0.11.2a1}/doc/_static/home/interactive_hvplot.gif +0 -0
- {hvplot-0.11.1 → hvplot-0.11.2a1}/doc/_static/home/interactive_pandas.gif +0 -0
- {hvplot-0.11.1 → hvplot-0.11.2a1}/doc/_static/home/interactive_xarray.gif +0 -0
- {hvplot-0.11.1 → hvplot-0.11.2a1}/doc/_static/home/large_data.gif +0 -0
- {hvplot-0.11.1 → hvplot-0.11.2a1}/doc/_static/home/layout.gif +0 -0
- {hvplot-0.11.1 → hvplot-0.11.2a1}/doc/_static/home/matplotlib.png +0 -0
- {hvplot-0.11.1 → hvplot-0.11.2a1}/doc/_static/home/networkx.gif +0 -0
- {hvplot-0.11.1 → hvplot-0.11.2a1}/doc/_static/home/overlay.png +0 -0
- {hvplot-0.11.1 → hvplot-0.11.2a1}/doc/_static/home/pandas.gif +0 -0
- {hvplot-0.11.1 → hvplot-0.11.2a1}/doc/_static/home/plotly.gif +0 -0
- {hvplot-0.11.1 → hvplot-0.11.2a1}/doc/_static/home/widgets.gif +0 -0
- {hvplot-0.11.1 → hvplot-0.11.2a1}/doc/_static/home/xarray.gif +0 -0
- {hvplot-0.11.1 → hvplot-0.11.2a1}/doc/_static/images/heat_and_trees.png +0 -0
- {hvplot-0.11.1 → hvplot-0.11.2a1}/doc/_static/images/portfolio.png +0 -0
- {hvplot-0.11.1 → hvplot-0.11.2a1}/doc/_static/logo.png +0 -0
- {hvplot-0.11.1 → hvplot-0.11.2a1}/doc/_static/logo_horizontal.svg +0 -0
- {hvplot-0.11.1 → hvplot-0.11.2a1}/doc/_static/logo_stacked.svg +0 -0
- {hvplot-0.11.1 → hvplot-0.11.2a1}/doc/about.md +0 -0
- {hvplot-0.11.1 → hvplot-0.11.2a1}/doc/assets/console.png +0 -0
- {hvplot-0.11.1 → hvplot-0.11.2a1}/doc/assets/console_server.gif +0 -0
- {hvplot-0.11.1 → hvplot-0.11.2a1}/doc/assets/diagram.png +0 -0
- {hvplot-0.11.1 → hvplot-0.11.2a1}/doc/assets/diagram.svg +0 -0
- {hvplot-0.11.1 → hvplot-0.11.2a1}/doc/assets/hvplot-wm.png +0 -0
- {hvplot-0.11.1 → hvplot-0.11.2a1}/doc/assets/streamz_demo.gif +0 -0
- {hvplot-0.11.1 → hvplot-0.11.2a1}/doc/conf.py +0 -0
- {hvplot-0.11.1 → hvplot-0.11.2a1}/doc/conftest.py +0 -0
- {hvplot-0.11.1 → hvplot-0.11.2a1}/doc/developer_guide/index.md +0 -0
- {hvplot-0.11.1 → hvplot-0.11.2a1}/doc/getting_started/explorer.ipynb +0 -0
- {hvplot-0.11.1 → hvplot-0.11.2a1}/doc/getting_started/hvplot.ipynb +0 -0
- {hvplot-0.11.1 → hvplot-0.11.2a1}/doc/getting_started/index.md +0 -0
- {hvplot-0.11.1 → hvplot-0.11.2a1}/doc/getting_started/installation.md +0 -0
- {hvplot-0.11.1 → hvplot-0.11.2a1}/doc/getting_started/interactive.ipynb +0 -0
- {hvplot-0.11.1 → hvplot-0.11.2a1}/doc/governance/project-docs/CONTRIBUTING.md +0 -0
- {hvplot-0.11.1 → hvplot-0.11.2a1}/doc/governance/project-docs/GOVERNANCE.md +0 -0
- {hvplot-0.11.1 → hvplot-0.11.2a1}/doc/governance/project-docs/LICENSE.md +0 -0
- {hvplot-0.11.1 → hvplot-0.11.2a1}/doc/governance/project-docs/MEMBERS.md +0 -0
- {hvplot-0.11.1 → hvplot-0.11.2a1}/doc/index.md +0 -0
- {hvplot-0.11.1 → hvplot-0.11.2a1}/doc/reference/geopandas/points.ipynb +0 -0
- {hvplot-0.11.1 → hvplot-0.11.2a1}/doc/reference/geopandas/polygons.ipynb +0 -0
- {hvplot-0.11.1 → hvplot-0.11.2a1}/doc/reference/tabular/andrewscurves.ipynb +0 -0
- {hvplot-0.11.1 → hvplot-0.11.2a1}/doc/reference/tabular/area.ipynb +0 -0
- {hvplot-0.11.1 → hvplot-0.11.2a1}/doc/reference/tabular/bar.ipynb +0 -0
- {hvplot-0.11.1 → hvplot-0.11.2a1}/doc/reference/tabular/barh.ipynb +0 -0
- {hvplot-0.11.1 → hvplot-0.11.2a1}/doc/reference/tabular/bivariate.ipynb +0 -0
- {hvplot-0.11.1 → hvplot-0.11.2a1}/doc/reference/tabular/box.ipynb +0 -0
- {hvplot-0.11.1 → hvplot-0.11.2a1}/doc/reference/tabular/errorbars.ipynb +0 -0
- {hvplot-0.11.1 → hvplot-0.11.2a1}/doc/reference/tabular/heatmap.ipynb +0 -0
- {hvplot-0.11.1 → hvplot-0.11.2a1}/doc/reference/tabular/hexbin.ipynb +0 -0
- {hvplot-0.11.1 → hvplot-0.11.2a1}/doc/reference/tabular/hist.ipynb +0 -0
- {hvplot-0.11.1 → hvplot-0.11.2a1}/doc/reference/tabular/kde.ipynb +0 -0
- {hvplot-0.11.1 → hvplot-0.11.2a1}/doc/reference/tabular/labels.ipynb +0 -0
- {hvplot-0.11.1 → hvplot-0.11.2a1}/doc/reference/tabular/lagplot.ipynb +0 -0
- {hvplot-0.11.1 → hvplot-0.11.2a1}/doc/reference/tabular/line.ipynb +0 -0
- {hvplot-0.11.1 → hvplot-0.11.2a1}/doc/reference/tabular/ohlc.ipynb +0 -0
- {hvplot-0.11.1 → hvplot-0.11.2a1}/doc/reference/tabular/parallelcoordinates.ipynb +0 -0
- {hvplot-0.11.1 → hvplot-0.11.2a1}/doc/reference/tabular/paths.ipynb +0 -0
- {hvplot-0.11.1 → hvplot-0.11.2a1}/doc/reference/tabular/scatter.ipynb +0 -0
- {hvplot-0.11.1 → hvplot-0.11.2a1}/doc/reference/tabular/scattermatrix.ipynb +0 -0
- {hvplot-0.11.1 → hvplot-0.11.2a1}/doc/reference/tabular/step.ipynb +0 -0
- {hvplot-0.11.1 → hvplot-0.11.2a1}/doc/reference/tabular/table.ipynb +0 -0
- {hvplot-0.11.1 → hvplot-0.11.2a1}/doc/reference/tabular/violin.ipynb +0 -0
- {hvplot-0.11.1 → hvplot-0.11.2a1}/doc/reference/xarray/bar.ipynb +0 -0
- {hvplot-0.11.1 → hvplot-0.11.2a1}/doc/reference/xarray/contour.ipynb +0 -0
- {hvplot-0.11.1 → hvplot-0.11.2a1}/doc/reference/xarray/contourf.ipynb +0 -0
- {hvplot-0.11.1 → hvplot-0.11.2a1}/doc/reference/xarray/hist.ipynb +0 -0
- {hvplot-0.11.1 → hvplot-0.11.2a1}/doc/reference/xarray/image.ipynb +0 -0
- {hvplot-0.11.1 → hvplot-0.11.2a1}/doc/reference/xarray/kde.ipynb +0 -0
- {hvplot-0.11.1 → hvplot-0.11.2a1}/doc/reference/xarray/line.ipynb +0 -0
- {hvplot-0.11.1 → hvplot-0.11.2a1}/doc/reference/xarray/quadmesh.ipynb +0 -0
- {hvplot-0.11.1 → hvplot-0.11.2a1}/doc/reference/xarray/rgb.ipynb +0 -0
- {hvplot-0.11.1 → hvplot-0.11.2a1}/doc/reference/xarray/vectorfield.ipynb +0 -0
- {hvplot-0.11.1 → hvplot-0.11.2a1}/doc/reference/xarray/violin.ipynb +0 -0
- {hvplot-0.11.1 → hvplot-0.11.2a1}/doc/releases.md +0 -0
- {hvplot-0.11.1 → hvplot-0.11.2a1}/doc/roadmap.md +0 -0
- {hvplot-0.11.1 → hvplot-0.11.2a1}/doc/topics.md +0 -0
- {hvplot-0.11.1 → hvplot-0.11.2a1}/doc/user_guide/Customization.ipynb +0 -0
- {hvplot-0.11.1 → hvplot-0.11.2a1}/doc/user_guide/Gridded_Data.ipynb +0 -0
- {hvplot-0.11.1 → hvplot-0.11.2a1}/doc/user_guide/Integrations.ipynb +0 -0
- {hvplot-0.11.1 → hvplot-0.11.2a1}/doc/user_guide/Interactive.ipynb +0 -0
- {hvplot-0.11.1 → hvplot-0.11.2a1}/doc/user_guide/Introduction.ipynb +0 -0
- {hvplot-0.11.1 → hvplot-0.11.2a1}/doc/user_guide/Large_Timeseries.ipynb +0 -0
- {hvplot-0.11.1 → hvplot-0.11.2a1}/doc/user_guide/Pandas_API.ipynb +0 -0
- {hvplot-0.11.1 → hvplot-0.11.2a1}/doc/user_guide/Plotting.ipynb +0 -0
- {hvplot-0.11.1 → hvplot-0.11.2a1}/doc/user_guide/Plotting_Extensions.ipynb +0 -0
- {hvplot-0.11.1 → hvplot-0.11.2a1}/doc/user_guide/Plotting_with_Matplotlib.ipynb +0 -0
- {hvplot-0.11.1 → hvplot-0.11.2a1}/doc/user_guide/Plotting_with_Plotly.ipynb +0 -0
- {hvplot-0.11.1 → hvplot-0.11.2a1}/doc/user_guide/Statistical_Plots.ipynb +0 -0
- {hvplot-0.11.1 → hvplot-0.11.2a1}/doc/user_guide/Streaming.ipynb +0 -0
- {hvplot-0.11.1 → hvplot-0.11.2a1}/doc/user_guide/Subplots.ipynb +0 -0
- {hvplot-0.11.1 → hvplot-0.11.2a1}/doc/user_guide/Timeseries_Data.ipynb +0 -0
- {hvplot-0.11.1 → hvplot-0.11.2a1}/doc/user_guide/Viewing.ipynb +0 -0
- {hvplot-0.11.1 → hvplot-0.11.2a1}/doc/user_guide/Widgets.ipynb +0 -0
- {hvplot-0.11.1 → hvplot-0.11.2a1}/doc/user_guide/images/simple.svg +0 -0
- {hvplot-0.11.1 → hvplot-0.11.2a1}/doc/user_guide/index.md +0 -0
- {hvplot-0.11.1 → hvplot-0.11.2a1}/envs/py3.10-tests.yaml +0 -0
- {hvplot-0.11.1 → hvplot-0.11.2a1}/envs/py3.11-docs.yaml +0 -0
- {hvplot-0.11.1 → hvplot-0.11.2a1}/envs/py3.11-tests.yaml +0 -0
- {hvplot-0.11.1 → hvplot-0.11.2a1}/envs/py3.12-tests.yaml +0 -0
- {hvplot-0.11.1 → hvplot-0.11.2a1}/envs/py3.9-tests.yaml +0 -0
- {hvplot-0.11.1 → hvplot-0.11.2a1}/hvplot/__init__.py +0 -0
- {hvplot-0.11.1 → hvplot-0.11.2a1}/hvplot/backend_transforms.py +0 -0
- {hvplot-0.11.1 → hvplot-0.11.2a1}/hvplot/cudf.py +0 -0
- {hvplot-0.11.1 → hvplot-0.11.2a1}/hvplot/dask.py +0 -0
- {hvplot-0.11.1 → hvplot-0.11.2a1}/hvplot/data/crime.csv +0 -0
- {hvplot-0.11.1 → hvplot-0.11.2a1}/hvplot/datasets.yaml +0 -0
- {hvplot-0.11.1 → hvplot-0.11.2a1}/hvplot/duckdb.py +0 -0
- {hvplot-0.11.1 → hvplot-0.11.2a1}/hvplot/fugue.py +0 -0
- {hvplot-0.11.1 → hvplot-0.11.2a1}/hvplot/ibis.py +0 -0
- {hvplot-0.11.1 → hvplot-0.11.2a1}/hvplot/intake.py +0 -0
- {hvplot-0.11.1 → hvplot-0.11.2a1}/hvplot/interactive.py +0 -0
- {hvplot-0.11.1 → hvplot-0.11.2a1}/hvplot/networkx.py +0 -0
- {hvplot-0.11.1 → hvplot-0.11.2a1}/hvplot/pandas.py +0 -0
- {hvplot-0.11.1 → hvplot-0.11.2a1}/hvplot/plotting/__init__.py +0 -0
- {hvplot-0.11.1 → hvplot-0.11.2a1}/hvplot/plotting/andrews_curves.py +0 -0
- {hvplot-0.11.1 → hvplot-0.11.2a1}/hvplot/plotting/core.py +0 -0
- {hvplot-0.11.1 → hvplot-0.11.2a1}/hvplot/plotting/lag_plot.py +0 -0
- {hvplot-0.11.1 → hvplot-0.11.2a1}/hvplot/plotting/parallel_coordinates.py +0 -0
- {hvplot-0.11.1 → hvplot-0.11.2a1}/hvplot/polars.py +0 -0
- {hvplot-0.11.1 → hvplot-0.11.2a1}/hvplot/sample_data.py +0 -0
- {hvplot-0.11.1 → hvplot-0.11.2a1}/hvplot/streamz.py +0 -0
- {hvplot-0.11.1 → hvplot-0.11.2a1}/hvplot/tests/__init__.py +0 -0
- {hvplot-0.11.1 → hvplot-0.11.2a1}/hvplot/tests/conftest.py +0 -0
- {hvplot-0.11.1 → hvplot-0.11.2a1}/hvplot/tests/data/README.md +0 -0
- {hvplot-0.11.1 → hvplot-0.11.2a1}/hvplot/tests/data/RGB-red.byte.tif +0 -0
- {hvplot-0.11.1 → hvplot-0.11.2a1}/hvplot/tests/plotting/__init__.py +0 -0
- {hvplot-0.11.1 → hvplot-0.11.2a1}/hvplot/tests/plotting/testcore.py +0 -0
- {hvplot-0.11.1 → hvplot-0.11.2a1}/hvplot/tests/plotting/testohlc.py +0 -0
- {hvplot-0.11.1 → hvplot-0.11.2a1}/hvplot/tests/plotting/testscattermatrix.py +0 -0
- {hvplot-0.11.1 → hvplot-0.11.2a1}/hvplot/tests/test_links.py +0 -0
- {hvplot-0.11.1 → hvplot-0.11.2a1}/hvplot/tests/testbackend_transforms.py +0 -0
- {hvplot-0.11.1 → hvplot-0.11.2a1}/hvplot/tests/testfugue.py +0 -0
- {hvplot-0.11.1 → hvplot-0.11.2a1}/hvplot/tests/testgeo.py +0 -0
- {hvplot-0.11.1 → hvplot-0.11.2a1}/hvplot/tests/testgridplots.py +0 -0
- {hvplot-0.11.1 → hvplot-0.11.2a1}/hvplot/tests/testhelp.py +0 -0
- {hvplot-0.11.1 → hvplot-0.11.2a1}/hvplot/tests/testibis.py +0 -0
- {hvplot-0.11.1 → hvplot-0.11.2a1}/hvplot/tests/testinteractive.py +0 -0
- {hvplot-0.11.1 → hvplot-0.11.2a1}/hvplot/tests/testnetworkx.py +0 -0
- {hvplot-0.11.1 → hvplot-0.11.2a1}/hvplot/tests/testoperations.py +0 -0
- {hvplot-0.11.1 → hvplot-0.11.2a1}/hvplot/tests/testoptions.py +0 -0
- {hvplot-0.11.1 → hvplot-0.11.2a1}/hvplot/tests/testoverrides.py +0 -0
- {hvplot-0.11.1 → hvplot-0.11.2a1}/hvplot/tests/testpanel.py +0 -0
- {hvplot-0.11.1 → hvplot-0.11.2a1}/hvplot/tests/testpatch.py +0 -0
- {hvplot-0.11.1 → hvplot-0.11.2a1}/hvplot/tests/testplotting.py +0 -0
- {hvplot-0.11.1 → hvplot-0.11.2a1}/hvplot/tests/teststatplots.py +0 -0
- {hvplot-0.11.1 → hvplot-0.11.2a1}/hvplot/tests/teststreaming.py +0 -0
- {hvplot-0.11.1 → hvplot-0.11.2a1}/hvplot/tests/testtransforms.py +0 -0
- {hvplot-0.11.1 → hvplot-0.11.2a1}/hvplot/tests/util.py +0 -0
- {hvplot-0.11.1 → hvplot-0.11.2a1}/hvplot/utilities.py +0 -0
- {hvplot-0.11.1 → hvplot-0.11.2a1}/hvplot/xarray.py +0 -0
- {hvplot-0.11.1 → hvplot-0.11.2a1}/hvplot.egg-info/SOURCES.txt +0 -0
- {hvplot-0.11.1 → hvplot-0.11.2a1}/hvplot.egg-info/dependency_links.txt +0 -0
- {hvplot-0.11.1 → hvplot-0.11.2a1}/hvplot.egg-info/entry_points.txt +0 -0
- {hvplot-0.11.1 → hvplot-0.11.2a1}/hvplot.egg-info/requires.txt +0 -0
- {hvplot-0.11.1 → hvplot-0.11.2a1}/hvplot.egg-info/top_level.txt +0 -0
- {hvplot-0.11.1 → hvplot-0.11.2a1}/scripts/update_conda_envs.py +0 -0
- {hvplot-0.11.1 → hvplot-0.11.2a1}/setup.cfg +0 -0
|
@@ -150,7 +150,7 @@ jobs:
|
|
|
150
150
|
matrix: ${{ fromJson(needs.setup.outputs.matrix) }}
|
|
151
151
|
defaults:
|
|
152
152
|
run:
|
|
153
|
-
shell: bash -
|
|
153
|
+
shell: bash -e {0}
|
|
154
154
|
steps:
|
|
155
155
|
- uses: actions/checkout@v4
|
|
156
156
|
with:
|
|
@@ -159,9 +159,11 @@ jobs:
|
|
|
159
159
|
with:
|
|
160
160
|
python-version: ${{ matrix.python-version }}
|
|
161
161
|
- name: install with geo
|
|
162
|
-
run: pip install -v --prefer-binary -e '.[tests, examples-tests, geo, hvdev, hvdev-geo, dev-extras]'
|
|
163
|
-
- name: pip list
|
|
164
|
-
run:
|
|
162
|
+
run: python -m pip install -v --prefer-binary -e '.[tests, examples-tests, geo, hvdev, hvdev-geo, dev-extras]'
|
|
163
|
+
- name: python version and pip list
|
|
164
|
+
run: |
|
|
165
|
+
python --version --version
|
|
166
|
+
python -m pip list
|
|
165
167
|
- name: bokeh sampledata
|
|
166
168
|
if: ${{ matrix.python-version == '3.9'}}
|
|
167
169
|
run: bokeh sampledata
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
default_stages: [pre-commit]
|
|
2
|
+
repos:
|
|
3
|
+
- repo: https://github.com/pre-commit/pre-commit-hooks
|
|
4
|
+
rev: v5.0.0
|
|
5
|
+
hooks:
|
|
6
|
+
- id: check-builtin-literals
|
|
7
|
+
- id: check-case-conflict
|
|
8
|
+
- id: check-docstring-first
|
|
9
|
+
- id: check-executables-have-shebangs
|
|
10
|
+
- id: check-toml
|
|
11
|
+
- id: detect-private-key
|
|
12
|
+
- id: end-of-file-fixer
|
|
13
|
+
exclude: (\.min\.js$|\.svg$)
|
|
14
|
+
- id: trailing-whitespace
|
|
15
|
+
- repo: https://github.com/astral-sh/ruff-pre-commit
|
|
16
|
+
rev: v0.7.2
|
|
17
|
+
hooks:
|
|
18
|
+
- id: ruff
|
|
19
|
+
- id: ruff-format
|
|
20
|
+
exclude: \.ipynb$
|
|
21
|
+
- repo: https://github.com/hoxbro/clean_notebook
|
|
22
|
+
rev: v0.1.15
|
|
23
|
+
hooks:
|
|
24
|
+
- id: clean-notebook
|
|
25
|
+
args: [-i, tags]
|
|
26
|
+
- repo: https://github.com/codespell-project/codespell
|
|
27
|
+
rev: v2.3.0
|
|
28
|
+
hooks:
|
|
29
|
+
- id: codespell
|
|
30
|
+
exclude: (\.min\.js$|\.svg$|\.html$)
|
|
31
|
+
additional_dependencies:
|
|
32
|
+
- tomli
|
|
33
|
+
- repo: local
|
|
34
|
+
hooks:
|
|
35
|
+
- id: update_conda_envs
|
|
36
|
+
name: Update conda envs
|
|
37
|
+
entry: python scripts/update_conda_envs.py
|
|
38
|
+
language: python
|
|
39
|
+
additional_dependencies: [pyproject2conda]
|
|
40
|
+
files: "(pyproject.toml|update_conda_envs)"
|
|
41
|
+
pass_filenames: false
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: hvplot
|
|
3
|
-
Version: 0.11.
|
|
3
|
+
Version: 0.11.2a1
|
|
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>
|
|
@@ -50,7 +50,7 @@
|
|
|
50
50
|
"id": "2f572b55-5002-4b81-9c92-6a2b56e2cde2",
|
|
51
51
|
"metadata": {},
|
|
52
52
|
"source": [
|
|
53
|
-
"For an explorer to be displayed in a notebook you need to load the hvPlot extension, which happens automatically when you execute an import like `import hvplot.pandas`. You could also just run `hvplot.extension('bokeh')`. If instead of building Bokeh plots you would rather build Matplotlib or Plotly plots, simply execute once `hvplot.extension('matplotlib')` or `hvplot.extension('
|
|
53
|
+
"For an explorer to be displayed in a notebook you need to load the hvPlot extension, which happens automatically when you execute an import like `import hvplot.pandas`. You could also just run `hvplot.extension('bokeh')`. If instead of building Bokeh plots you would rather build Matplotlib or Plotly plots, simply execute once `hvplot.extension('matplotlib')` or `hvplot.extension('plotly')` before displaying the explorer."
|
|
54
54
|
]
|
|
55
55
|
},
|
|
56
56
|
{
|
|
@@ -60,7 +60,7 @@
|
|
|
60
60
|
"source": [
|
|
61
61
|
"## Tiled web map\n",
|
|
62
62
|
"\n",
|
|
63
|
-
"A [tiled web map](https://en.wikipedia.org/wiki/Tiled_web_map), or tile map, is an interactive map displayed on a web browser that is divided into small, pre-rendered image tiles, allowing for efficient loading and seamless navigation across various zoom levels and geographic areas. hvPlot allows to add a tile map as a basemap to a plot with the `tiles` parameter. Importantly, `tiles` is a parameter that can be used **without installing GeoViews**.\n",
|
|
63
|
+
"A [tiled web map](https://en.wikipedia.org/wiki/Tiled_web_map), or tile map, is an interactive map displayed on a web browser that is divided into small, pre-rendered image tiles, allowing for efficient loading and seamless navigation across various zoom levels and geographic areas. hvPlot allows us to add a tile map as a basemap to a plot with the `tiles` parameter. Importantly, `tiles` is a parameter that can be used **without installing GeoViews**.\n",
|
|
64
64
|
"\n",
|
|
65
65
|
"We'll display this dataframe of all US airports (including military bases overseas), the points are expressed in latitude/longitude coordinates:"
|
|
66
66
|
]
|
|
@@ -80,7 +80,7 @@
|
|
|
80
80
|
"source": [
|
|
81
81
|
"We'll first start by displaying the airports **without GeoViews** with tiles by setting `tiles=True`. \n",
|
|
82
82
|
"\n",
|
|
83
|
-
"Under the hood, hvPlot projects lat/lon to easting/northing ([EPSG:4326](https://epsg.io/4326) to [EPSG:3857](https://epsg.io/3857)) coordinates without additional package dependencies if it detects that the values falls within expected lat/lon ranges, **unless the data is lazily loaded (dask / ibis).**\n",
|
|
83
|
+
"Under the hood, hvPlot projects lat/lon to easting/northing ([EPSG:4326](https://epsg.io/4326) to [EPSG:3857](https://epsg.io/3857)) coordinates without additional package dependencies if it detects that the values falls within expected lat/lon ranges, **unless the data is lazily loaded (dask / ibis), or the data is a spatialpandas object.**\n",
|
|
84
84
|
"\n",
|
|
85
85
|
"Note, **this feature is only available after `hvplot>=0.11.0`**; older versions, `hvplot<0.11.0`, require manual projection (see below)."
|
|
86
86
|
]
|
|
@@ -270,10 +270,10 @@
|
|
|
270
270
|
"\n",
|
|
271
271
|
"print(\"radius: %d\" % nx.radius(G))\n",
|
|
272
272
|
"print(\"diameter: %d\" % nx.diameter(G))\n",
|
|
273
|
-
"print(\"eccentricity:
|
|
274
|
-
"print(\"center:
|
|
275
|
-
"print(\"periphery:
|
|
276
|
-
"print(\"density:
|
|
273
|
+
"print(f\"eccentricity: {nx.eccentricity(G)}\")\n",
|
|
274
|
+
"print(f\"center: {nx.center(G)}\")\n",
|
|
275
|
+
"print(f\"periphery: {nx.periphery(G)}\")\n",
|
|
276
|
+
"print(f\"density: {nx.density(G)}\")\n",
|
|
277
277
|
"\n",
|
|
278
278
|
"hvnx.draw(G, with_labels=True)"
|
|
279
279
|
]
|
|
@@ -757,7 +757,7 @@
|
|
|
757
757
|
" edge_width=5.0\n",
|
|
758
758
|
" )\n",
|
|
759
759
|
" other_edges.append(edge)\n",
|
|
760
|
-
" plots.append((g*edges*hv.Overlay(other_edges)).relabel(\"p =
|
|
760
|
+
" plots.append((g*edges*hv.Overlay(other_edges)).relabel(f\"p = {p:6.3f}\"))\n",
|
|
761
761
|
"\n",
|
|
762
762
|
"hv.Layout(plots).cols(2)"
|
|
763
763
|
]
|
|
@@ -76,6 +76,8 @@ from .util import (
|
|
|
76
76
|
process_derived_datetime_pandas,
|
|
77
77
|
_convert_col_names_to_str,
|
|
78
78
|
import_datashader,
|
|
79
|
+
import_geoviews,
|
|
80
|
+
is_mpl_cmap,
|
|
79
81
|
)
|
|
80
82
|
from .utilities import hvplot_extension
|
|
81
83
|
|
|
@@ -646,6 +648,10 @@ class HoloViewsConverter:
|
|
|
646
648
|
|
|
647
649
|
self.dynamic = dynamic
|
|
648
650
|
self.geo = any([geo, crs, global_extent, projection, project, coastline, features])
|
|
651
|
+
# Try importing geoviews if geo-features requested
|
|
652
|
+
if self.geo or self.datatype == 'geopandas':
|
|
653
|
+
import_geoviews()
|
|
654
|
+
|
|
649
655
|
self.crs = self._process_crs(data, crs) if self.geo else None
|
|
650
656
|
self.output_projection = self.crs
|
|
651
657
|
self.project = project
|
|
@@ -655,17 +661,6 @@ class HoloViewsConverter:
|
|
|
655
661
|
self.tiles_opts = tiles_opts or {}
|
|
656
662
|
self.sort_date = sort_date
|
|
657
663
|
|
|
658
|
-
# Import geoviews if geo-features requested
|
|
659
|
-
if self.geo or self.datatype == 'geopandas':
|
|
660
|
-
try:
|
|
661
|
-
import geoviews # noqa
|
|
662
|
-
except ImportError:
|
|
663
|
-
raise ImportError(
|
|
664
|
-
'In order to use geo-related features '
|
|
665
|
-
'the geoviews library must be available. '
|
|
666
|
-
'It can be installed with:\n conda '
|
|
667
|
-
'install geoviews'
|
|
668
|
-
)
|
|
669
664
|
if self.geo:
|
|
670
665
|
if self.kind not in self._geo_types:
|
|
671
666
|
param.main.param.warning(
|
|
@@ -1420,7 +1415,7 @@ class HoloViewsConverter:
|
|
|
1420
1415
|
valid_opts = []
|
|
1421
1416
|
|
|
1422
1417
|
cmap_opts = ('cmap', 'colormap', 'color_key')
|
|
1423
|
-
|
|
1418
|
+
categorical_cmaps = [
|
|
1424
1419
|
'accent',
|
|
1425
1420
|
'category',
|
|
1426
1421
|
'dark',
|
|
@@ -1485,7 +1480,13 @@ class HoloViewsConverter:
|
|
|
1485
1480
|
if 'color' in style_opts:
|
|
1486
1481
|
color = style_opts['color']
|
|
1487
1482
|
elif not isinstance(cmap, dict):
|
|
1488
|
-
|
|
1483
|
+
# Checks if any of the categorical cmaps matches cmap;
|
|
1484
|
+
# uses any() instead of `cmap in categorical_cmaps` to handle reversed colormaps (suffixed with `_r`).
|
|
1485
|
+
# If cmap is LinearSegmentedColormap, get the name attr, else return the str typed cmap.
|
|
1486
|
+
if (isinstance(cmap, str) or is_mpl_cmap(cmap)) and any(
|
|
1487
|
+
categorical_cmap in getattr(cmap, 'name', cmap)
|
|
1488
|
+
for categorical_cmap in categorical_cmaps
|
|
1489
|
+
):
|
|
1489
1490
|
color = process_cmap(cmap or self._default_cmaps['categorical'], categorical=True)
|
|
1490
1491
|
else:
|
|
1491
1492
|
color = cmap
|
|
@@ -2170,12 +2171,13 @@ class HoloViewsConverter:
|
|
|
2170
2171
|
elif not is_geodataframe(data) and (x is None or y is None):
|
|
2171
2172
|
return data, x, y
|
|
2172
2173
|
|
|
2173
|
-
if
|
|
2174
|
-
if data.crs is not None:
|
|
2175
|
-
data = data.to_crs(epsg=3857)
|
|
2176
|
-
return data, x, y
|
|
2177
|
-
elif not is_lazy_data(data):
|
|
2174
|
+
if is_lazy_data(data):
|
|
2178
2175
|
# To prevent eager evaluation: https://github.com/holoviz/hvplot/pull/1432
|
|
2176
|
+
pass
|
|
2177
|
+
elif is_geodataframe(data):
|
|
2178
|
+
if getattr(data, 'crs', None) is not None:
|
|
2179
|
+
data = data.to_crs(epsg=3857)
|
|
2180
|
+
else:
|
|
2179
2181
|
min_x = np.min(data[x])
|
|
2180
2182
|
max_x = np.max(data[x])
|
|
2181
2183
|
min_y = np.min(data[y])
|
|
@@ -2193,7 +2195,8 @@ class HoloViewsConverter:
|
|
|
2193
2195
|
data[new_y] = northing
|
|
2194
2196
|
if is_xarray(data):
|
|
2195
2197
|
data = data.swap_dims({x: new_x, y: new_y})
|
|
2196
|
-
|
|
2198
|
+
x = new_x
|
|
2199
|
+
y = new_y
|
|
2197
2200
|
return data, x, y
|
|
2198
2201
|
|
|
2199
2202
|
def chart(self, element, x, y, data=None):
|
|
@@ -113,10 +113,11 @@ def scatter_matrix(
|
|
|
113
113
|
raise ValueError('dynspread or spread need rasterize or datashade to be set to True.')
|
|
114
114
|
|
|
115
115
|
if rasterize:
|
|
116
|
+
import datashader as ds
|
|
116
117
|
import holoviews.operation.datashader as hd
|
|
117
118
|
|
|
118
119
|
if dynspread or spread:
|
|
119
|
-
if
|
|
120
|
+
if Version(ds.__version__) < Version('0.12.0'):
|
|
120
121
|
raise RuntimeError(
|
|
121
122
|
'Any version of datashader less than 0.12.0 does '
|
|
122
123
|
'not support rasterize with dynspread or spread.'
|
|
@@ -606,3 +606,14 @@ class TestChart1DDask(TestChart1D):
|
|
|
606
606
|
|
|
607
607
|
def test_table_multi_index_displayed(self):
|
|
608
608
|
raise SkipTest('Dask does not support MultiIndex Dataframes.')
|
|
609
|
+
|
|
610
|
+
|
|
611
|
+
def test_cmap_LinearSegmentedColormap():
|
|
612
|
+
# test for https://github.com/holoviz/hvplot/pull/1461
|
|
613
|
+
xr = pytest.importorskip('xarray')
|
|
614
|
+
mpl = pytest.importorskip('matplotlib')
|
|
615
|
+
import hvplot.xarray # noqa
|
|
616
|
+
|
|
617
|
+
data = np.arange(25).reshape(5, 5)
|
|
618
|
+
xr_da = xr.DataArray(data)
|
|
619
|
+
xr_da.hvplot.image(cmap=mpl.colormaps['viridis'])
|
|
@@ -8,12 +8,19 @@ import numpy as np
|
|
|
8
8
|
import pandas as pd
|
|
9
9
|
import pytest
|
|
10
10
|
|
|
11
|
+
from hvplot.util import is_geodataframe
|
|
12
|
+
|
|
11
13
|
try:
|
|
12
14
|
import dask.dataframe as dd
|
|
13
15
|
import hvplot.dask # noqa
|
|
14
16
|
except ImportError:
|
|
15
17
|
dd = None
|
|
16
18
|
|
|
19
|
+
try:
|
|
20
|
+
import spatialpandas as spd
|
|
21
|
+
except ModuleNotFoundError:
|
|
22
|
+
spd = None
|
|
23
|
+
|
|
17
24
|
|
|
18
25
|
bk_renderer = hv.Store.renderers['bokeh']
|
|
19
26
|
|
|
@@ -83,3 +90,17 @@ class TestAnnotationNotGeo:
|
|
|
83
90
|
assert isinstance(plot.get(0), hv.Tiles)
|
|
84
91
|
bk_plot = bk_renderer.get_plot(plot)
|
|
85
92
|
assert bk_plot.projection == 'mercator'
|
|
93
|
+
|
|
94
|
+
@pytest.mark.skipif(spd is None, reason='spatialpandas not installed')
|
|
95
|
+
def test_plot_without_crs(self):
|
|
96
|
+
square = spd.geometry.Polygon([(0.0, 0), (0, 1), (1, 1), (1, 0)])
|
|
97
|
+
sdf = spd.GeoDataFrame({'geometry': spd.GeoSeries([square, square]), 'name': ['A', 'B']})
|
|
98
|
+
plot = sdf.hvplot.polygons(tiles=True)
|
|
99
|
+
|
|
100
|
+
assert len(plot) == 2
|
|
101
|
+
assert is_geodataframe(sdf)
|
|
102
|
+
assert not hasattr(sdf, 'crs')
|
|
103
|
+
assert isinstance(plot.get(0), hv.Tiles)
|
|
104
|
+
assert isinstance(plot.get(1), hv.Polygons)
|
|
105
|
+
bk_plot = bk_renderer.get_plot(plot)
|
|
106
|
+
assert bk_plot.projection == 'mercator' # projection enabled due to `tiles=True`
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import re
|
|
2
2
|
from textwrap import dedent
|
|
3
|
+
from unittest.mock import patch
|
|
3
4
|
|
|
4
5
|
import numpy as np
|
|
5
6
|
import holoviews as hv
|
|
@@ -415,3 +416,9 @@ def test_max_rows_sample():
|
|
|
415
416
|
ui = hvplot.explorer(df, x='x', y='y', by=['#'], kind='scatter')
|
|
416
417
|
assert len(ui._data) == MAX_ROWS
|
|
417
418
|
assert not ui._data.equals(df.head(MAX_ROWS))
|
|
419
|
+
|
|
420
|
+
|
|
421
|
+
def test_explorer_geo_no_import_error_when_false():
|
|
422
|
+
da = ds_air_temperature['air'].isel(time=0)
|
|
423
|
+
with patch('hvplot.util.import_geoviews', return_value=None):
|
|
424
|
+
assert hvplot.explorer(da, x='lon', y='lat', geo=False)
|
|
@@ -18,6 +18,7 @@ from unittest import TestCase, SkipTest
|
|
|
18
18
|
|
|
19
19
|
from hvplot.util import (
|
|
20
20
|
check_crs,
|
|
21
|
+
import_geoviews,
|
|
21
22
|
is_list_like,
|
|
22
23
|
process_crs,
|
|
23
24
|
process_xarray,
|
|
@@ -383,3 +384,8 @@ def test_is_geodataframe_spatialpandas_dask():
|
|
|
383
384
|
def test_is_geodataframe_classic_dataframe():
|
|
384
385
|
df = pd.DataFrame({'geometry': [None, None], 'name': ['A', 'B']})
|
|
385
386
|
assert not is_geodataframe(df)
|
|
387
|
+
|
|
388
|
+
|
|
389
|
+
@pytest.mark.geo
|
|
390
|
+
def test_geoviews_is_available():
|
|
391
|
+
assert import_geoviews()
|
|
@@ -10,7 +10,7 @@ from panel.viewable import Viewer
|
|
|
10
10
|
|
|
11
11
|
from .converter import HoloViewsConverter as _hvConverter
|
|
12
12
|
from .plotting import hvPlot as _hvPlot
|
|
13
|
-
from .util import is_geodataframe, is_xarray, instantiate_crs_str
|
|
13
|
+
from .util import is_geodataframe, is_xarray, instantiate_crs_str, import_geoviews
|
|
14
14
|
|
|
15
15
|
# Defaults
|
|
16
16
|
KINDS = {
|
|
@@ -361,17 +361,10 @@ class Geographic(Controls):
|
|
|
361
361
|
_widgets_kwargs = {'geo': {'type': pn.widgets.Toggle}}
|
|
362
362
|
|
|
363
363
|
def __init__(self, data, **params):
|
|
364
|
-
gv_available = False
|
|
365
|
-
try:
|
|
366
|
-
import geoviews # noqa
|
|
367
|
-
|
|
368
|
-
gv_available = True
|
|
369
|
-
except ImportError:
|
|
370
|
-
pass
|
|
371
|
-
|
|
372
364
|
geo_params = GEO_KEYS + ['geo']
|
|
373
|
-
|
|
374
|
-
|
|
365
|
+
gv_available = None
|
|
366
|
+
if any(params.get(p) for p in geo_params):
|
|
367
|
+
gv_available = import_geoviews()
|
|
375
368
|
super().__init__(data, **params)
|
|
376
369
|
if not gv_available:
|
|
377
370
|
for p in geo_params:
|
|
@@ -729,6 +729,18 @@ def import_datashader():
|
|
|
729
729
|
return datashader
|
|
730
730
|
|
|
731
731
|
|
|
732
|
+
def import_geoviews():
|
|
733
|
+
geoviews = None
|
|
734
|
+
try:
|
|
735
|
+
import geoviews
|
|
736
|
+
except ModuleNotFoundError:
|
|
737
|
+
raise ModuleNotFoundError(
|
|
738
|
+
'The `geoviews` package must be installed in order to use '
|
|
739
|
+
'geographic features. Install it with pip or conda.'
|
|
740
|
+
) from None
|
|
741
|
+
return geoviews
|
|
742
|
+
|
|
743
|
+
|
|
732
744
|
def relabel(hv_obj, **kwargs):
|
|
733
745
|
"""Conditionally relabel a HoloViews object"""
|
|
734
746
|
if kwargs:
|
|
@@ -750,3 +762,12 @@ def relabel_redim(hv_obj, relabel_kwargs, redim_kwargs):
|
|
|
750
762
|
if redim_kwargs:
|
|
751
763
|
hv_obj = hv_obj.redim(**redim_kwargs)
|
|
752
764
|
return hv_obj
|
|
765
|
+
|
|
766
|
+
|
|
767
|
+
def is_mpl_cmap(obj):
|
|
768
|
+
"""Check if the object is a Matplotlib LinearSegmentedColormap."""
|
|
769
|
+
if 'matplotlib' not in sys.modules:
|
|
770
|
+
return False
|
|
771
|
+
from matplotlib.colors import LinearSegmentedColormap
|
|
772
|
+
|
|
773
|
+
return isinstance(obj, LinearSegmentedColormap)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: hvplot
|
|
3
|
-
Version: 0.11.
|
|
3
|
+
Version: 0.11.2a1
|
|
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>
|
|
@@ -196,7 +196,7 @@ filterwarnings = [
|
|
|
196
196
|
]
|
|
197
197
|
|
|
198
198
|
[tool.codespell]
|
|
199
|
-
ignore-words-list = "ser"
|
|
199
|
+
ignore-words-list = "ser,assertIn"
|
|
200
200
|
skip = "doc/generate_modules.py"
|
|
201
201
|
write-changes = true
|
|
202
202
|
|
|
@@ -211,12 +211,6 @@ extend-select = [
|
|
|
211
211
|
[tool.ruff.format]
|
|
212
212
|
quote-style = "single"
|
|
213
213
|
|
|
214
|
-
[tool.nbqa.addopts]
|
|
215
|
-
# E402 Module level import not at top of file
|
|
216
|
-
ruff = [
|
|
217
|
-
"--extend-ignore=E402"
|
|
218
|
-
]
|
|
219
|
-
|
|
220
214
|
[tool.pyproject2conda.dependencies]
|
|
221
215
|
geoviews = { skip = true, packages = "geoviews-core >=1.9.0" }
|
|
222
216
|
# It should be ibis-framework[duckdb], but it works anyway.
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
# This is the configuration for pre-commit, a local framework for managing pre-commit hooks
|
|
2
|
-
# Check out the docs at: https://pre-commit.com/
|
|
3
|
-
|
|
4
|
-
default_stages: [commit]
|
|
5
|
-
repos:
|
|
6
|
-
- repo: https://github.com/nbQA-dev/nbQA
|
|
7
|
-
rev: 1.8.5
|
|
8
|
-
hooks:
|
|
9
|
-
- id: nbqa-ruff
|
|
10
|
-
additional_dependencies: [ruff==0.3.7]
|
|
11
|
-
- repo: https://github.com/pre-commit/pre-commit-hooks
|
|
12
|
-
rev: v4.6.0
|
|
13
|
-
hooks:
|
|
14
|
-
- id: check-builtin-literals
|
|
15
|
-
- id: check-case-conflict
|
|
16
|
-
- id: check-docstring-first
|
|
17
|
-
- id: check-executables-have-shebangs
|
|
18
|
-
- id: check-toml
|
|
19
|
-
- id: detect-private-key
|
|
20
|
-
- id: end-of-file-fixer
|
|
21
|
-
exclude: (\.min\.js$|\.svg$)
|
|
22
|
-
- id: trailing-whitespace
|
|
23
|
-
- repo: https://github.com/astral-sh/ruff-pre-commit
|
|
24
|
-
rev: v0.3.7
|
|
25
|
-
hooks:
|
|
26
|
-
- id: ruff
|
|
27
|
-
- id: ruff-format
|
|
28
|
-
- repo: https://github.com/hoxbro/clean_notebook
|
|
29
|
-
rev: v0.1.14
|
|
30
|
-
hooks:
|
|
31
|
-
- id: clean-notebook
|
|
32
|
-
args: [-i, tags]
|
|
33
|
-
- repo: https://github.com/codespell-project/codespell
|
|
34
|
-
rev: v2.2.6
|
|
35
|
-
hooks:
|
|
36
|
-
- id: codespell
|
|
37
|
-
exclude: (\.min\.js$|\.svg$|\.html$)
|
|
38
|
-
additional_dependencies:
|
|
39
|
-
- tomli
|
|
40
|
-
- repo: local
|
|
41
|
-
hooks:
|
|
42
|
-
- id: update_conda_envs
|
|
43
|
-
name: Update conda envs
|
|
44
|
-
entry: python scripts/update_conda_envs.py
|
|
45
|
-
language: python
|
|
46
|
-
additional_dependencies: [pyproject2conda]
|
|
47
|
-
files: '(pyproject.toml|update_conda_envs)'
|
|
48
|
-
pass_filenames: false
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|