xee
A Google Earth Engine extension for Xarray.
What it is and what it does
Xee bridges Google Earth Engine and the scientific Python ecosystem by implementing an Xarray backend engine. It lets you treat Earth Engine Image and ImageCollection objects as lazy Xarray Datasets, deferring computation until you explicitly request data. This means you can use familiar Xarray, NumPy, and Dask workflows on Earth observation data without downloading entire collections locally.
The package handles the complexity of grid definition, coordinate reference systems, and parallel pixel retrieval through Earth Engine's API. It supports flexible output grids (fixed resolution or fixed shape), maintains CF-compliant dimension ordering (time, y, x), and integrates with Dask for distributed computation. You authenticate once to Earth Engine, then open datasets by specifying grid parameters—Xee handles lazy loading and chunked retrieval in the background.
Use it for:
- Load monthly climate data as an Xarray Dataset and perform time-series analysis without downloading gigabytes locally.
- Define a fixed-resolution grid over a region of interest and retrieve satellite imagery in parallel chunks.
- Combine multiple Earth Engine collections into a single Xarray Dataset for multi-source geospatial analysis.
- Prototype Earth observation workflows interactively using Xarray's labeled arrays and familiar operations.
- Build production pipelines that lazily stream Earth Engine data into scientific Python tools.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Xee is an Xarray backend that lets you open Google Earth Engine Image and ImageCollection objects as lazy Xarray Datasets, enabling analysis of Earth observation data using the scientific Python stack.
Yes, if you work with Google Earth Engine data and want to use the scientific Python stack. The package is actively maintained, has no known vulnerabilities, and low install friction. The v0.1.0 breaking changes are a consideration—check the migration guide if upgrading—but the permissive license and modern Python support (3.11+) make it a solid choice for geospatial analysis workflows.
Install
xee on PyPI
pip
pip install xeeuv
uv add xeepoetry
poetry add xeeInstalling xee
Before you install
Low install friction with a pure-Python wheel. Actively maintained with a recent release (31 days old) and active repository status. Requires Python 3.11 or later and five runtime dependencies: xarray, earthengine-api, pyproj, affine, and shapely.
License in practice
Apache 2.0 permissive license allows commercial and private use with minimal restrictions; you must include a copy of the license and state significant changes, but there are no copyleft obligations.
Quickstart
pip install xee
import xarray as xr
from xee import helpers
# After earthengine authenticate and project setup
ic = ee.ImageCollection('ECMWF/ERA5_LAND/MONTHLY_AGGR')
grid = helpers.extract_grid_params(ic)
ds = xr.open_dataset(ic, engine='ee', **grid)
Requires Google Earth Engine authentication via earthengine authenticate and a registered Google Cloud project ID.
Verify before relying
- Whether the breaking changes in v0.1.0 affect common workflows or only edge cases
- Performance characteristics and memory overhead for typical petabyte-scale queries
- Dask integration specifics and recommended chunking strategies
Package facts
| License | Apache-2.0 (permissive) |
| Python support | supports the current Python release (>=3.11) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 5 — xarray, earthengine-api, pyproj, affine, shapely |
| Maintenance | actively maintained — 31 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 90,898/month — #13,557 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: xee-0.1.2-py3-none-any.whl
Tags
More Atmospheric Science packages
Albumentations applies image transformations to…
permissive · top 5,000 on PyPI
measurementProvides unit-aware measurement objects for…
permissive · top 5,000 on PyPI
chemicalsRetrieves and calculates chemical properties…
permissive · top 15,000 on PyPI
thermoThermo calculates temperature and…
permissive · top 15,000 on PyPI
cwltoolcwltool is the reference implementation of the…
permissive · top 15,000 on PyPI
MetPyMetPy provides tools for reading, visualizing,…
permissive · top 15,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
datacubeDatacube provides an integrated gridded data…
permissive · top 15,000 on PyPI
geemapGeemap provides interactive geospatial analysis…
permissive · top 15,000 on PyPI
spatial_imagespatial-image provides an N-dimensional spatial…
permissive · top 15,000 on PyPI
xprojXProj is an Xarray extension that provides…
permissive · top 15,000 on PyPI
odc-loaderConstructs xarray objects from parsed…
permissive · top 15,000 on PyPI
herbie-dataHerbie downloads numerical weather prediction…
permissive · top 15,000 on PyPI
rioxarrayrioxarray extends xarray with geospatial and…
permissive · top 5,000 on PyPI
odc-geoProvides projection-aware geometry classes…
permissive · top 15,000 on PyPI