Change Log#
0.10.0 (2026-07-07)#
Feat#
- dem: add anonymous Copernicus DEM backend (M3) (#699)
- cmip6: add backend for the raw CMIP6 archive on gs://cmip6 (#700)
- goes: add earthlens.goes NOAA GOES-R ABI backend (#679)
- jaxa: add P-Tree Himawari HSD protocol branch (third JAXA protocol) (#677)
- air-quality: add airnow, eea_aq & sensor_community ground-obs backends (#676)
- add aifs-ens NWP row and optional ecmwf-modern client (#678)
- base: add HttpClient and region_affinity, migrate 10 backends onto them (#667)
- nwp: add mode={subset,whole} download override and catalog title/description (#655)
- ecmwf: add EWDS endpoint with per-endpoint CADS routing and GloFAS forecast (#656)
- soilgrids: add earthlens.soilgrids backend (ISRIC SoilGrids 2.0 via OGC WCS) (#633)
- eumetsat: add Data Tailor server-side customisation (tailor=) (#650)
- drought: add earthlens.drought backend (USDM, EDO/GDO, SPEIbase) (#514)
- glaciers: add earthlens.glaciers backend (RGI 7.0 + GLIMS + WGMS) (#612)
- osm: add earthlens.osm backend (OpenStreetMap via Overpass + ohsome) (#622)
- admin: add earthlens.admin backend (geoBoundaries / CGAZ / Natural Earth / TIGER) (#593)
- nrel: add earthlens.nrel backend (NREL NSRDB + WIND Toolkit time series) (#563)
- solar-wind-atlas: add earthlens.solar_wind_atlas backend (M26) (#562)
- risk-indicators: add earthlens.risk_indicators backend (ThinkHazard! + INFORM + GFW) (#583)
- pvgis: add earthlens.pvgis backend (JRC PVGIS 5.3 solar / PV time series) (#543)
- climate-indices: add earthlens.climate_indices backend (NOAA PSL + KNMI Climate Explorer) (#532)
- argo: add earthlens.argo backend for Argo float ocean profiles (#504)
- erddap: add generic ERDDAP backend (griddap raster / tabledap tabular) (#490)
- bathymetry: add earthlens.bathymetry DEM backend (GEBCO 2020 + ETOPO1) (#503)
- add the biodiversity backend cluster (gbif, obis, wdpa, iucn) (#470)
- add the biodiversity backend cluster (gbif, obis, wdpa, iucn)
Four new provider backends share one request shape (taxon / species /
area selector over a bbox) and a small set of helpers:
- gbif (anonymous, pygbif) -> vector occurrence FeatureCollection
- obis (anonymous, pyobis) -> vector occurrence FeatureCollection
- wdpa / protected-planet (WDPA_TOKEN ?token=) -> vector polygons
- iucn / redlist (IUCN_TOKEN Bearer) -> tabular DataFrame
Shared in earthlens.biodiversity:
- wkt_from_bbox: SpatialExtent -> ccw POLYGON((...)) for geometry=
- occurrences_to_fc: pygbif list[dict] / pyobis DataFrame ->
EPSG:4326 points FeatureCollection (modelled on fdsn.events) - LicenseWarning / warn_license: promoted out of overture/_helpers
with re-export so overture's is-identity is preserved (G8)
Each backend ships a catalog.py + curated YAML matching the standard
subpackage layout, plus a richer available_datasets index (gbif 36
taxa, obis 30 marine groups, wdpa/iucn 40 country codes each). The
cluster is wired into every earthlens datasets CLI surface (list,
show, search, where, validate, refresh, audit, curate, stanza).
CI lanes e2e-iucn / e2e-wdpa added in .github/workflows/tests-e2e.yml
against secrets.IUCN_TOKEN / secrets.WDPA_TOKEN; gbif/obis run live
in nbval-lax. Cluster coverage: 100% line+branch (920/226).
New optional extras: gbif (pygbif >=0.6.6), obis (pyobis >=1.6.1);
both folded into [all]. wdpa/iucn use core requests.
Closes #491, #492, #493, #494, #495, #496, #497, #498, #499, #500, #501, #502 - jaxa: add earthlens.jaxa backend (jaxa-earth STAC/COG + G-Portal SFTP) (#469) - asf: new earthlens.asf — Alaska Satellite Facility SAR + InSAR baseline stack (#451)
Fix#
- cli: bump distinct-backend count to 31 after erddap merge (#533)
Refactor#
- http: migrate 8 more backends onto HttpClient (#713)
0.9.0 (2026-06-17)#
Feat#
- stac: add 5 new STAC endpoints (DEAfrica, DEA, VEDA, USGS LandsatLook, Brazil Data Cube) (#425)
- nwp: harden the shipped nwp/nwm backends (#426)
0.8.0 (2026-06-16)#
Feat#
- facade: improve EarthLens public-API ergonomics (#407)
- nwm: add earthlens.nwm (NOAA National Water Model) backend (#225)
- grids,stac: adopt the specialized grid adapters and EO-agency signers from pyramids (#386)
- cli: add the earthlens catalog-query CLI and retire tools/ (#383)
Fix#
- cli: keep datasets --write paths off the Rich wrap boundary (#408)
0.7.0 (2026-06-03)#
Feat#
- s3: rework earthlens.s3 into a registry-driven multi-dataset AWS Open-Data backend (#308)
- hdx: add Humanitarian Data Exchange backend (#216)
- ghsl: add JRC Global Human Settlement Layer backend (earthlens.ghsl) (#295)
- worldpop: add WorldPop population data hub backend (earthlens.worldpop) (#306)
- catalog: align catalog design across all backends with the AbstractCatalog contract (#294)
- sentinel-hub: add Sentinel Hub server-side-render backend (#259)
- usgs-water: add USGS NWIS / Water Data backend (earthlens.usgs_water) (#260)
- overture: add Overture Maps vector backend (earthlens.overture) (#247)
- nwp: add open NWP forecast backend + NEXRAD radar (NOAA/ECMWF/DWD/MF) (#194)
- openeo: add openEO server-side-processing backend (CDSE) (#205)
- eumetsat: add EUMETSAT Data Store backend (earthlens.eumetsat) (#204)
- firms: add NASA FIRMS active-fire backend (#192)
Fix#
- tropycal: shim pkg_resources so tropycal imports under setuptools>=81 (#307)
- ci: add py7zr to the [all] extra so the wheel suite installs it (#338)
Refactor#
- provider: align backend API surface and subpackage layout (#372)
- cmems: decode the CF time axis via pyramids NetCDF, drop xarray (#206)
0.6.0 (2026-05-26)#
Feat#
- earthdata: add NASA Earthdata backend (EOSDIS via earthaccess + CMR) (#148)
- stac: unified STAC-API + COG backend (Planetary Computer / CDSE / Earth Search) (#150)
- tropycal: add tropical-cyclone backend with best-track, recon, ships and realtime products (#149)
- openaq: add OpenAQ v3 air-quality backend (#106) (#106)
- gdacs: add GDACS multi-hazard disaster-alert backend (#105)
- fdsn: add FDSN seismic-event backend (first vector output) (#72)
- cmems: add Copernicus Marine (CMEMS) backend (#73)
0.5.0 (2026-05-18)#
Feat#
- overhaul GEE backend, add CHC subpackage, extract shared GIS primitives (#53)
0.4.0 (2026-05-10)#
Refactor#
- rename earthly -> earthlens and fix CDS notebooks (#47)
0.3.0 (2026-05-07)#
Feat#
- ecmwf: migrate from legacy MARS API to cdsapi and rebuild backend, catalog, and tooling (#30)
Fix#
- pyproject: update pyramids-gis dependency and add commitizen configuration
0.2.2 (2023-01-29)#
- Add documentation
- Bump up pyramids versions
0.2.1 (2023-01-25)#
- Add Amazon S3 data source and catalog for the data available in ERA5 bucket (ERA5 only tested)
- Replace utility functions with the serapeum_utils package
0.2.0 (2023-01-15)#
- Bump up numpy and pyramids versions
- Create an abstract class for datasource and catalog as a blueprint for all data sources
- Test all classes in CI
- Use pathlib to deal with paths
0.1.7 (2022-12-26)#
- Fix PyPI package names in the requirements.txt file
- Fix python version in requirements.txt
0.1.6 (2022-12-26)#
- Use environment.yaml and requirements.txt instead of pyproject.toml and replace poetry env by conda env
- Lock numpy to 1.23.5
0.1.5 (2022-12-07)#
- First release on PyPI
- Add ECMWF data catalog