{ "cells": [ { "cell_type": "markdown", "id": "4b733923-e70a-46f4-b621-02cf46d0f997", "metadata": { "pycharm": { "name": "#%% md\n" } }, "source": [ "# All tools\n", "\n", "This page lists all open source Python GIS and Earth Observation libraries categorized into core (data structures), data processing, analysis and visualization. If you see any missing Python tools, please open a PR (see [instructions](contributing.html)). Tools are sorted alphabetically under each category. The [linkages](#linkages) section shows how the tools are connected to the broader Python ecosystem.\n", "\n", "Tables below list relevant information about the libraries, including:\n", " - links to the *Homepage* of the package (redirects after clicking the House character)\n", " - short *Info* (description) of the package: You can see the desciprtion by holding your mouse on top of the ⓘ character for a second \n", " - License\n", " - Latest PyPi and conda-forge version of the package\n", " - Number of downloads from PyPi or conda-forge\n", " - Latest release date " ] }, { "cell_type": "markdown", "id": "a00cfbb8-2032-46bf-a6d5-8e03d7190244", "metadata": {}, "source": [ "## Libraries" ] }, { "cell_type": "code", "execution_count": 81, "id": "c7a16054-407c-4f2c-a512-6d8a2033586b", "metadata": { "tags": [ "full-width", "hide-input" ] }, "outputs": [ { "data": { "text/html": [ "\n", "
Name | \n", "Homepage | \n", "License | \n", "PyPi version | \n", "PyPi downloads (monthly) | \n", "Conda-forge version | \n", "Conda-forge downloads | \n", "Conda-forge latest release | \n", "
---|---|---|---|---|---|---|---|
GDAL | \n", "🏠 | \n", "\n", " | \n", " | 179,476 | \n", "\n", " | \n", " | \n", " |
GEOS | \n", "🏠 | \n", "\n", " | \n", " | 48,017 | \n", "\n", " | \n", " | \n", " |
PDAL | \n", "🏠 | \n", "\n", " | \n", " | 2,020 | \n", "\n", " | \n", " | \n", " |
PROJ | \n", "🏠 | \n", "\n", " | \n", " | 8,137 | \n", "\n", " | \n", " | \n", " |
access | \n", "🏠 | \n", "\n", " | \n", " | 26,600 | \n", "\n", " | \n", " | \n", " |
affine | \n", "🏠 | \n", "\n", " | \n", " | 673,504 | \n", "\n", " | \n", " | \n", " |
astropy | \n", "🏠 | \n", "\n", " | \n", " | 548,826 | \n", "\n", " | \n", " | \n", " |
basemap | \n", "🏠 | \n", "\n", " | \n", " | 18,552 | \n", "\n", " | \n", " | \n", " |
bokeh | \n", "🏠 | \n", "\n", " | \n", " | 2,781,728 | \n", "\n", " | \n", " | \n", " |
cartopy | \n", "🏠 | \n", "\n", " | \n", " | 124,057 | \n", "\n", " | \n", " | \n", " |
contextily | \n", "🏠 | \n", "\n", " | \n", " | 71,077 | \n", "\n", " | \n", " | \n", " |
cudf | \n", "🏠 | \n", "\n", " | \n", " | 1,719 | \n", "\n", " | \n", " | \n", " |
cuspatial | \n", "🏠 | \n", "\n", " | \n", " | 26 | \n", "\n", " | \n", " | \n", " |
dask | \n", "🏠 | \n", "\n", " | \n", " | 8,421,713 | \n", "\n", " | \n", " | \n", " |
dask-geopandas | \n", "🏠 | \n", "\n", " | \n", " | 7,160 | \n", "\n", " | \n", " | \n", " |
datashader | \n", "🏠 | \n", "\n", " | \n", " | 48,484 | \n", "\n", " | \n", " | \n", " |
earthengine-api | \n", "🏠 | \n", "\n", " | \n", " | 36,212 | \n", "\n", " | \n", " | \n", " |
earthpy | \n", "🏠 | \n", "\n", " | \n", " | 8,458 | \n", "\n", " | \n", " | \n", " |
easystac | \n", "🏠 | \n", "\n", " | \n", " | 110 | \n", "\n", " | \n", " | \n", " |
eemont | \n", "🏠 | \n", "\n", " | \n", " | 700 | \n", "\n", " | \n", " | \n", " |
eomaps | \n", "🏠 | \n", "\n", " | \n", " | 836 | \n", "\n", " | \n", " | \n", " |
esda | \n", "🏠 | \n", "\n", " | \n", " | 43,532 | \n", "\n", " | \n", " | \n", " |
fiona | \n", "🏠 | \n", "\n", " | \n", " | 2,605,728 | \n", "\n", " | \n", " | \n", " |
folium | \n", "🏠 | \n", "\n", " | \n", " | 903,894 | \n", "\n", " | \n", " | \n", " |
geemap | \n", "🏠 | \n", "\n", " | \n", " | 13,274 | \n", "\n", " | \n", " | \n", " |
gempy | \n", "🏠 | \n", "\n", " | \n", " | 1,069 | \n", "\n", " | \n", " | \n", " |
geoalchemy2 | \n", "🏠 | \n", "\n", " | \n", " | 490,710 | \n", "\n", " | \n", " | \n", " |
geocube | \n", "🏠 | \n", "\n", " | \n", " | 3,221 | \n", "\n", " | \n", " | \n", " |
geographiclib | \n", "🏠 | \n", "\n", " | \n", " | 3,418,834 | \n", "\n", " | \n", " | \n", " |
geojson | \n", "🏠 | \n", "\n", " | \n", " | 818,897 | \n", "\n", " | \n", " | \n", " |
geopandas | \n", "🏠 | \n", "\n", " | \n", " | 2,406,025 | \n", "\n", " | \n", " | \n", " |
geoplot | \n", "🏠 | \n", "\n", " | \n", " | 7,769 | \n", "\n", " | \n", " | \n", " |
geopy | \n", "🏠 | \n", "\n", " | \n", " | 4,544,815 | \n", "\n", " | \n", " | \n", " |
geosnap | \n", "🏠 | \n", "\n", " | \n", " | 162 | \n", "\n", " | \n", " | \n", " |
geoviews | \n", "🏠 | \n", "\n", " | \n", " | 7,881 | \n", "\n", " | \n", " | \n", " |
giddy | \n", "🏠 | \n", "\n", " | \n", " | 23,704 | \n", "\n", " | \n", " | \n", " |
gstools | \n", "🏠 | \n", "\n", " | \n", " | 2,063 | \n", "\n", " | \n", " | \n", " |
h3 | \n", "🏠 | \n", "\n", " | \n", " | 1,497,900 | \n", "\n", " | \n", " | \n", " |
holoviews | \n", "🏠 | \n", "\n", " | \n", " | 306,702 | \n", "\n", " | \n", " | \n", " |
hvplot | \n", "🏠 | \n", "\n", " | \n", " | 129,618 | \n", "\n", " | \n", " | \n", " |
inequality | \n", "🏠 | \n", "\n", " | \n", " | 23,266 | \n", "\n", " | \n", " | \n", " |
iris | \n", "🏠 | \n", "\n", " | \n", " | 951 | \n", "\n", " | \n", " | \n", " |
keplergl | \n", "🏠 | \n", "\n", " | \n", " | 101,559 | \n", "\n", " | \n", " | \n", " |
laspy | \n", "🏠 | \n", "\n", " | \n", " | 27,799 | \n", "\n", " | \n", " | \n", " |
leafmap | \n", "🏠 | \n", "\n", " | \n", " | 3,359 | \n", "\n", " | \n", " | \n", " |
legendgram | \n", "🏠 | \n", "\n", " | \n", " | 37 | \n", "\n", " | \n", " | \n", " |
libpysal | \n", "🏠 | \n", "\n", " | \n", " | 60,019 | \n", "\n", " | \n", " | \n", " |
lidar | \n", "🏠 | \n", "\n", " | \n", " | 283 | \n", "\n", " | \n", " | \n", " |
mapclassify | \n", "🏠 | \n", "\n", " | \n", " | 69,118 | \n", "\n", " | \n", " | \n", " |
matplotlib | \n", "🏠 | \n", "\n", " | \n", " | 28,517,903 | \n", "\n", " | \n", " | \n", " |
mesa | \n", "🏠 | \n", "\n", " | \n", " | 3,303 | \n", "\n", " | \n", " | \n", " |
mesa-geo | \n", "🏠 | \n", "\n", " | \n", " | 599 | \n", "\n", " | \n", " | \n", " |
mgwr | \n", "🏠 | \n", "\n", " | \n", " | 24,323 | \n", "\n", " | \n", " | \n", " |
momepy | \n", "🏠 | \n", "\n", " | \n", " | 28,009 | \n", "\n", " | \n", " | \n", " |
movingpandas | \n", "🏠 | \n", "\n", " | \n", " | 2,904 | \n", "\n", " | \n", " | \n", " |
netcdf4 | \n", "🏠 | \n", "\n", " | \n", " | 1,117,116 | \n", "\n", " | \n", " | \n", " |
networkx | \n", "🏠 | \n", "\n", " | \n", " | 20,510,717 | \n", "\n", " | \n", " | \n", " |
numba | \n", "🏠 | \n", "\n", " | \n", " | 9,061,065 | \n", "\n", " | \n", " | \n", " |
numpy | \n", "🏠 | \n", "\n", " | \n", " | 115,380,482 | \n", "\n", " | \n", " | \n", " |
obspy | \n", "🏠 | \n", "\n", " | \n", " | 78,884 | \n", "\n", " | \n", " | \n", " |
odc-stac | \n", "🏠 | \n", "\n", " | \n", " | 986 | \n", "\n", " | \n", " | \n", " |
osmnet | \n", "🏠 | \n", "\n", " | \n", " | 4,705 | \n", "\n", " | \n", " | \n", " |
osmnx | \n", "🏠 | \n", "\n", " | \n", " | 70,199 | \n", "\n", " | \n", " | \n", " |
owslib | \n", "🏠 | \n", "\n", " | \n", " | 33,250 | \n", "\n", " | \n", " | \n", " |
pandana | \n", "🏠 | \n", "\n", " | \n", " | 1,643 | \n", "\n", " | \n", " | \n", " |
pandas | \n", "🏠 | \n", "\n", " | \n", " | 88,630,110 | \n", "\n", " | \n", " | \n", " |
pandas-bokeh | \n", "🏠 | \n", "\n", " | \n", " | 13,031 | \n", "\n", " | \n", " | \n", " |
planetary-computer | \n", "🏠 | \n", "\n", " | \n", " | 2,795 | \n", "\n", " | \n", " | \n", " |
plotly | \n", "🏠 | \n", "\n", " | \n", " | 7,578,659 | \n", "\n", " | \n", " | \n", " |
pointpats | \n", "🏠 | \n", "\n", " | \n", " | 23,870 | \n", "\n", " | \n", " | \n", " |
proplot | \n", "🏠 | \n", "\n", " | \n", " | 1,755 | \n", "\n", " | \n", " | \n", " |
pyarrow | \n", "🏠 | \n", "\n", " | \n", " | 51,870,623 | \n", "\n", " | \n", " | \n", " |
pycrs | \n", "🏠 | \n", "\n", " | \n", " | 16,887 | \n", "\n", " | \n", " | \n", " |
pydeck | \n", "🏠 | \n", "\n", " | \n", " | 844,418 | \n", "\n", " | \n", " | \n", " |
pyepsg | \n", "🏠 | \n", "\n", " | \n", " | 67,145 | \n", "\n", " | \n", " | \n", " |
pygeos | \n", "🏠 | \n", "\n", " | \n", " | 171,470 | \n", "\n", " | \n", " | \n", " |
pygmt | \n", "🏠 | \n", "\n", " | \n", " | 1,407 | \n", "\n", " | \n", " | \n", " |
pyinterpolate | \n", "🏠 | \n", "\n", " | \n", " | 117 | \n", "\n", " | \n", " | \n", " |
pykrige | \n", "🏠 | \n", "\n", " | \n", " | 18,550 | \n", "\n", " | \n", " | \n", " |
pymap3d | \n", "🏠 | \n", "\n", " | \n", " | 41,451 | \n", "\n", " | \n", " | \n", " |
pyntcloud | \n", "🏠 | \n", "\n", " | \n", " | 8,362 | \n", "\n", " | \n", " | \n", " |
pyogrio | \n", "🏠 | \n", "\n", " | \n", " | 1,145 | \n", "\n", " | \n", " | \n", " |
pyproj | \n", "🏠 | \n", "\n", " | \n", " | 4,328,859 | \n", "\n", " | \n", " | \n", " |
pyrosar | \n", "🏠 | \n", "\n", " | \n", " | 491 | \n", "\n", " | \n", " | \n", " |
pyrosm | \n", "🏠 | \n", "\n", " | \n", " | 6,442 | \n", "\n", " | \n", " | \n", " |
pysal | \n", "🏠 | \n", "\n", " | \n", " | 27,846 | \n", "\n", " | \n", " | \n", " |
pysheds | \n", "🏠 | \n", "\n", " | \n", " | 921 | \n", "\n", " | \n", " | \n", " |
pyshp | \n", "🏠 | \n", "\n", " | \n", " | 356,639 | \n", "\n", " | \n", " | \n", " |
pyspatialml | \n", "🏠 | \n", "\n", " | \n", " | 95 | \n", "\n", " | \n", " | \n", " |
pystac | \n", "🏠 | \n", "\n", " | \n", " | 32,119 | \n", "\n", " | \n", " | \n", " |
pystac-client | \n", "🏠 | \n", "\n", " | \n", " | 9,842 | \n", "\n", " | \n", " | \n", " |
python-igraph | \n", "🏠 | \n", "\n", " | \n", " | 241,827 | \n", "\n", " | \n", " | \n", " |
pyvista | \n", "🏠 | \n", "\n", " | \n", " | 149,262 | \n", "\n", " | \n", " | \n", " |
r5py | \n", "🏠 | \n", "\n", " | \n", " | 22 | \n", "\n", " | \n", " | \n", " |
radiant-mlhub | \n", "🏠 | \n", "\n", " | \n", " | 5,836 | \n", "\n", " | \n", " | \n", " |
rasterio | \n", "🏠 | \n", "\n", " | \n", " | 755,843 | \n", "\n", " | \n", " | \n", " |
rasterstats | \n", "🏠 | \n", "\n", " | \n", " | 61,296 | \n", "\n", " | \n", " | \n", " |
richdem | \n", "🏠 | \n", "\n", " | \n", " | 2,129 | \n", "\n", " | \n", " | \n", " |
rio-cogeo | \n", "🏠 | \n", "\n", " | \n", " | 12,869 | \n", "\n", " | \n", " | \n", " |
rio-color | \n", "🏠 | \n", "\n", " | \n", " | 8,170 | \n", "\n", " | \n", " | \n", " |
rio-hist | \n", "🏠 | \n", "\n", " | \n", " | 364 | \n", "\n", " | \n", " | \n", " |
rio-mucho | \n", "🏠 | \n", "\n", " | \n", " | 8,847 | \n", "\n", " | \n", " | \n", " |
rio-tiler | \n", "🏠 | \n", "\n", " | \n", " | 8,237 | \n", "\n", " | \n", " | \n", " |
rioxarray | \n", "🏠 | \n", "\n", " | \n", " | 36,151 | \n", "\n", " | \n", " | \n", " |
rtree | \n", "🏠 | \n", "\n", " | \n", " | 974,019 | \n", "\n", " | \n", " | \n", " |
salem | \n", "🏠 | \n", "\n", " | \n", " | 5,834 | \n", "\n", " | \n", " | \n", " |
sarpy | \n", "🏠 | \n", "\n", " | \n", " | 943 | \n", "\n", " | \n", " | \n", " |
sarsen | \n", "🏠 | \n", "\n", " | \n", " | 54 | \n", "\n", " | \n", " | \n", " |
satpy | \n", "🏠 | \n", "\n", " | \n", " | 3,498 | \n", "\n", " | \n", " | \n", " |
scikit-image | \n", "🏠 | \n", "\n", " | \n", " | 8,905,289 | \n", "\n", " | \n", " | \n", " |
scikit-learn | \n", "🏠 | \n", "\n", " | \n", " | 33,204,319 | \n", "\n", " | \n", " | \n", " |
scikit-mobility | \n", "🏠 | \n", "\n", " | \n", " | 7,724 | \n", "\n", " | \n", " | \n", " |
scipy | \n", "🏠 | \n", "\n", " | \n", " | 43,041,886 | \n", "\n", " | \n", " | \n", " |
seaborn | \n", "🏠 | \n", "\n", " | \n", " | 9,264,779 | \n", "\n", " | \n", " | \n", " |
segregation | \n", "🏠 | \n", "\n", " | \n", " | 24,599 | \n", "\n", " | \n", " | \n", " |
sentinelsat | \n", "🏠 | \n", "\n", " | \n", " | 12,394 | \n", "\n", " | \n", " | \n", " |
shapely | \n", "🏠 | \n", "\n", " | \n", " | 7,085,616 | \n", "\n", " | \n", " | \n", " |
snkit | \n", "🏠 | \n", "\n", " | \n", " | 29 | \n", "\n", " | \n", " | \n", " |
spaghetti | \n", "🏠 | \n", "\n", " | \n", " | 23,282 | \n", "\n", " | \n", " | \n", " |
spglm | \n", "🏠 | \n", "\n", " | \n", " | 24,219 | \n", "\n", " | \n", " | \n", " |
spint | \n", "🏠 | \n", "\n", " | \n", " | 23,187 | \n", "\n", " | \n", " | \n", " |
splot | \n", "🏠 | \n", "\n", " | \n", " | 23,734 | \n", "\n", " | \n", " | \n", " |
spopt | \n", "🏠 | \n", "\n", " | \n", " | 23,186 | \n", "\n", " | \n", " | \n", " |
spreg | \n", "🏠 | \n", "\n", " | \n", " | 24,569 | \n", "\n", " | \n", " | \n", " |
spvcm | \n", "🏠 | \n", "\n", " | \n", " | 23,199 | \n", "\n", " | \n", " | \n", " |
spyndex | \n", "🏠 | \n", "\n", " | \n", " | 356 | \n", "\n", " | \n", " | \n", " |
stackstac | \n", "🏠 | \n", "\n", " | \n", " | 1,235 | \n", "\n", " | \n", " | \n", " |
statsmodels | \n", "🏠 | \n", "\n", " | \n", " | 9,952,445 | \n", "\n", " | \n", " | \n", " |
tobler | \n", "🏠 | \n", "\n", " | \n", " | 24,794 | \n", "\n", " | \n", " | \n", " |
trackintel | \n", "🏠 | \n", "\n", " | \n", " | 349 | \n", "\n", " | \n", " | \n", " |
transbigdata | \n", "🏠 | \n", "\n", " | \n", " | 580 | \n", "\n", " | \n", " | \n", " |
urbanaccess | \n", "🏠 | \n", "\n", " | \n", " | 247 | \n", "\n", " | \n", " | \n", " |
urbansim | \n", "🏠 | \n", "\n", " | \n", " | 240 | \n", "\n", " | \n", " | \n", " |
vaex | \n", "🏠 | \n", "\n", " | \n", " | 70,255 | \n", "\n", " | \n", " | \n", " |
verde | \n", "🏠 | \n", "\n", " | \n", " | 731 | \n", "\n", " | \n", " | \n", " |
vizent | \n", "🏠 | \n", "\n", " | \n", " | 12 | \n", "\n", " | \n", " | \n", " |
whitebox | \n", "🏠 | \n", "\n", " | \n", " | 14,594 | \n", "\n", " | \n", " | \n", " |
xarray | \n", "🏠 | \n", "\n", " | \n", " | 1,705,385 | \n", "\n", " | \n", " | \n", " |
xarray-sentinel | \n", "🏠 | \n", "\n", " | \n", " | 79 | \n", "\n", " | \n", " | \n", " |
xarray-spatial | \n", "🏠 | \n", "\n", " | \n", " | 2,074 | \n", "\n", " | \n", " | \n", " |
xarray_leaflet | \n", "🏠 | \n", "\n", " | \n", " | 1,026 | \n", "\n", " | \n", " | \n", " |
xyzservices | \n", "🏠 | \n", "\n", " | \n", " | 165,745 | \n", "\n", " | \n", " | \n", " |
zarr | \n", "🏠 | \n", "\n", " | \n", " | 470,875 | \n", "\n", " | \n", " | \n", " |