Skip to content

Releases: holoviz/hvplot

Version 0.10.0

07 May 03:58
6c96c7e
Compare
Choose a tag to compare

This minor release brings a number of enhancements and bugfixes, checkout the release blog post for a visual summary of the most important enhancements.

  • 🧰 Improving the contributor experience: moving away from pyctdev to a more usual and easier approach, and adopt ruff as a linter and formatter
  • 📦 Modernizing hvPlot's packaging: migrating to pyproject.toml
  • 📖 Improving the documentation: adding a user guide on large time-series and improving the geographic user guide
  • 📈 Enhancing the plotting API: in part to support the NumFocus SDG project that aims to modernize the HoloViz Examples
  • 🐛 Fixing bugs!

Many thanks to @ahuang11, @droumis, @hoxbro, @jsignell, and @maximlt for their contributions.

Governance:

Enhancements:

  • Add bgcolor parameter to set the background color (#1308)
  • Add robust parameter, similarly to Xarray (#1291)
  • Add tiles_opts parameter to customize the tiles (#1299)
  • Add support to xyzservices tiles (#1307)
  • Allow to set the downsample algorithm as string input (#1314)
  • Allow crs as Cartopy class name to match projection (#1332)

Bug Fixes:

  • Fix saving Panel objects with hvplot.save (#1297)
  • Fix setting group_label when plotting a histogram (#1310)
  • Fix the support of HoloViews ImageStack support and usage of aggregator and by (#1316)
  • Fix handling of EPSG codes (#1330)
  • Explorer: fix handling of Xarray objects that have dims without coords (#1334)

Compatibility:

  • Minor changes in preparation of the HoloViews Pandas index refactor (#1281)

Documentation:

Infrastructure / Tests:

  • Migrate to pyproject.toml and improve the contributor experience (#1296, #1322)
  • Format and lint the code base with ruff (#1320)
  • Pin intake to version 2.0.0 (#1275)
  • Fix the test suite after the latest Dask release (#1298)
  • Remove the examples folder (#1287)
  • Install the tests dependencies primarily with pip (#1276)
  • Misc (#1317, #1321, #1323, #1324, #1327)

Full Changelog

Version 0.9.2

30 Jan 08:44
4e9f860
Compare
Choose a tag to compare

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.

Bug fixes:

  • Correctly fall back to all numeric Polars columns when y is not specified (#1247)

Documentation:

  • Better expose Polars support (#1262)
  • Rename the Pandas reference section to Tabular (#1260)
  • Add roadmap for 2024 (#1253)
  • Various small changes (#1255 and #1261)

Infrastructure / Tests:

  • Add downstream Polars test (#1243)
  • Compatibility with Pandas 2.2 (#1257)
  • Dynamically generate the unit test matrix and add a cache option (#1235)

Full Changelog

Version 0.9.1

29 Jan 09:05
a890ed9
Compare
Choose a tag to compare

The 0.9.1 release brings a number of enhancements, bugfixes and documentation improvements. Many thanks to @iuryt (first contribution!), @MarcoGorelli (first contribution!), @ahuang11, @hoxbro and @maximlt for their contributions.

Enhancements:

  • Explorer: give more space to the plot and various UI tweaks (#1197, #1198, #1199, #1225)
  • Explorer: disable the geographic controls when geoviews is not installed (#1223)
  • Explorer: change the default plot type from line to scatter (#1228)
  • Support polars objects in the hvplot.plot entrypoint (#1219, #1222)

Bug fixes:

  • Fix ignoring hover_cols in OHLC plots (#1216)
  • Fix considering datashaded plots with one y variable as categorical (#1231)
  • Fix displaying Panel objects returned by hvPlot with show (#1230)

Documentation:

  • Replace Google Analytics with GoatCounter (#1224)
  • Indicate that Stamen tiles require a Stadia account (#1226)
  • Reintroduce colorbars in the Matplotlib guide (#1229)
  • Misc (#1186, #1195)

Maintenance:

  • Bump the minimum Param version to 1.12.0 (#1227)

Full changelog

Version 0.9.0

17 Oct 08:55
33d1782
Compare
Choose a tag to compare

The 0.9.0 release is a minor release with some exciting new features and a large number of bug fixes and enhancements. Many thanks to @rdesai9 (first contribution!), @dogbunny (first contribution!), @bikegeek (first contribution!), @ahuang11, @droumis, @hoxbro, @MarcSkovMadsen, @maximlt and @philippjfr for their contributions. A special thanks to @ahuang11 and @hoxbro without who these release notes would be much shorter!

New features:

  • The Explorer has been extended with the following features:
    • Support for Xarray data, enhanced geographic support and add a live update checkbox (#1141)
    • Display the code snippet within a tab (#1156)
    • Allow defining options passed to plot.opts() (#1171)
  • Add experimental Fugue integration (#1102)
  • Add basic Polars integration (#1129)

Enhancements:

  • Add .hvplot.explorer() as an alternate entry point to create an explorer (#1154)
  • Add the resample_when option to dynamically enable datashade/rasterize/downsample (#1103)
  • Expose the HoloViews timeseries downsampling algorithm (LTTB) with the downsample option (#1127, #1157)
  • Expose the HoloViews autorange option (#1128, #1158, #1174)
  • Allow string formatting for labels plots (#1140)
  • Support plots that use by with rasterize with HoloViews ImageStack (#1132, #1144)
  • Update show to return the configured Server or StoppableThread (#1121)

Bug fixes:

  • Do not force geo=True if tiles are provided (#1083, #1113)
  • Fix x-limit, y-limit, and rasterize support for geo features (#1135, #1163)
  • Fix handling WKT strings and add pyproj.CRS support (#1092, #1139)
  • Underlay land and ocean features (#1151)
  • Fix .hist for the Ibis data source (#997)
  • No longer suggest installing datashader and geoviews from the pyviz channel (#1130)
  • Silence GDAL exceptions warning (#1142)

Documentation:

  • Various docs improvements and addition of an Integrations guide (#1084, #1173, #1177)
  • Extending the reference gallery (#999)
  • Added extra size parameter to scatter plot example (#1118)

Compatibility:

  • Preparations before the release of Param 2.0 (#1146, #1164)
  • Pin Param to <3.0 (#1175)
  • Drop Python 3.6 and 3.7 (#1077)

Infrastructure / Tests:

  • Add Dask DataFrame plot test (#1131)
  • Add codespell to pre-commit (#1172)
  • Add OpenCollective sponsor link on the repo page (#1123)

Full changelog

Version 0.8.4

06 Jun 09:09
d336e11
Compare
Choose a tag to compare

The 0.8.4 release brings a number of bugfixes and documentation improvements. Many thanks to @kthyng (first contribution!), @raybellwaves, @jsignell , @hoxbro, @maximlt and @philippjfr for contributing.

Bug fixes:

  • Fix .interactive layout compatibility with Bokeh 3 (1076)
  • Fix usage with intake (1052)
  • Fix deprecated usage of Param 2.0 (1064)
  • Fix projection when xlim/ylim provided (1053)
  • Fix interpretation of positional arg with geopandas, now used as color (1056)
  • Fix import error messages for geo dependencies (1054)
  • Fix usage of hover for geometries - make it less likely to fail (1055)

Documentation:

  • Update to latest nbsite & pydata-sphinx-theme (1070)
  • Update to Google Analytics4 (1075)

Maintenance:

  • Add ipywidgets to the examples deps (1048)

Version 0.8.3

17 Mar 11:20
Compare
Choose a tag to compare

The 0.8.3 release brings a number of bugfixes and documentation improvements. This release is also marked by the adoption of a formal project governance, ensuring hvPlot's future as a healthy open-source project! Many thanks to @raybellwaves, @jsignell (welcome back!), @droumis, @hoxbro, @maximlt, @philippjfr and @MarcSkovMadsen for contributing!

Please note that hvPlot is not yet compatible with Bokeh 3.

Bug fixes:

  • Allow .hvplot to execute the ibis backend (#990)
  • Improve package name in error message (#1005)
  • Let process_crs try a few approaches before raising error (#1026)
  • Fix label on unnamed data array (#1025)
  • Only use xarray long_name metadata if it is a string (#1031)
  • Replace deprecated Param methods (#1030)
  • Ensure interactive pipeline is not re-executed needlessly (#1029)
  • Fixes subplots=True for geo=True and by (#761)
  • Force column names to string (#1042)

Documentation:

  • Docstring fixes (#985)
  • Improve the hist reference guide (#1002)
  • Improve the bar reference guide (#1032)

Project governance:

  • Create initial project gov docs (#1016)

Maintenance:

  • Rename master branch to main (#1011)
  • Add Python 3.11 to the test matrix (#1015)
  • Run examples with nbval instead of nbsmoke (#1044)
  • Fix the build by better defining the package extras (#1046)

Version 0.8.2

24 Nov 15:14
877cdf0
Compare
Choose a tag to compare

November 24, 2022

The 0.8.2 release brings a number of bugfixes and documentation improvements. @MarcSkovMadsen has kept improving the docstrings and we congratulate @sophiamyang for her first contribution that made the landing page nicer! Many thanks to @droumis, @hoxbro, @maximlt, @philippjfr and @MarcSkovMadsen for contributing!

Please note that hvPlot is not yet compatible with Bokeh 3.

  • Dependencies:
    • Add Panel lower pin to ensure Bokeh 3 is not installed (#974)
  • Interactive:
    • Support slice (#776)
  • Plot:
    • Convert DataFrame columns with type RangeIndex to strings to ensure compatibility with HoloViews (#932)
    • Ensure that xarray dataset metadata propagates to NdOverlays (#930)
    • Support rioxarray (#905)
    • Improve error message mentionning pyproj (#950)
  • Explorer:
    • Don't error on datetime-like axis (#968)
    • Don't use xlim/ylim slider if start and end values are identical (#966)
  • Documentation:
    • New and updated docstrings (#892, #863)
    • Improve the landing page (#874, #903, #876)
    • Change http to https (#873)
    • Add intended rolling_window param into pipeline (#944)
    • Updates the README (#817)
    • Miscellaneous documentation improvements (#866, #887, #910)
  • Development:
    • Add pre-commit to format and lint the code on commits (#967)
  • CI:

Version 0.8.1

28 Aug 03:46
41bf83a
Compare
Choose a tag to compare

August 26, 2022

The 0.8.1 release is a bug fix release, focusing mostly on improving .interactive and the explorer. The documentation has seen some improvements too; @MarcSkovMadsen has been improving the docstrings so make sure to check them out. Many thanks to @jlstevens, @hoxbro, @maximlt, @philippjfr and @MarcSkovMadsen for contributing!

  • Interactive:
    • Set interactive function to lazy to avoid calling it twice (772)
    • Add support for hvplot kind accessor (781, 858)
    • Add more tests to Interactive and some comments (812)
    • Fixes to the operators implemented by Interactive (814)
    • Propagate max_rows (815)
    • Only register the function parameters watchers once (818)
    • Do not re-execute transform on copied clones (833)
    • Internal callback made dependent only when parameters are found (857)
  • Explorer:
    • Make the explorer easier to use (799)
    • Enhancement to Fields tab in explorer (811)
    • Remove the marker styling option of the explorer (809)
  • Plot:
    • Make rescale_discrete_levels a plot option (758)
    • Ensure that dataframes with multiple columns are categorically shaded (759)
    • Display a color bar when rasterize is enabled (782)
    • Update the expected DataSet plot title after xarray 2022.6.0 (795)
    • Set categorically shaded when there's more than one variable (843)
    • Clone GeoViews' features (850)
  • Documentation:
    • Add new and improve existing docstrings (793, 826, 827, 822)
    • Update developer install instructions (794)
    • Rework the landing page and add a Getting started guide (838)
  • Misc:
    • No longer use basestring from holoviews.core.util (757)
    • Ensure that repr is initialized on hvplot backend import (774)
    • Add RGB test data (779)
    • Add flatten utility function (798)

Version 0.8.0

09 May 22:03
04f6dae
Compare
Choose a tag to compare

The 0.8.0 release is a minor release with some exciting new features and a large number of bug fixes and enhancements. Many thanks to @FabianHofmann, @jomey, @ablythed, @jlstevens, @hoxbro, @michaelaye, @MridulS, @ppwadhwa, @maximlt, @philippjfr for contributing!

Main new features:

  • Add ability to call interactive on bound functions (#720)
  • Add support to the Matplotlib and Plotly backends (#653)
  • Add the hvPlotExplorer, a Panel UI component designed to explore data (#638, #639, #651, #710, #726)

Enhancements:

  • Interactive:
    • Allow using getitem on an accessor in interactive (#633)
    • Allow attribute access on ufunc on interactive (#635)
    • Enhancements for interactive API (#640)
    • Flatten op_args to be able to find nested widgets (#699)
  • Allow dynspread to be used with rasterize (#637)
  • Add a title to xarray plots with scalar coords (#659)
  • Adding datashade and rasterize options to scatter_matrix (#495)
  • Update the default internal value of clim to support Matplotlib (#679)
  • Ensure bokeh/panel extension is loaded only once (#686)
  • Add support for planar layout from Networkx (#700)
  • Wrap color in hv.dim when it matches a dimension/column (#717)
  • Expose datashader line_width and rescale_discrete_levels options (#731)
  • Improve array-like handling for x and y inputs (#714)

Fixes:

  • Interactive:
    • Interactive fixes (#630)
    • Fix for interactive transform (#632)
    • Fix issue with accessors on interactive (#641)
    • Consistently dereference attribute access (#642)
  • State that the data cannot be symmetric if it's empty (#680)
  • Disable hover on errorbars plot (#721)
  • Fix application of the scale argument for geoviews features (#725)

Documentation:

  • Add scatter matrix reference (#689)
  • Plotting user guide enhancement (#694)
  • Download a tutorial file with the right filename (#711)
  • Add more imports to try/except import check (#693)
  • Various minor documentation enhancements and fixes (#625, #643, #644, #663, #678, #722)

Maintenance:

  • Drop support for py2.7, min supported version is py3.6 now (#702)
  • Switch to Pytest and run the CI on Python 3.6, 3.8 and 3.9 (#703)
  • Changed to packaging.version (#708)
  • Fix a broken test due to PROJ unexpectedly matching a normal string (#660)
  • Various improvements to the CI (#690, #691. #709, #712, #715, #719, #724, #727, #730, #732, #733, #734, #735)

Version 0.7.3

26 Jul 16:25
Compare
Choose a tag to compare

This is a minor release focusing on greatly improving the .interactive() API for flexibly building simple apps using widget controls. Thanks to @jbednar and @jlstevens for a few small fixes and many thanks to @philippjfr for all the rest!

Features:

  • Improved .interactive Dataframe support: max_rows display, column access (#640)
  • Improved accessor and attribute behavior for .interactive (#633, #635, #641, #642)
  • Add .holoviews() terminal method to .interactive pipelines
  • Add support for kwargs to .interactive.layout
  • Misc fixes to .interactive API (#630, #632)
  • Allow dynspread=True to be used with rasterize=True (now that Datashader supports it)