holoviz / datashader

Quickly and accurately render even the largest data.
http://datashader.org
BSD 3-Clause "New" or "Revised" License
3.24k stars 363 forks source link

Support pandas 2.1 #1276

Closed ianthomas23 closed 10 months ago

ianthomas23 commented 10 months ago

Now that there is a SpatialPandas RC the supports Pandas 2.1 (https://pypi.org/project/spatialpandas/0.4.9rc1/#files and https://anaconda.org/pyviz/spatialpandas/files), we can remove the temporary pin of #1275.

codecov[bot] commented 10 months ago

Codecov Report

Merging #1276 (c69d941) into main (7f43eda) will increase coverage by 0.01%. The diff coverage is 100.00%.

@@            Coverage Diff             @@
##             main    #1276      +/-   ##
==========================================
+ Coverage   83.53%   83.54%   +0.01%     
==========================================
  Files          35       35              
  Lines        9128     9134       +6     
==========================================
+ Hits         7625     7631       +6     
  Misses       1503     1503              
Files Changed Coverage Δ
datashader/bundling.py 98.64% <100.00%> (+0.02%) :arrow_up:

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more

ianthomas23 commented 10 months ago

It wasn't as easy as just removing the pandas pin. There were also problems in the edge bundling code when reading rows from a Pandas DataFrame; previously the code took whatever column order it was given which is not reliable when converting column names to deal with edge_id. Now we are using the recommended df.itertuples() and specifically extracting the columns in a particular order.

All of this code looks ripe for performance improvement eventually.