Toolkit to manipulate Earth Observation Data: Remote Sensing, Climate and Weather models. Designed to work with Pandas/GeoPandas and Xarray data structures, implementing Dask where possible.
The name is pronounced the same as "terrapin", a type of fresh water turtle
- Documentation: https://colinahill.github.io/terrapyn.
- Free software: BSD-3-Clause
This package is structured with optional modules as separate packages
- Installation:
pip install terrapyn - Contains: Core functionality (utils, stats, indices, etc.)
- Imports:
import terrapyn as tp
- Installation:
pip install terrapyn-ee - Contains: Earth Engine functionality
- Dependencies: Requires
terrapyncore package - Imports:
from terrapyn.ee import data, io, stats, timeseries, utils
- Installation:
pip install terrapyn-bq - Contains: BigQuery functionality
- Dependencies: Requires
terrapyncore package - Imports:
from terrapyn.bq import data, io
An environment with Python version 3.10 or later is required. If you don't have this, it can be created using Pyenv which should be installed first. After installing Pyenv, download and install Python 3.10 using
pyenv install 3.10If you already have Python version 3.10 or later you can skip this step.
The package can be installed in an existing Python environment via pip:
pip install terrapynpip install terrapyn terrapyn-eepip install terrapyn terrapyn-bqpip install terrapyn terrapyn-ee terrapyn-bqgit clone https://github.com/colinahill/terrapyn.git && cd terrapynThis project uses Astral uv to manage dependencies, which should be installed first. Then the environment is created with uv venv.
A Makefile contains most/all of the required tools for code quality, testing and publishing. Run make help to see available commands.