NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
PyPI · #4510 most downloaded on PyPI
A high-level plotting API for the PyData ecosystem built on HoloViews.
Last release 29 days ago
07 Sep 2026
Ships fairly regularly
a new release about every 3 weeks
Nearly every release is documented
notes for 60 of the last 60 stable releases
Nothing withdrawn
no release was ever pulled
12 years old
219 releases · first in 2015
Nothing published for this version
Nothing published for this version
Many thanks to @Kkkakania (first contribution), @Azaya89 , @flying-sheep , and @hoxbro for their contributions.
Many thanks to @Kkkakania (first contribution), @Azaya89, @flying-sheep, and @hoxbro for their contributions.
Bug Fixes:
nodata option in datashade (#6978)connect_tri_edges_pd failing with non-color name (#6965)module://matplotlib_inline.backend_inline (#6958)Compatibility:
Documentation:
One column per quarter.
Nothing published for this version
Nothing published for this version
Nothing published for this version
This patch release includes a number of bug fixes. Thanks to @hoxbro for their contributions.
This patch release includes a number of bug fixes. Thanks to @hoxbro for their contributions.
Bug Fixes:
hv.streams when using partial.functools with methods (#6941)cmap input for categorical data with the Plotly backend (#6940)rasterize on hv.Spread swapped order of positive and negative error bars (#6933)hv.Bars with narwhals backend (#6930)Nothing published for this version
Removal of deprecated parameters: color_index , size_index , scaling_factor , scaling_method , size_fn
This release introduces new chart types including Donut and Waterfall, along with significant performance improvements, and numerous bug fixes.
Many thanks to @AR21SM (first contribution), @Chetansahney (first contribution), @ghostiee-11 (first contribution), @mvanhorn (first contribution), @SimonHeybrock (first contribution), @ahuang11, @Azaya89, @JulianGiles, @MarcSkovMadsen, @philippjfr, @stanwest, @thuydotm, and @hoxbro for their contributions.
Features:
Donut chart (#6848)Waterfall chart (#6847)categorical_agg operation for linked selections with categorical Bars (#6804)Breaking changes:
color_index, size_index, scaling_factor, scaling_method, size_fn (#6819)HOLOVIEWSRC environment variable for custom config, deprecated since 1.21.0 (#6782)Deprecations:
holoviews.core.options.Opts and holoviews.core.dimension.redim), removal in 1.24.0 (#6863)holoviews.element.comparison for holoviews.testing, removal in 1.25.0 (#6735)Enhancements:
Bars for floating bar charts (#6896)Spread (#6883)raise Exception (#6866)Dataset for rolling_outliers_std (#6763)selector and ds.summary for geom_aggregator (#6743)Bug Fixes:
_resolve_agg_column_name (#6908)Stream.trigger (#6902)Stream._subscribers (#6875)narwhals.Series is also arraylike (#6829)super().__init__ (#6817)BoxWhisker plot in Bokeh (#6809)Cycle.default_cycles with RGB tuples (#6798)NdMapping with explicit tuple set slicing with dimension values (#6780)get_aspect to prevent ZeroDivisionError (#6779)isdatetime check for arraylike (#6755)Performance:
_update_plot in Bokeh (#6839)_update_datasource in Bokeh (#6835)gen_types type tuples (#6831)hasattr check triggering difflib in Bokeh (#6830)max_range and dimension_range (#6806)packaging dependency for regex (#6857)Type Annotations:
Compatibility:
Refactoring:
hv. import if it is top-level import (#6803)* imports and update __all__ to be static (#6802)unittest.TestCase (#6735)Governance:
Documentation:
.rst files to .md (#6823)legend_opts (#6751)CI/CD:
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
This patch release includes a number of bug fixes and enhancements, and adds compatibility with Pandas 3. Many thanks to @chrisbotica (first contribut
This patch release includes a number of bug fixes and enhancements, and adds compatibility with Pandas 3. Many thanks to @chrisbotica (first contribution), @JelmerBot (first contribution), @Azaya89, and @hoxbro for their contributions.
Enhancements:
text_outline_color and text_outline_width style to Labels (Bokeh) (#6738, #6746)masked_types (#6732)Bug Fixes:
Heatmap is optimized and color style is used (#6730)dim expression (#6729)categories before accessing it (#6053)np.nan (#5790)Documentation:
legend_opts (Bokeh) (#6751)Compatibility:
Nothing published for this version
Nothing published for this version
Nothing published for this version
Deprecate IbisInterface for NarwhalsInterface
This release adds Narwhals support for broader dataframe compatibility. By doing so, we now also support Polars and DuckDB data backends.
Another new feature is the addition of sizebar support for Points elements, allowing for better visualization of point sizes in plots.
Along with these new features, this release includes numerous enhancements, bug fixes, compatibility updates, and improved documentation.
Many thanks to @epaaso (first contribution), @thuydotm (first contribution), @ahuang11, @Azaya89, @maximlt, @philippjfr, @stanwest, and @hoxbro for their contributions.
New Features:
Enhancements:
gridstyle to matplotlib (#6700)from_sparse classmethod for Graph (#6673)ImageStackPlot (#6662)auto_box_zoom as default (#6650)ImageStack as an element_type in rasterize (#6631)core.util to work better without pandas installed (#6702)link_selections.unlink (#6685)Deprecations:
IbisInterface for NarwhalsInterface (#6718)Performance:
HeatMap rendering path if gridded and contiguous (#6680)PlotSize and RangeXY Bokeh callbacks (#6672)find_stack_level (#6724)Bug Fixes:
Image with datashade (#6707)subcoordinate_y for DynamicMap if labels mismatched between plots (#6694)selection_expr programmatically (#6689)node_color in element transformations for Bokeh and MPL (#6678)hv.dim and hv.Dimension as color opts for Matplotlib Path plots (#6721, #6665)x marker in plots and legends (#6676)FIXED_SIZING_MODE warning on hv.save (#6674).apply operation on pipeline (#6670)dendrogram edgecases (#6669)decimate if start and end are the same (#6661)Compatibility:
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
This release bumps the minimum supported Python version to 3.10, deprecates the streamz interface, autoloading RC file, IPython magic, and using matpl…
This release adds support for sample information on hover for rasterized/datashaded plots, adds dendrogram plot, and adds logarithmic support for Histogram. Along with these new features, this release includes a number of enhancements, bug fixes, and improved documentation. Many thanks to the new contributors @philipc2, @NolanBrb, and @sand-hanitizer, as well as the returning contributors @Azaya89, @LecrisUT, @maximlt, @michaelaye, @philippjfr, and @hoxbro.
This release bumps the minimum supported Python version to 3.10, deprecates the streamz interface, autoloading RC file, IPython magic, and using matplotlib as default backend for hv.extension which are all planned for removal in 1.23.0.
New features:
Deprecations and removals:
streamz interface (planned removal in 1.23.0) (#6490)hv.extension() for hv.extension("matplotlib") (planned removal in 1.23.0) (#6610)hv.config parameters: future_deprecations and warn_options_call (#6610)Enhancements:
hide_toolbar options (#6602)radius and radius_dimension to Point plot (#6599, #6613)Dataset.select (#6617, #6626)backend in holoviews.opts.defaults (#6331)Performance:
datashader.bundling to avoid numba compile time (#6616)Fixes:
max_extents (#6571)dask.array and backend Matplotlib (#6542)apply_when (#6628)multi_y error for single element (#6543)PandasInterface.select with an index and a column (#6579)NdOverlays with a count aggregator (#6619)Documentation:
Build:
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
This micro release includes a couple of bug fixes, an enhancement, and compatibility updates. Thank you to the new contributor @MikalaiPrakapenka, as
This micro release includes a couple of bug fixes, an enhancement, and compatibility updates. Thank you to the new contributor @MikalaiPrakapenka, as well as the returning contributor @hoxbro.
Enhancements:
Bug fixes:
Compatibility:
Nothing published for this version
This micro release includes a number of bug fixes, enhancements, and compatibility updates. Many thanks to the new contributors @spacetimeengineer, @f
This micro release includes a number of bug fixes, enhancements, and compatibility updates. Many thanks to the new contributors @spacetimeengineer, @flying-sheep, and @Azaya89, as well as the returning contributors @stanwest, @ahuang11, @maximlt, and @hoxbro
Enhancements:
Bug fixes:
IndexError associated with HeatMap (#6438)constant_keys (#6477)Refactor:
Compatibility:
param.ObjectSelector to recommended param.Selector (#6444)Documentation:
extension (#6461)Build:
CI:
Nothing published for this version
Nothing published for this version
Nothing published for this version
Handle DeprecationWarning from Pandas (#6346, #6391)
This release focuses on performance improvement, enhancing streaming support, and refining popup functionality, along with several bug fixes. Many thanks to the new contributors @grapesmoker, @arafune, and @LecrisUT, as well as the returning contributors @ahuang11, @droumis, @jbednar, @maximlt, @philippjfr, and @hoxbro.
Keywords objects (#6314)subcoordinate_y (#6277)sublabel_index and sublabel_skip option for matplotlib backend (#6375)Scalebar support for subcoordinate_y plots (#6403, #6420)popup (#6390)popup position and anchor (#6414)popup in set_curdoc (#6337)popup being invisible forever after closing once (#6347)pixel_ratio is applied when computing resampling coordinates (#6373)HLine, VLine and Span on multi_y (#6376)z dimension from ImageStack DataArray before shading (#6378)hv.Bars (#6365)HoverTool (#6387)cuDF interface (#6407)popup positioning on polygons (#6411)Bars width for small discrete differences on the x-axis (#6428)Path where categorical values include empty strings (#6429)Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
This micro release includes a number of bug fixes and enhancements, as well as compatibility updates. Thanks to @maximlt and @hoxbro for their contrib
This micro release includes a number of bug fixes and enhancements, as well as compatibility updates. Thanks to @maximlt and @hoxbro for their contributions.
hv.Bars with only one value in it (#6301)zIndex of Popup to 1000 (#6297)Bars plots (#6304)pd.NA in is_nan (#6290)dask.dataframe in operations.datashader (#6309)Nothing published for this version
This release introduces a number of major new features and enhancements, including the ability to add popups to your Bokeh figures, which allows you t
This release introduces a number of major new features and enhancements, including the ability to add popups to your Bokeh figures, which allows you to drill down into subsets of your data easily. Additionally, this release retains and uses pandas (multi-)indexes without unnecessary copies, providing significant benefits for working with wide data. A major focus of this release has also been to improve the time it takes to plot large datasets, both by updating the data pipeline and reducing the amount of data send to the browser. Furthermore, we have improved the developer experience, making it easier to contribute to HoloViews, see the developer guide. Lastly bugs have been squashed and enhancements made to the existing features.
Thank you to @mirage007 and @WesleyTheGeolien for their first contributions and to the returning contributors @douglas-raillard-arm, @jj-github-jj, and @TheoMathurin. Another thanks to the maintainers @ahuang11, @droumis, @maximlt, @philippjfr, and @hoxbro.
self_intersect=False (#6030)subcoordinate_y overlays (#6051)tsdownsample library for downsampling if available (#6059, #6083)downsample1d when data is shared between layers (#6075)ImageStack (#6025)hit_dilation in PointPlot (#6121)Subcoordinate_y: reverse the renderers by default (#6194)hover_tooltips, hover_mode, hover_formatters opts to easily modify hover (#6180)subcoordinate_y group (#6122)hv.Labels and hv.Text (#6198)Pandas index (#6061)min_interval and max_interval to the RangeToolLink (#6134)geopandas dataframes directly (#5958)ImageStack in dynspread (#6024)cticks (#6257)Dimension.label source of truth for Dimension identity (#6262)GridSpace (#6127)KeyError if options don't contain None (#6153)ImageStack (#6155)BoxWhisker (#6169)histogram (#6172)m4 n_out is always a multiple of 4 (#6195)ylim (#6190)Plotly (#6237)TypeError in DaskInterface when sorting (#6221)hv.help if Info.store is None (#6250)color_levels (#4898)RangeToolLink respect subcoordinate axis range (#6256)subcoordinate_y is enabled (#6272)param minimum version to 2.0 (#6230)numpy >=1.21, pandas >= 1.3, and Bokeh >=3.1 (#6253)subcoordinate_group_ranges by extending the EEG Viewer demo (#6243)test-gpu task for Pixi (#6217)sync-git-tags task to Pixi for sync git tags with upstream repo (#6215)psutil for pytest-xdist logical option (#6213)Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →