geemap
A Python package for interactive mapping using Google Earth Engine and ipyleaflet
What it is and what it does
Geemap bridges the gap between Google Earth Engine's Python API and interactive Jupyter-based workflows. It wraps Earth Engine's computational backend with ipyleaflet and ipywidgets to enable live map visualization, data inspection, and export—tasks that are cumbersome in the raw Earth Engine Python API. The package is built for students, researchers, and GEE JavaScript users transitioning to Python, and includes tools to convert existing GEE JavaScripts to Python automatically.
The package handles satellite imagery, geospatial datasets, and raster and vector operations through Earth Engine's catalog. It supports interactive drawing, split-panel maps, timeseries inspection, image classification, zonal statistics, and export to formats like GeoTIFF, shapefile, and GeoJSON. All visualization and interaction happen within Jupyter cells, making it suitable for exploratory analysis and reproducible research workflows.
Use it for:
- Explore and visualize satellite imagery and geospatial datasets interactively in Jupyter notebooks.
- Convert existing GEE JavaScript code to Python scripts and notebooks automatically.
- Perform zonal statistics, image classification, and accuracy assessment on Earth Engine data.
- Create animated timelapse visualizations of landscape changes over time.
- Export Earth Engine results as GeoTIFF, shapefile, or CSV for downstream analysis.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Geemap provides interactive geospatial analysis and visualization of Google Earth Engine datasets within Jupyter notebooks, with tools for mapping, data inspection, and export.
Yes, if you work with Google Earth Engine and want interactive Jupyter-based analysis. The package is actively maintained, has no known vulnerabilities, and low install friction. Requires a GEE account and Python 3.12 or later, and the 19 dependencies add bulk but are all standard geospatial tools. Ideal for research, education, and exploratory geospatial work; less suitable if you need a standalone command-line tool or non-Jupyter environment.
Install
geemap on PyPI
pip
pip install geemapuv
uv add geemappoetry
poetry add geemapInstalling geemap
Before you install
Low install friction with a pure Python wheel and active maintenance—last release 49 days ago with 4013 GitHub stars. Requires Python 3.12 or later and pulls in 19 runtime dependencies including ipyleaflet, folium, and earthengine-api, all standard geospatial libraries.
License in practice
MIT license (permissive) places no restrictions on use, modification, or distribution in commercial or private projects.
Quickstart
pip install geemap
import geemap
m = geemap.Map()
m
Requires a Google Earth Engine account and authentication; geemap will prompt for credentials on first use within a Jupyter environment.
Verify before relying
- Whether the 19 runtime dependencies are all required or some are optional for specific features.
- Performance characteristics when working with large Earth Engine datasets or high-resolution imagery.
- Compatibility with non-Jupyter environments (e.g., standard Python scripts or other IDEs).
- Specific coordinate systems and zoom levels supported by the Map constructor.
Package facts
| License | MIT (permissive) |
| Python support | supports the current Python release (>=3.12) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 19 — anywidget, bqplot, earthengine-api, eerepr, folium, geocoder, ipyevents, ipyfilechooser, ipyleaflet, matplotlib, numpy, pandas, plotly, pyperclip, pyshp, python-box, requests, scooby, xarray |
| Maintenance | actively maintained — 49 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 166,131/month — #10,508 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: geemap-0.38.3-py3-none-any.whl
Keywords: geemap
Tags
More Information Analysis packages
A drop-in replacement for Python's standard…
permissive · top 100 on PyPI
pyarrowpyarrow provides Python bindings to Apache…
permissive · top 100 on PyPI
networkxNetworkX provides data structures and…
permissive · top 1,000 on PyPI
snowflake-connector-pythonConnects Python applications to Snowflake data…
permissive · top 1,000 on PyPI
contourpyContourPy calculates contours of 2D…
permissive · top 1,000 on PyPI
snowflake-snowpark-pythonSnowpark Python provides APIs to query and…
permissive · top 1,000 on PyPI
earthengine-apiPython client library for Google Earth Engine,…
permissive · top 15,000 on PyPI
eereprAdds interactive HTML representations to Earth…
permissive · top 15,000 on PyPI
leafmapLeafmap enables interactive geospatial mapping…
permissive · top 15,000 on PyPI
whiteboxguiProvides an interactive graphical interface for…
permissive · top 15,000 on PyPI
jupyter-leafletjupyter-leaflet provides interactive map…
permissive · top 15,000 on PyPI
whiteboxWhitebox is a Python frontend to WhiteboxTools,…
permissive · top 15,000 on PyPI
xeeXee is an Xarray backend that lets you open…
permissive · top 15,000 on PyPI
torchgeoTorchGeo provides PyTorch datasets, samplers,…
permissive · top 15,000 on PyPI
sentinelhubsentinelhub provides a Python interface to…
permissive · top 15,000 on PyPI
datacubeDatacube provides an integrated gridded data…
permissive · top 15,000 on PyPI