Skip to main content

A lightweight Earth Observation utilities library for chainable raster operations

Project description

EasyEO

EasyEO is a lightweight, extensible Python library for raster-based Earth Observation (EO) analysis which allows for chainable raster processing, algebra, and visualization. It provides high-level abstractions over libraries such as Rasterio, NumPy, and Matplotlib, enabling users to perform common earth-observation analyses and visualization tasks efficiently, without dealing with the underlying complexity.

Features

  • Raster operations with spatial awareness
  • Algebraic operations (add, subtract, multiply, divide)
  • Resampling, reprojection, and alignment
  • Clip rasters using vectors or bounding boxes
  • Normalization (min-max, percentile, z-score)
  • Visualization helpers (bands, composites, histograms)
  • Backend-aware design (NumPy ↔ Rasterio)

Installation

conda create -n env_name python=3.10
conda activate env_name
pip install easy-eo

Quick Example

from eeo import load_raster

ds_nir = load_raster("path/to/nir.tif")
ds_red = load_raster("path/to/red.tif")

# Chainable example: clip -> resample -> compute NDVI -> multiply
result = ds_nir.clip_raster_with_bbox((0,0,1000,1000))
                .resample(scale_factor=2)
                .normalized_difference(ds_red)
                .multiply(100)

Supported Backends

Backend Description
NumPy Fast, in-memory arrays without I/O
Rasterio Full geospatial support (CRS, transform, resampling)

Documentation

📚 Full documentation is available at:

👉 https://easyeo.readthedocs.io

Project Status

🚧 Active development
The API is stabilizing but may change before v1.0.

Contributing

Contributions are welcome!

  • Bug reports
  • Feature requests
  • Documentation improvements

Please open an issue or pull request on GitHub.

License

MIT License © 2025 Thomas Burns Botchwey

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

easy_eo-0.1.0.tar.gz (24.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

easy_eo-0.1.0-py3-none-any.whl (38.4 kB view details)

Uploaded Python 3

File details

Details for the file easy_eo-0.1.0.tar.gz.

File metadata

  • Download URL: easy_eo-0.1.0.tar.gz
  • Upload date:
  • Size: 24.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.19

File hashes

Hashes for easy_eo-0.1.0.tar.gz
Algorithm Hash digest
SHA256 84ae99ddfe4ab2e0f94eb7a9c0b622b1b99d732f2cde1d70f81629c07db0cddc
MD5 b9ebabe4fbb3ff6ebbe52e510771c402
BLAKE2b-256 20b88dfaea7e499053fc2cd5718db9b36225086620d4cf1507f14eef063193e7

See more details on using hashes here.

File details

Details for the file easy_eo-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: easy_eo-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 38.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.19

File hashes

Hashes for easy_eo-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 eca36d0b3038c985ecac2c3f1753fbef999752e982b84b48aacbcdf5be477efd
MD5 d2b7b526897a98ffad8f6ffe6e7801ad
BLAKE2b-256 846fd1b2d9198a4019da14d5dfd2bd18826560f2b6feaeac2452f106bb621714

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page