Releases: holoviz/datashader
Version 0.16.3
This release adds an enhancement and compatibility changes with upstream libraries. Thanks to @raphaelquast, @droumis, and @hoxbro.
Enhancements:
- Add fail-fast for datasets outside the visible extent (#1345)
Compatibility:
- Compatibility with cudf 2024.06 (#1344)
- Compatibility with geopandas 1.0 and dask-geopandas 0.4.0 (#1347)
Maintenance:
- Update docs.yaml (#1346)
Version 0.16.2
This release adds compatibility with Numpy 2.0, along with other improvements and bug fixes. Thanks to @hoxbro for his contributions.
Bugfixes:
- Remove artifact from Polygon rendering (#1329)
Compatibility:
- Test dev releases of
numpy
2.0 andnumba
0.60.0 (#1332) - Improve compatibility with
dask-expr
(#1335) - Add gpu marker for test and test both classic and
dask-expr
Dask.DataFrame
's (#1341)
Documentation:
Maintenance:
Version 0.16.1
This release brings compatibility with the new release of upstream packages. Thanks to the first-time contributor @alexander-beedie, and the regular contributors @philippjfr, @ianthomas23, @maximlt, and @hoxbro.
Enhancements:
Compatibility:
- Python 3.12 support (#1317)
- Basic
dask_expr
support (#1317) - Numpy 2.0 support (#1306)
- Remove redundant py2 helper code (#1316)
Maintenance:
Version 0.16.0
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:
- Support rendering of GeoPandas GeoDataFrames as lines, points and polygons (#1285, #1293, #1297)
- Implement lines using 2D xarray with common x coordinates (#1282)
General code improvements:
- Add debug logging to compiler module (#1280)
- Vendor DataShape (#1284)
- Don't use
object
as base class (#1286) - Fix typos using
codespell
(#1288) - Fix
float16
being a floating type. (#1290) - Simplify line
_internal_build_extend
(#1294)
Improvements to CI:
- Update to latest
holoviz_tasks
(#1281) - Update
codecov
configuration (#1292) - Add
pre-commit
(#1295, #1296)
Compatibility:
Version 0.15.2
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:
- Pre-compile antialias stage 2 combination (#1258)
- Antialiased min and max row index reductions (#1259)
- CPU
shift_and_insert
function (#1260) - Refactor of CUDA
*_n
reductions (#1261) - Support antialiased lines in
*_n
reductions (#1262) - Replace accumulate with copy on first call to antialiased stage 2 combine (#1264)
- Separate where
combine_cpu
functions by ndim (#1265) - Antialiased line support for
where
reductions (#1269)
-
Improved support for
summary
reductions: -
CUDA support for
std
andvar
reductions (#1267)
General code improvements:
- Remove pyarrow pin (#1248)
Improvements to CI:
Improvements to documentation:
Version 0.15.1
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:
- Fix single category reductions (#1231)
- Ensure categorical column order is the same across dask partitions (#1239)
Enhancements:
-
Categorical inspection reductions:
-
General code improvements:
Improvements to CI:
Improvements to documentation:
Version 0.15.0
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:
- Reduction append functions return index not boolean (#1180)
first_n
,last_n
,max_n
andmin_n
reductions (#1184)- Add
cuda
argument to_build_combine
(#1194) - Support
max_n
andmin_n
reductions on GPU (#1196) - Use fast cuda mutex available in numba 0.57 (#1212)
- Dask support for
first
,last
,first_n
andlast_n
reductions (#1214) - Wrap use of cuda mutex in
where
reductions (#1217) - Cuda and cuda-with-dask support for inspection reductions (#1219)
-
x and y range attributes on returned aggregations (#1198)
-
Make
datashader.composite
imports lazy for faster import time (#1222) -
Improvements to CI:
- Cancel concurrent test workflows (#1208)
-
Improvements to documentation:
Bug fixes:
- Fix conversion from
cupy
in categoricalrescale_discrete_levels
(#1179) - Validate canvas
width
,height
(#1183) - Support antialiasing in pipeline API (#1213)
Compatibility:
Version 0.14.4
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)
-
Improvements to CI:
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:
Version 0.14.3
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:
-
Improvements to GPU support:
- Cupy implementation of eq_hist (#1129)
-
Improvements to documentation:
- Fix markdown syntax for link (#1119)
- Add text link to https://examples.pyviz.org/datashader_dashboard (#1123)
Bug fixes:
- Ensure spatial index
_sindex
is retained on dataframe copy (#1122)
Version 0.14.2
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:
- Fix antialiased line divide by zero bug (#1099)