Quickly and accurately render even the largest data.
Datashader 0.16.0 is a significant release adding support for rendering GeoPandas GeoDataFrames directly rather than having to convert them to SpatialPandas first. Support for GeoPandas geometry types in Datashader Canvas
functions is as follows:
Canvas.line
: LineString
, MultiLineString
, MultiPolygon
, Polygon
Canvas.point
: MultiPoint
, Point
Canvas.polygons
: MultiPolygon
, Polygon
There is also support in Canvas.line
for a new data type which is a 2D xarray.DataArray
(within an xarray.Dataset
) containing the coordinates of multiple lines that share the same x
coordinates.
The DataShape package is now vendored in Datashader as it has not been maintained for a number of years and is not accepting updates.
Thanks to new contributor @J08ny and regular contributors @Hoxbro and @ianthomas23.
Enhancements:
General code improvements:
object
as base class (#1286)codespell
(#1288)float16
being a floating type. (#1290)_internal_build_extend
(#1294)Improvements to CI:
holoviz_tasks
(#1281)codecov
configuration (#1292)pre-commit
(#1295, #1296)Compatibility:
np.NaN
with np.nan
(#1289)This release adds antialiased line support for inspection reductions such as max_n
and where
, including within categorical by
reductions. It also improves support for summary
reductions and adds CUDA implementations of std
and var
reductions.
Thanks to regular contributors @Hoxbro, @ianthomas23, @maximlt and @thuydotm.
Enhancements:
Antialiasing line support for inspection reductions:
shift_and_insert
function (#1260)*_n
reductions (#1261)*_n
reductions (#1262)combine_cpu
functions by ndim (#1265)where
reductions (#1269)Improved support for summary
reductions:
by
reduction within summary
reduction (#1254)summary
containing by
reduction with other reductions (#1257)summary
containing multiple where
with the same selector (#1271)CUDA support for std
and var
reductions (#1267)
General code improvements:
Improvements to CI:
holoviz_tasks
to v0.1a15 (#1251)holoviz_tasks/install
action for docs (#1272)Improvements to documentation:
This release contains an important bug fix to ensure that categorical column order in maintained across dask partitions. It also adds support for categorical inspection reductions such as by(max_n)
. The only missing functionality for inspection reductions is now antialiased lines, which in planned for the next release.
Thanks to contributors @ianthomas23, @maximlt and @philippjfr.
Bug fixes:
Enhancements:
Categorical inspection reductions:
by(max_n)
and by(min_n)
(`#1229)max_row_index
, max_n_row_index
and min
equivalents (#1233)None
(#1234)where
reductions (#1237)where
reductions (#1241)General code improvements:
dask.DataFrame
dtypes
of columns actually used (#1236)OrderedDict
(#1242)Improvements to CI:
Improvements to documentation:
This release provides significant improvements for inspection reductions by adding new first_n
, last_n
, max_n
and min_n
reductions, and providing Dask and CUDA support for all existing and new inspection reductions including where
. It also provides support for Numba 0.57, NumPy 1.24 and Python 3.11, and drops support for Python 3.7.
Thanks to first-time contributors @danigm and @Jap8nted, and also regulars @Hoxbro, @philippjfr and @ianthomas23.
Enhancements:
Inspection reductions:
first_n
, last_n
, max_n
and min_n
reductions (#1184)cuda
argument to _build_combine
(#1194)max_n
and min_n
reductions on GPU (#1196)first
, last
, first_n
and last_n
reductions (#1214)where
reductions (#1217)x and y range attributes on returned aggregations (#1198)
Make datashader.composite
imports lazy for faster import time (#1222)
Improvements to CI:
Improvements to documentation:
Bug fixes:
cupy
in categorical rescale_discrete_levels
(#1179)width
, height
(#1183)Compatibility:
NumPy 1.24 compatibility (#1176, #1185, #1218)
Numba 0.57 compatibility (#1205)
This release adds a new where
reduction that provides improved inspection capabilities and adds support for colormaps that are tuples of hex values. There are also various bug fixes and compatibility improvements.
Thanks to @ianthomas23, @maximlt and @Hoxbro.
Enhancements:
New where
reduction to provide improved inspection functionality:
Support colormaps that are tuples of hex values (#1173)
Add governance docs (#1165)
Improve documentation build system (#1170, #1171)
Improvements to CI:
master
to main
(#1156)Bug fixes:
Validate calculated log canvas range (#1154)
Better validate canvas.line()
coordinate lengths (#1160)
Return early in eq_hist()
if all data masked out (#1168)
Compatibility:
Follow recommended numba
best practice.
nopython=True
everywhere (#1162)Update dependencies:
pyarrow
in tests dependencies (#1174)This release fixes a bug related to spatial indexing of spatialpandas.GeoDataFrames
, and introduces enhancements to antialiased lines, benchmarking and GPU support.
Thanks to first-time contributors @eriknw and @raybellwaves, and also @ianthomas23 and @maximlt.
Enhancements:
Improvements to antialiased lines:
New benchmark framework:
asv
(#1120)cudf
, dask
and dask-cudf
Canvas.line
benchmarks (#1140)Improvements to GPU support:
Improvements to documentation:
Improvements to dependency management (#1111, #1116)
Improvements to CI (#1132, #1135, #1136, #1137, #1143)
Bug fixes:
_sindex
is retained on dataframe copy (#1122)This is a bug fix release to fix an important divide by zero bug in antialiased lines, along with improvements to documentation and handling of dependencies.
Thanks to @ianthomas23 and @adamjhawley.
Enhancements:
Improvements to documentation:
Improvements to handling of dependencies:
Bug fixes:
This release provides a number of important bug fixes and small enhancements from Ian Thomas along with infrastructure improvements from Maxime Liquet and new reductions from @tselea.
Enhancements:
rescale_discrete_levels
for how='eq_hist'
:
Bug fixes:
This release has been nearly a year in the making, with major new contributions from Ian Thomas, Thuy Do Thi Minh, Simon Høxbro Hansen, Maxime Liquet, and James Bednar, and additional support from Andrii Oriekhov, Philipp Rudiger, and Ajay Thorve.
Enhancements:
rescale_discrete_levels
for how='eq_hist'
(#1055)by
, now documenting using categorizer
objects to do 3D numerical binning (#1071)Bugfixes:
Compatibility:
antialias=True
is now deprecated; use line_width=1
(or another nonzero value) instead. (#1048)Version 0.13.0
Thanks to Jim Bednar, Nezar Abdennur, Philipp Rudiger, and Jean-Luc Stevens.
Enhancements:
Bugfixes:
Compatibility: