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.0b1.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.0b1-py3-none-any.whl (38.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: easy_eo-0.1.0b1.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.0b1.tar.gz
Algorithm Hash digest
SHA256 0cc8a5909bbb3d73311e50281a817f1da801f637ec0f29f96beffa4ffeaf6976
MD5 f91c135cf0bf54c98a5f0e8b0258cd8f
BLAKE2b-256 a33bb9673e97ce071ec0238204969d0393e9c5b90b3cbad8f6392b6446bb6a69

See more details on using hashes here.

File details

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

File metadata

  • Download URL: easy_eo-0.1.0b1-py3-none-any.whl
  • Upload date:
  • Size: 38.5 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.0b1-py3-none-any.whl
Algorithm Hash digest
SHA256 a33a326fe0c7943d47de859c3b25c46bbe7933384de8ef6cd6c636b505830778
MD5 59c65fd6c768e62b5135e31341cdb7ac
BLAKE2b-256 896ae89a377a8c537f605db03e0f800512fd7b2fae9e43620396fff1ee92a3db

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