Skip to main content

earthchange

Multipurpose satellite environmental monitoring and change detection, in pure Python. 24 scenarios from free public archives: fire danger (Canadian FWI on BMKG thresholds), smoke exposure in person-days, air-parcel trajectories (HYSPLIT), drought, land-surface heat, floods, deforestation, mining, urbanisation and surface-water change — via Google Earth Engine or Microsoft Planetary Computer (no account needed). Export georeferenced GeoTIFFs, quick-look PNGs, statistics, print-ready A4 maps, citable Markdown records, and a one-file brief that assembles a whole assessment. Every output carries its own limits.

Install

Heavy dependencies are optional extras, so the install stays lean:

pip install 'earthchange[gee]'       # Google Earth Engine backend (free account)
pip install 'earthchange[mpc,maps]'  # Planetary Computer + maps (no account)
pip install 'earthchange[all]'       # everything

Quick start

# Deforestation around a coordinate, with a finished map
earthchange -s deforestation --lat -3.333 --lon 122.25 --radius 6 --map

# Flood extent from Sentinel-1 SAR — no Earth Engine account needed
earthchange -s flood --lat 27.2 --lon 68.3 \
    --pre 2022-07-01:2022-07-25 --post 2022-08-20:2022-09-10 --backend mpc

# Urban growth timing across 2010/2015/2020 (Landsat 5/8/9)
earthchange -s urban-trend --lat -6.30 --lon 107.15 --map

# List everything
earthchange --list

Each run writes a self-contained output/<run-id>/ folder containing the PNG, GeoTIFF, statistics JSON, metadata, and any maps.

Scenarios

Scenario Method Sensor
deforestation NDVI loss Sentinel-2
urbanization Built-up gain — NDBI (default), UI, BU, IBI, or thermal NDISI/EBBI via --method Sentinel-2 / Landsat
water NDWI change Sentinel-2
burn dNBR severity Sentinel-2
mining SIRAD radar temporal + NDVI loss Sentinel-1 + S2
flood SAR water extent (event vs baseline) Sentinel-1
urban-trend NDBI at 3 epochs → RGB growth-timing map Landsat 5/8/9
coastline Sea boundary + shoreline change (erosion/accretion) + retreat rate m/yr S1 / S2 / Landsat
transit-access % population with access to public transport (SDG 11.2.1) WorldPop + OSM
island-heat SST + LST + wet-bulb (humid heat) trends for small islands OISST / Landsat / ERA5
urban-heat Urban heat island (SUHII) + hot-spot map + decadal trend GHSL + Landsat + MODIS
forest-history Multi-epoch deforestation: year-of-loss map + forest-area trajectory S2 / Landsat NDVI
population-change Two-epoch population change: Miloš-style spike poster + map + optional true GPU 3D via forge3d GHSL GHS_POP
haze Smoke & air quality during fires: PM2.5 (ISPU), aerosol index, hotspots CAMS + Sentinel-5P + FIRMS
fire-history Multi-year fire record: burned area per year (peat vs mineral), recurrence map, fire season MODIS MCD64A1 + FIRMS

Two backends

--backend Data source Account?
gee (default) Google Earth Engine free account + earthengine authenticate
mpc Microsoft Planetary Computer (STAC) none — streams COGs, processes locally

Optical scenarios build cloud-masked median composites; radar scenarios auto-select the Sentinel-1 orbit with coverage. The AOI is a square centred on your coordinate. Landsat 7 is skipped (SLC-off gaps).

Make maps from a finished run

earthmap output/<run-id>            # render A4 map sheets offline (no GEE)

Map sheets include an OpenStreetMap basemap, the change layer, legend, a statistics panel, a location inset, coordinate grid, scale bar and north arrow.

License

MIT © Firman Hadi. Data: Copernicus Sentinel (ESA) and Landsat (USGS/NASA), via Google Earth Engine or Microsoft Planetary Computer.

Metadata

Release files for earthchange 0.1.87

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for earthchange 0.1.87
File Size Uploaded Provenance
earthchange-0.1.87.tar.gz 351.8 kB With provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for earthchange 0.1.87
File Interpreter ABI Platform
earthchange-0.1.87-py3-none-any.whl Python 3 none any Details

Total release size: 705.1 kB

Release files / earthchange-0.1.87.tar.gz

Download URL earthchange-0.1.87.tar.gz
Size 351.8 kB
Tags Source
SHA-256 checksum
How to use checksums
9d6a48de1e4db5f4d81d26e079c646405f16dbb5bedab06827f93e0d0c49476c
BLAKE2b-256 checksum
How to use checksums
68793946895cdb87c83bf0d8e23643155def7c1caace63c3ec3dab5448daac16
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 10, 2026.

Transparency log

Release files / earthchange-0.1.87-py3-none-any.whl

Download URL earthchange-0.1.87-py3-none-any.whl
Size 353.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
3bc04423ba1ddb060459eaf74cd1be2d64e39608d8c34540c7092243312f5d63
BLAKE2b-256 checksum
How to use checksums
5211923274984c699fdbd8ea5853332d7991d1302cbc5096eaf798887daf9a76
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 10, 2026.

Transparency log

Security for earthchange 0.1.87

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for earthchange-0.1.87.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 10, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

Release history Release notifications | RSS feed

This release

0.1.87 This release

2 release files Full provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page