See the HoloViz blog for a visual summary of the major features added in a selection of releases.
The 0.11.1 release is a patch release that brings a few bugfixes and documentation improvements. In particular it fixes a regression introduced in version 0.11.0 leading to an error when a plot is created from a Dask object with tiles=True
. Many thanks to @Palmr (first contribution!), @ahuang11, @Hoxbro, @maximlt, and @philippjfr for their contributions!
Bug Fixes:
Documentation:
- Add
nb_interactivity_warning
extension (#1444) - Document Ruff's
allowed-unused-imports
(#1436) - Update image links in README (#1433)
- Minor fixes (#1434)
Tests:
- Mark
test_explorer_geo_revise_kind
with geo marker (#1426)
This minor release brings a number of enhancements and bugfixes, checkout the release blog post for a visual summary of the most important changes.
- 🦆 New integration: DuckDB!
- 🗺️ Automatic latitude/longitude conversion when displaying a tile map
- 💹 Support for displaying subcoordinate y-axis
- 🏄 New hover options:
hover_tooltips
andhover_formatters
- 🐼 Optimized Pandas index support
- 🐛 Fixing "No output in jupyter"
- ➕ Update of the minimum version of the dependencies
Many thanks to @Azaya89, @liufeimath and @philipc2 for their first contributions, to @iuryt for contributing again, and to the maintainers @ahuang11, @hoxbro, @maximlt and @philippjfr!
Enhancements:
- Add DuckDB integration (#1398)
- Add
pixel_ratio
keyword, useful whendatashade/rasterize=True
(#1411) - Automatically convert lonlat to xy when
tiles=True
(#1377) - Add
hover_tooltips
andhover_formatters
keywords, and better documenthover
(#1385, #1415) - Add
subcoordinate_y
keyword (#1379) - Optimize handling of wide datasets and Pandas indexes (#1350)
- Add
cticks
keyword (#1368) - Optimize the geographic part of the explorer (#1353)
- Support using
by
withhvplot.labels()
to color the text (#1347)
Bug Fixes:
- Ensure hvplot. hooks are run on every import (#1359)
- Warn on imposing max rows, fix for curve and increase MAX_ROWS to 100,000 (#1408)
- Do not set
bin_range
ifshared_axes=False
(#1391) - Fix date sorting of multi index Pandas dataframes (#1363)
- Fix geopandas type check to handle
None
geometry (#1367) - Do not mutate data when using custom text format (#1352)
Compatibility:
- Handle new Polars
PerformanceWarning
(#1418) - Add
dask-geopandas
check tois_geodataframe
function (#1396) - Require HoloViews>=1.19.0, bump other dependencies, and drop Python 3.8 (#1355)
Documentation:
- Fix missing images and image links (#1422)
- Add interactive downsampling large vector fields (#1372)
- Add customization for the subplots example (#1371)
- Document Jupyter notebook requirements (#1392)
- Replace
geopandas.datasets
bygeodatasets
in the examples (#1362) - Add
paths
reference notebook (#1354, #1384) - Document the
downsample
andresample_when
parameters (#1344)
Infrastructure / Tests:
- Use
psutil
logical for test examples (#1404) - Remove
tests
forpolars.plot
(#1403) - Use
bokeh_sampledata
in CI (#1387) - Conditionally skip testing the Gridded data user guide (#1383)
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 adoptruff
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:
- Andrew (@ahuang11) promoted as Maintainer! (#1267)
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 matchprojection
(#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
andby
(#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:
- Add user guide for working with large time-series datasets (#1302)
- Clarify the geographic user guide (#1269, #1299)
- Misc (#1266, #1268, #1319)
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)
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 toTabular
(#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)
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
toscatter
(#1228) - Support
polars
objects in thehvplot.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)
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:
- 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
withrasterize
with HoloViewsImageStack
(#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)
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:
Maintenance:
- Add ipywidgets to the examples deps (1048)
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 for 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
forgeo=True
andby
(#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 ofnbsmoke
(#1044) - Fix the build by better defining the package extras (#1046)
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:
- Explorer:
- Documentation:
- Development:
- Add
pre-commit
to format and lint the code on commits (#967)
- Add
- CI:
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:
- 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)
- Make
- Documentation:
- Misc:
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 dynspread to be used with
rasterize
(#637) - Add a title to xarray plots with scalar coords (#659)
- Adding
datashade
andrasterize
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:
- 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 Python 2.7, minimum supported version is now Python 3.6 (#702)
- Changed to
packaging.version
(#708)
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 withrasterize=True
(now that Datashader supports it)
This is a minor release with a number of bug fixes and enhancements. Many thanks to @StefanBrand, @loicduffar, @brl0, @michaelaye, @aaronspring, @toddrjen, @raybellwaves, @jlstevens, @jbednar and @philippjfr for contributing.
Features:
Enhancements:
- Support setting options for diagonal plots in
scatter_matrix
(#602) - Take
group_label
from columns if available (#615) - Add kwargs to
interactive.layout()
Bug fixes:
- Fix support for
clim
oncontours
(#587) - Adding default coordinates to datasets with missing coords (#605)
- Do not plot
streamz
example point (#614) - Fix passing in multiple z-values (#616)
- Ensure
violin
andboxplot
color is applied (#619) - Ensure categorical colormapping is applied during
datashade
(#621)
Compatibility:
- Switch default tile source to
OSM
(sinceWikipedia
is no longer available) (#610)
Documentation:
- Correctly document .hist rather than
.histogram
(#571) - Use strings rather than bytes when referring to airplane dataset columns (#538)
- Preserve function signature and docstring in
with_hv_extension
(#601) - Add
hover_cols
example (#612) - Switch to pydata sphinx theme (#613)
- Update available options in customization docs (#620)
Major new features:
- Add Ibis backend, providing hvPlot features for lazy SQL queries (#507)
Enhancements:
- Cycles for continuous colormaps ([#548)
- Validate by column(s) ([#565)
- Add
hover='vline'
hover='hline'
options to expose Bokeh HoverTool mode (#493) - Support streaming plots from HoloViews streams (not needing a streamz source) (#542)
Bug fixes:
Thanks to @philippjfr for managing this release and implementing most of the features, and to @jbednar, @ahuang11, and @AurelienSciarra for contributions.
Major new features:
- Powerful new
.interactive()
API for building easy apps (#505, #523) - New
transforms
argument to transform data in.hvplot()
calls (#526)
Other new features and enhancements:
- Support passing geographic projections as strings (#372)
- Improved data selection, e.g. for filtering on metadata (#522)
- Provide color_key to datashade as well as cmap, for convenience (#525)
- Update param warnings to new API (#528)
- Replace TravisCI tests with GitHub Actions (#524)
Bug fixes:
- Fix for specifying
hover_cols
(#504) - Remove outdated reference to
__main__
console script (#494) - Misc doc fixes, including to Streaming.ipynb (#481, #511)
- Handle
node_shape
for networkx (#527)
This release includes major contributions from @philippjfr (overall maintenance and bugfixes) and @jsignell (reference gallery), plus additional contributions from @slamer59 (environment), @anitagraser (examples), @itcarroll (color_key alias), @Timothy-W-Hilton (bugfix), @jbednar (bugfix), @SandervandenOord (fontscale), and @jordansamuels (doc fixes).
New features:
- Improved
save
andshow
utilities (#451) - Improved compatibility for tab completion (#411)
- Major performance enhancement with Datashader in some cases (#465)
- Add support for cuDF (#454, #466)
- Support
by
argument for categorical aggregation (#461) - Support
color_key
alias (#446, #458) - Support
spatialpandas
for large sets of polygons (#459) - Add
fontscale
keyword (#397)
Bug fixes and compatibility:
- Fixed
'title_format'
deprecation warning (#428) - Avoid sorting overlays, to make color cycles consistent (#475)
- Fix inference of non-declared index coordinates (#329)
- Improved handling of indexes on flattened grid (#452)
- Preserve
Dataset.pipeline
(#453) - Fixes for option handling (#458)
Documentation:
- Added (a start to) a reference gallery
- Added heat and trees example to topics (#378)
- Replaced sphinx_pyviz_theme with sphinx_holoviz_theme (#366)
- Removed references to pyviz (#373)
- Fix networkx documentation (#476)
This release mostly includes contributions from @jsignell.
- Allow tile sources to be objects as well as strings (#345)
- Set
geo=True
by default for coastline (#344) - Add
check_symmetric_max
limit for working with large data (#340) - Expose plot at top level, to support
pd.options.plotting.backend = 'hvplot'
(#347) - Misc bug fixes (#341, #343, #346)
Minor release with updates to continuous integration setup (from @jsignell).
October 10, 2019
This is a major release that includes bug fixes, changes to default behavior, and enhancements.
Features:
- Widget handling capabilities to facilitate interactivity (#323, #331)
- New default colormaps (#258, #316, #206)
- long_name(units) used to label xarray objects (#173)
- Derived datetime accessor handlind (#263, #286)
coastline
andtiles
options for easy geo plots.- Automatic date sorting (#259)
- Allow use of strings as aggregators for datashader (#257)
This is a major release which includes the addition of a networkx plotting API and a number of important bug fixes.
Features:
Fixes:
- Fixed handling of labelled property to hide axis labels (#142)
- Fixed handling of DataArrays and groupby on RGB plots (#138, #141)
- Allow setting axis position (#149)
- Fixes for setting the axis positions (#145)
This release includes a number of major improvements to the documentation and core functionality as well as a variety of bug fixes.
- Added improved docstrings including all available options (#103, #134)
- Added support for tab-completion in interactive environments such as IPython and Jupyter notebooks (#134)
- Added support for
rgb
(#137) andlabels
(#98) plot types - Exposed bokeh styling options for all plot types (#134)
- Compatibility with latest HoloViews/GeoViews releases (#113, #118, #134)
- Added control over tools (#120) and legend position (#119)
Versions 0.1.1, 0.2.0, 0.2.1 were released on the 6th of July 2018, 7th of July 2018 and 8th of July 2018.