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

Vendor datashape #1284

Closed ianthomas23 closed 9 months ago

ianthomas23 commented 9 months ago

Fixes #1003.

Datashape does not import on Python 3.12. The project is unmaintained, there hasn't been a release on PyPI since 2016 and the latest git commit was 4 years ago. This PR vendors the source code within Datashader and removes the install dependency.

The Datashape test suite is also included and will be automatically run in CI. It takes less than 3 seconds to run on my dev machine so it will not noticeably affect CI run times.

codecov[bot] commented 9 months ago

Codecov Report

Merging #1284 (aa8ea30) into main (f79f47a) will increase coverage by 2.21%. The diff coverage is 97.51%.

@@            Coverage Diff             @@
##             main    #1284      +/-   ##
==========================================
+ Coverage   83.52%   85.74%   +2.21%     
==========================================
  Files          35       52      +17     
  Lines        9145    10870    +1725     
==========================================
+ Hits         7638     9320    +1682     
- Misses       1507     1550      +43     
Files Coverage Δ
datashader/datashape/__init__.py 100.00% <100.00%> (ø)
datashader/datashape/dispatch.py 100.00% <100.00%> (ø)
datashader/datashape/lexer.py 100.00% <100.00%> (ø)
datashader/datashape/predicates.py 100.00% <100.00%> (ø)
datashader/datashape/promote.py 100.00% <100.00%> (ø)
datashader/datashape/py2help.py 100.00% <100.00%> (ø)
datashader/datashape/type_symbol_table.py 100.00% <100.00%> (ø)
datashader/datashape/util/__init__.py 100.00% <100.00%> (ø)
datashader/reductions.py 80.62% <100.00%> (ø)
datashader/utils.py 76.64% <100.00%> (ø)
... and 9 more

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

ianthomas23 commented 9 months ago

Passes CI and successfully builds packages and docs.