pkgsrc-WIP-changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

py-datashader: Update to 0.16.2



Module Name:	pkgsrc-wip
Committed By:	Matthew Danielson <matthewd%fastmail.us@localhost>
Pushed By:	matthewd
Date:		Fri Jun 21 12:45:49 2024 -0600
Changeset:	2c1db3c171e261f59905631513bb19b61ab76b03

Modified Files:
	py-datashader/Makefile
	py-datashader/distinfo

Log Message:
py-datashader: Update to 0.16.2

Version 0.16.2 (2024-05-31)
This release adds compatibility with Numpy 2.0, along with other improvements and bugfixes. Thanks to @hoxbro for his contributions.
Bugfixes:
    Remove artifact from Polygon rendering (#1329)
Compatibility:
    Test dev releases of numpy 2.0 and numba 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:
    Update links (#1337, #1339)
    Update readme badges (#1334)
    Add download data script (#1326)
Maintenance:
    Update list of maintainers (#1336)
    Parallelize the test suite and fix a test polluted bug (#1338)
    Update test workflow (#1340)
Version 0.16.1 (2024-04-19)
This release brings compatibility with new release of upstream packages. Thanks to first-time contributor @alexander-beedie, and the regular contributors @philippjfr, @ianthomas23, @maximlt, and @hoxbro.
Enhancements:
    Improved antialiased mean reduction (#1300)
    Update the docstring of eq_hist (#1322)
Compatibility:
    Python 3.12 support (#1317)
    Basic dask_expr support (#1317)
    Numpy 2.0 support (#1306)
    Remove redundant py2 helper code (#1316)
Maintenance:
    Replace Google Analytics with GoatCounter (#1309)
    Docs: ignore numpydoc validation checks (#1310)
    Fix test suite (#1314)
    General maintenance (#1320)
Version 0.16.0 (2023-10-26)
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:
    Support Pandas 2.1 (#1276, #1287)
    Replace np.NaN with np.nan (#1289)
    Drop support for Python 3.8 (#1291)
Version 0.15.2 (2023-08-17)
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:
        Support by reduction within summary reduction (#1254)
        Support summary containing by reduction with other reductions (#1257)
        Support summary containing multiple where with the same selector (#1271)
    CUDA support for std and var reductions (#1267)
General code improvements:
    Remove pyarrow pin (#1248)
Improvements to CI:
    Update holoviz_tasks to v0.1a15 (#1251)
    Use holoviz_tasks/install action for docs (#1272)
Improvements to documentation:
    Update readme to include Python 3.11 (#1249)
    Correct links to pandas docs (#1250)
    Remove twitter from index page (#1253)
    Create FUNDING.yml (#1263)
Version 0.15.1 (2023-07-05)
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:
        Support by(max_n) and by(min_n) (#1229)
        Categorical max_row_index, max_n_row_index and min equivalents (#1233)
        Use enum for row index column rather than None (#1234)
        Add support for categorical where reductions (#1237)
        Add tests for handling of NaNs in where reductions (#1241)
    General code improvements:
        Only check dask.DataFrame dtypes of columns actually used (#1236)
        Remove all use of OrderedDict (#1242)
        Separate out 3d and 4d combine functions (#1243)
        Reorganise antialiasing code (#1245)
Improvements to CI:
    Bump holoviz tasks (#1240)
    Add image is close test helper (#1244)
Improvements to documentation:
    Update to Google Analytics 4 (#1228)
    Rename pyviz-dev as holoviz-dev (#1232)
Version 0.15.0 (2023-05-30)
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 and min_n reductions (#1184)
        Add cuda argument to _build_combine (#1194)
        Support max_n and min_n reductions on GPU (#1196)
        Use fast cuda mutex available in numba 0.57 (#1212)
        Dask support for first, last, first_n and last_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:
        Inspection reduction documentation (#1186, #1190)
        Upgrade to latest nbsite and pydata-sphinx-theme (#1221)
        Use geodatasets in example data
Bug fixes:
    Fix conversion from cupy in categorical rescale_discrete_levels (#1179)
    Validate canvas width, height (#1183)
    Support antialiasing in pipeline API (#1213)
Compatibility:
    NumPy 1.24 compatibility (#1176, #1185, #1218)
    Numba 0.57 compatibility (#1205)
Version 0.14.4 (2023-02-02)
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:
        Add new where reduction (#1155)
        Where reduction using dataframe row index (#1164)
        CUDA support for where reduction (#1167)
        User guide page for where reduction (#1172)
    Support colormaps that are tuples of hex values (#1173)
    Add governance docs (#1165)
    Improve documentation build system (#1170, #1171)
    Improvements to CI:
        Rename default branch from master to main (#1156)
        Use holoviz_task install action (#1163)
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.
        Ensure cuda functions are correctly jitted (#1153)
        nopython=True everywhere (#1162)
    Update dependencies:
        Pip pyarrow in tests dependencies (#1174)
Version 0.14.3 (2022-11-17)
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:
        Fit antialiased line code within usual numba/dask framework (#1142)
        Refactor stage 2 aggregation for antialiased lines (#1145)
        Support compound reductions for antialiased lines on the CPU (#1146)
    New benchmark framework:
        Add benchmarking framework using asv (#1120)
        Add cudf, dask and dask-cudf Canvas.line benchmarks (#1140)
    Improvements to GPU support:
        Cupy implementation of eq_hist (#1129)
    Improvements to documentation:
        Fix markdown syntax for link (#1119)
        DOC: add text link to https://examples.pyviz.org/datashader_dashboard (#1123)
    Improvements to dependency management (#1111, #1116)
    Improvements to CI (#1132, #1135, #1136, #1137, #1143)
Bug fixes:
    Ensure spatial index _sindex is retained on dataframe copy (#1122)
Version 0.14.2 (2022-08-10)
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:
        Fix links in docs when viewed in browser (#1102)
        Add release notes (#1108)
    Improvements to handling of dependencies:
        Correct dask and bokeh dependencies (#1104)
        Add requests as an install dependency (#1105)
        Better handle returned dask npartitions in tests (#1107)
Bug fixes:
    Fix antialiased line divide by zero bug (#1099)
Version 0.14.1 (2022-06-21)
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:
    Improvements to antialiased lines:
        Support antialiased lines for categorical aggregates (#1081, #1083)
        Correctly handle NaNs in antialiased line coordinates (#1097)
    Improvements to rescale_discrete_levels for how='eq_hist':
        Correct implementation of rescale_discrete_levels (#1078)
        Check before calling rescale_discrete_levels (#1085)
        Remove empty histogram bins in eq_hist (#1094)
    Implementation of first and last reduction (#1093) for data types other than raster.
Bug fixes:
    Do not snap trimesh vertices to pixel grid (#1092)
    Correctly orient (y, x) arrays for xarray (#1095)
    Infrastructure/build fixes (#1080, #1089, #1096)
Version 0.14.0 (2022-04-25)
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:
    Full support for antialiased lines of specified width (#1048, #1072). Previous antialiasing support was limited to single-pixel lines and certain floating-point reduction functions. Now supports arbitrary widths and arbitrary reduction functions, making antialiasing fully supported. Performance ranges from 1.3x to 14x slower than the simplest zero-width implementation; see benchmarks.
    Fixed an issue with visibility on zoomed-in points plots and on overlapping line plots that was first reported in 2017, with a new option rescale_discrete_levels for how='eq_hist' (#1055)
    Added a categorical color_key for 2D (unstacked) aggregates (#1020), for producing plots where each pixel has at most one category value
    Improved docs:
        A brand new polygons guide (#1071)
        A new guide to 3D aggregations using by now documenting using categorizer objects to do 3D numerical binning (#1071)
        Moved documentation for spreading to its own section so it can be presented at the right pipeline stage (was mixed up with colormapping before) (#1071)
        Added rescale_discrete_levels example (#1071)
        Other misc doc cleanup (#1035, #1037, #1058, #1074, #1077)
Bugfixes:
    Fixed details of the raster coordinate calculations to match other primitives, making it simpler to overlay separately rendered results (#959, #1046)
    Various fixes and extensions for cupy/CUDA, e.g. to use cuda for category_binning, spread, and dynspread, including cupy.interp where appropriate (#1015, #1016, #1044, #1050, #1060)
    Infrastructure/build/ecosystem fixes (#1022, #1025, #1027, #1036, #1045, #1049, #1050, #1057, #1061, #1062, #1063, #1064)
Compatibility:
    Canvas.line() option antialias=True is now deprecated; use line_width=1 (or another nonzero value) instead. (#1048)
    Removed long-deprecated bokeh_ext.py (#1059)
    Dropped support for Python 2.7 (actually already dropped from the tests in Datashader 0.12) and 3.6 (no longer supported by many downstream libraries like rioxarray, but several of them are not properly declaring that restriction, making 3.6 much more difficult to support.) (#1033)
    Now tested on Python 3.7, 3.8, 3.9, and 3.10. (#1033)
Version 0.13.0 (2021-06-10)
Thanks to Jim Bednar, Nezar Abdennur, Philipp Rudiger, and Jean-Luc Stevens.
Enhancements:
    Defined new dynspread metric based on counting the fraction of non-empty pixels that have non-empty pixels within a given radius. The resulting dynspread behavior is much more intuitive than the old behavior, which counted already-spread pixels as if they were neighbors (#1001)
    Added ds.count() as the default reduction for ds.by (#1004)
Bugfixes:
    Fixed array-bounds reading error in dynspread (#1001)
    Fix color_key argument for dsshow (#986)
    Added Matplotlib output to the 3_Interactivity getting started page. (#1009)
    Misc docs fixes (#1007)
    Fix nan assignment to integer array in RaggedArray (#1008)
Compatibility:
    Any usage of dynspread with datatypes other than points should be replaced with spread(), which will do what was probably intended by the original dynspread call, i.e. to make isolated lines and shapes visible. Strictly speaking, dynspread could still be useful for other glyph types if that glyph is contained entirely in a pixel, e.g. if a polygon or line segment is located within the pixel bounds, but that seems unlikely.
    Dynspread may need to have the threshold or max_px arguments updated to achieve the same spreading as in previous releases, though the new behavior is normally going to be more useful than the old.
Version 0.12.1 (2021-03-22)
Major release with new features that should really be considered part of the upcoming 0.13 release; please treat all the new features as experimental in this release due to it being officially a minor release (unintentionally).
Massive thanks to these contributors for substantial new functionality:
    Nezar Abdennur (nvictus), Trevor Manz, and Thomas Caswell for their contributions to the new dsshow() support for using Datashader as a Matplotlib Artist, providing seamless interactive Matplotlib+Datashader plots.
    Oleg Smirnov for category_modulo and category_binning for by(), making categorical plots vastly more powerful.
    Jean-Luc Stevens for spread and dynspread support for numerical aggregate arrays and not just RGB images, allowing isolated datapoints to be made visible while still supporting hover, colorbars, and other plot features that depend on the numeric aggregate values.
    Valentin Haenel for the initial anti-aliased line drawing support (still experimental).
Thanks to Jim Bednar, Philipp Rudiger, Peter Roelants, Thuy Do Thi Minh, Chris Ball, and Jean-Luc Stevens for maintenance and other contributions.
New features:
    Expanded (and transposed) performance guide table (#961)
    Add category_modulo and category_binning for grouping numerical values into categories using by() (#927)
    Support spreading for numerical (non-RGB) aggregate arrays (#771, #954)
    Xiaolin Wu anti-aliased line drawing, enabled by adding antialias=True to the Canvas.line() method call. Experimental; currently restricted to sum and max reductions ant only supporting a single-pixel line width. (#916)
    Improve Dask performance issue using a tree reduction (#926)
Bugfixes:
    Fix for xarray 0.17 raster files, supporting various nodata conventions (#991)
    Fix RaggedArray tests to keep up with Pandas test suite changes (#982, #993)
    Fix out-of-bounds error on Points aggregation (#981)
    Fix CUDA issues (#973)
    Fix Xarray handling (#971)
    Disable the interactivity warning on the homepage (#983)
Compatibility:
    Drop deprecated modules ds.geo (moved to xarray_image) and ds.spatial (moved to SpatialPandas) (#955)
Version 0.12.0 (2021-01-07)
No release notes produced.

To see a diff of this commit:
https://wip.pkgsrc.org/cgi-bin/gitweb.cgi?p=pkgsrc-wip.git;a=commitdiff;h=2c1db3c171e261f59905631513bb19b61ab76b03

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

diffstat:
 py-datashader/Makefile | 7 ++++---
 py-datashader/distinfo | 6 +++---
 2 files changed, 7 insertions(+), 6 deletions(-)

diffs:
diff --git a/py-datashader/Makefile b/py-datashader/Makefile
index 8da0d8ce51..d22585c757 100644
--- a/py-datashader/Makefile
+++ b/py-datashader/Makefile
@@ -1,6 +1,6 @@
 # $NetBSD$
 
-DISTNAME=	datashader-0.11.1
+DISTNAME=	datashader-0.16.2
 PKGNAME=	${PYPKGPREFIX}-${DISTNAME}
 CATEGORIES=	graphics python
 MASTER_SITES=	${MASTER_SITE_PYPI:=d/datashader/}
@@ -11,8 +11,9 @@ COMMENT=	Data visualization toolchain based on aggregating into a grid
 LICENSE=	modified-bsd
 
 DEPENDS+=	${PYPKGPREFIX}-dask>=0.18.0:../../wip/py-dask
+DEPENDS+=	${PYPKGPREFIX}-requests>=2.32.3:../../devel/py-requests
 DEPENDS+=	${PYPKGPREFIX}-toolz>=0.7.4:../../devel/py-toolz
-DEPENDS+=	${PYPKGPREFIX}-datashape>=0.5.1:../../wip/py-datashape
+DEPENDS+=	${PYPKGPREFIX}-multipledispatch>=1.0.0:../../devel/py-multipledispatch
 DEPENDS+=	${PYPKGPREFIX}-numba>=0.37.0:../../math/py-numba
 DEPENDS+=	${PYPKGPREFIX}-pandas>=0.24.1:../../math/py-pandas
 DEPENDS+=	${PYPKGPREFIX}-Pillow>=3.1.1:../../graphics/py-Pillow
@@ -32,5 +33,5 @@ USE_LANGUAGES=	# none
 
 BUILDLINK_API_DEPENDS.${PYPKGPREFIX}-numpy+=	${PYPKGPREFIX}-numpy>=1.7
 .include "../../math/py-numpy/buildlink3.mk"
-.include "../../lang/python/egg.mk"
+.include "../../lang/python/wheel.mk"
 .include "../../mk/bsd.pkg.mk"
diff --git a/py-datashader/distinfo b/py-datashader/distinfo
index 007ad26dc6..7dbf522bbd 100644
--- a/py-datashader/distinfo
+++ b/py-datashader/distinfo
@@ -1,5 +1,5 @@
 $NetBSD$
 
-RMD160 (datashader-0.11.1.tar.gz) = 25b401df7ffe62ac6b59a64a7139059e4d036eb2
-SHA512 (datashader-0.11.1.tar.gz) = bbbcee3a208c8f4e0f312d4a8fe2b7d3601570745cdaf223afab36b7b721d57abbb30b142cb333f4e25e43404704451d498b1139fc875c0701f4e21e6d774cf4
-Size (datashader-0.11.1.tar.gz) = 30216200 bytes
+BLAKE2s (datashader-0.16.2.tar.gz) = 930779d9ac1e8202c30f0a87e5c014fabf5e052eac0e396e06f10ca17ad55014
+SHA512 (datashader-0.16.2.tar.gz) = ff5332440ab2563aeb794253ce13b80bba31305d710ab6c82aa45c7426a0718cd3db742ceb36fa57fda3bbaa29418e3626a7b71c77f3f02f33be04d8b355e7ed
+Size (datashader-0.16.2.tar.gz) = 35713921 bytes


Home | Main Index | Thread Index | Old Index