whitebox
An advanced geospatial data analysis platform
What it is and what it does
Whitebox is a Python wrapper around WhiteboxTools, an advanced geospatial analysis platform developed at the University of Guelph. It provides access to a large library of tools for processing raster data in GIS, remote sensing, hydrological, terrain, and LiDAR analysis workflows. The package is designed as an analytical backend—it performs computations on spatial data but is not a visualization or cartography tool; users typically pair it with separate GIS or plotting software.
The library supports common raster formats including GeoTIFF, ESRI ASCII, GRASS GIS, and others. Tools are callable using either snake_case or CamelCase naming conventions. A graphical interface (WhiteboxTools Runner) is also available. Installation is simple and the package has minimal dependencies, requiring only Click.
Use it for:
- Automate watershed delineation, flow accumulation, and stream network analysis for hydrological studies
- Process and classify LiDAR point clouds, generate DEMs, and perform terrain indexing (slope, curvature, wetness)
- Apply image enhancement, filtering, and k-means classification to remote sensing imagery
- Perform cost-distance analysis, buffer operations, and raster reclassification in GIS workflows
- Batch process large raster datasets using Python scripts without manual GIS GUI interaction
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Whitebox is a Python frontend to WhiteboxTools, a geospatial analysis platform that performs GIS operations, remote sensing tasks, hydrological analysis, terrain analysis, and LiDAR processing on raster data.
Yes, if you need a scriptable, lightweight backend for geospatial raster analysis. The package is well-maintained, has no known vulnerabilities, and low install friction. The aging status (537 days since last release) is a minor concern but the repository is still active. Best suited for developers who want programmatic access to GIS and terrain analysis tools rather than a full interactive GIS environment.
Install
whitebox on PyPI
pip
pip install whiteboxuv
uv add whiteboxpoetry
poetry add whiteboxInstalling whitebox
Before you install
Installation is straightforward with low friction—a pure Python wheel with only Click as a runtime dependency. The package is aging (537 days since last release) but the repository remains active with recent commits and no archived status.
License in practice
Distributed under the MIT license, a permissive open-source license that allows commercial and private use with minimal restrictions.
Quickstart
pip install whitebox
import whitebox
wbt = whitebox.WhiteboxTools()
wbt.set_working_dir('/path/to/data')
wbt.feature_preserving_smoothing('input.tif', 'output.tif', filter=9)
On Linux, if '_tkinter' import fails, install python3-tk system package. GLIBC compatibility issues may require setting WBT_LINUX=MUSL environment variable before import.
Verify before relying
- Whether the 518 tools mentioned in the description are all accessible and functional in version 2.3.6
- Current Python version support—classifiers list 3.4–3.6 but requires_python is unspecified
- Performance characteristics and memory requirements for large LiDAR datasets
Package facts
| License | MIT license (permissive) |
| Python support | not specified |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 1 — Click |
| Maintenance | aging — 537 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 122,987/month — #11,926 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: whitebox-2.3.6-py2.py3-none-any.whl
Keywords: whitebox
Tags
More Scientific/Engineering packages
NumPy provides an N-dimensional array object…
permissive · top 100 on PyPI
pandaspandas provides fast, flexible data structures…
permissive · top 100 on PyPI
scipyscipy provides numerical algorithms for…
permissive · top 100 on PyPI
scikit-learnscikit-learn provides a comprehensive Python…
permissive · top 1,000 on PyPI
dilldill extends Python's pickle module to…
permissive · top 1,000 on PyPI
multiprocessMultiprocess is an enhanced fork of Python's…
permissive · top 1,000 on PyPI
whiteboxguiProvides an interactive graphical interface for…
permissive · top 15,000 on PyPI
leafmapLeafmap enables interactive geospatial mapping…
permissive · top 15,000 on PyPI
geemapGeemap provides interactive geospatial analysis…
permissive · top 15,000 on PyPI
arcgisAccess Esri's ArcGIS services and geospatial…
unclear · top 15,000 on PyPI
earthengine-apiPython client library for Google Earth Engine,…
permissive · top 15,000 on PyPI
xarray-spatialxarray-spatial provides 150+ functions for…
permissive · top 15,000 on PyPI
rasterioRasterio reads and writes geospatial raster…
permissive · top 5,000 on PyPI
rasterstatsRasterstats computes summary statistics (mean,…
permissive · top 15,000 on PyPI
datacubeDatacube provides an integrated gridded data…
permissive · top 15,000 on PyPI
geopandasGeoPandas extends pandas DataFrames to handle…
permissive · top 1,000 on PyPI