datashader
Data visualization toolchain based on aggregating into a grid
What it is and what it does
Datashader is a data rasterization library that transforms large datasets into images through a three-stage pipeline: projection (mapping records to grid bins), aggregation (computing reductions per bin), and transformation (processing aggregates into final images). It's designed to handle datasets too large for traditional plotting libraries by compressing them into smaller aggregate arrays before visualization.
The package works standalone or as a preprocessing layer for plotting libraries, allowing them to work with much larger datasets than they normally could handle. It depends on core scientific Python libraries (numpy, pandas, scipy, numba) for numerical computation and uses xarray for multidimensional data handling. The library supports Python 3.10, 3.11, 3.12, 3.13, and 3.14 and is actively maintained.
Use it for:
- Visualize large numbers of data points from CSV or database sources without memory overflow or rendering lag.
- Create density plots and aggregated views from high-resolution geospatial or time-series data.
- Preprocess massive datasets for use with interactive plotting libraries as a preprocessing stage.
- Aggregate and render scientific simulation outputs or sensor data streams into interpretable images.
- Build custom visualization pipelines by composing projection, aggregation, and transformation stages.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Datashader converts large datasets into accurate visual representations by rasterizing data through projection, aggregation, and transformation stages, enabling scalable visualization of millions of records.
Yes. Datashader is production-stable (Development Status 5), actively maintained, has no known vulnerabilities, and solves a real problem—visualizing datasets that would overwhelm traditional plotting tools. The low-friction install and well-established scientific dependencies make it a safe choice for data visualization pipelines at scale.
Install
datashader on PyPI
pip
pip install datashaderuv
uv add datashaderpoetry
poetry add datashaderInstalling datashader
Before you install
Low friction installation with a pure-Python wheel. Twelve runtime dependencies including numba, numpy, pandas, and scipy are well-maintained scientific libraries. Active maintenance with a release 87 days ago and ongoing repository activity.
License in practice
BSD-3-Clause is permissive; you can use, modify, and distribute datashader with minimal restrictions, provided you include the license notice.
Quickstart
pip install datashader
import datashader as ds
import pandas as pd
df = pd.read_csv('data.csv')
canvas = ds.Canvas()
agg = canvas.points(df, 'x', 'y')
image = ds.transfer_functions.shade(agg)
Verify before relying
- Specific performance characteristics and dataset size thresholds where datashader provides meaningful advantages.
- Compatibility and integration patterns with particular plotting libraries when used as a preprocessing stage.
Package facts
| License | BSD-3-Clause (permissive) |
| Python support | supports the current Python release (>=3.10) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 12 — colorcet, multipledispatch, numba, numpy, packaging, pandas, param, pyct, requests, scipy, toolz, xarray |
| Maintenance | actively maintained — 87 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 411,151/month — #6,859 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: datashader-0.19.1-py3-none-any.whl
Tags
More Libraries packages
urllib3 is an HTTP client library that provides…
permissive · top 100 on PyPI
requestsRequests is a Python HTTP library that…
permissive · top 100 on PyPI
pluggyPluggy provides a plugin system that lets you…
permissive · top 100 on PyPI
python-dateutilProvides parsing, arithmetic, and recurrence…
permissive · top 100 on PyPI
sixSix provides utility functions to write Python…
permissive · top 100 on PyPI
pytestpytest is a testing framework that lets you…
permissive · top 100 on PyPI
colorcetColorcet provides a collection of perceptually…
unclear · top 5,000 on PyPI
pandaspandas provides fast, flexible data structures…
permissive · top 100 on PyPI
xarray-spatialxarray-spatial provides 150+ functions for…
permissive · top 15,000 on PyPI
vispyVisPy is a GPU-accelerated 2D/3D visualization…
permissive · top 5,000 on PyPI
plotly-resamplerAdds dynamic data aggregation to Plotly…
permissive · top 15,000 on PyPI
holoviewsHoloViews lets you declare data structure and…
permissive · top 5,000 on PyPI
rasterixRasterix provides tools for analyzing raster…
permissive · top 15,000 on PyPI
hvplothvPlot provides a high-level plotting API that…
permissive · top 5,000 on PyPI
facets-overviewGenerates summary statistics for dataset…
permissive · top 15,000 on PyPI
plotbinPlotBin provides utilities to create and…
unclear · top 15,000 on PyPI