Skip to content

Repository files navigation

Fetchez

Fetch geospatial data with ease.

Version License Python PyPI version Conda Version Project Chat

Fetchez is a robust, highly modular and extensible Python framework designed to orchestrate complex geospatial data engineering workflows.

Originally developed as the core fetching engine for the CUDEM project, Fetchez has evolved into a standalone geospatial ETL platform. It seamlessly retrieves Bathymetry, Topography, Imagery, and Oceanographic data from dozens of global repositories (NOAA, USGS, Copernicus, ESA) and processes it on the fly.


📦 Installation

pip install fetchez

Optional Extensions: To enable module specific library dependencies, install with the desired extras:

pip install fetchez[full]

🐄 Quickstart

Fetch Copernicus topography and NOAA multibeam bathymetry for a specific bounding box in one command:

CLI

fetchez run -R loc:"Miami, FL" --global-hook audit copernicus multibeam

Or run a full processing pipeline from a YAML recipe:

fetchez recipes run recipes/my_dem_project.yaml

Python

import fetchez

# Fetch Electronic Nautical Chart data from NOAA
files = fetchez.get("charts", region=[-120, -118, 33, 34], hooks=['unzip', 'filename_filter:match=.000', 'audit'])

DEM Building with Globato

While Fetchez handles the data retrieval, data stream initiation and processing pipeline engine, its sister project and Fetchez extension, Globato, provides the multi_stack accumulators and mr-globato multi-resolution interpolation engines needed to turn those streams into production-grade Digital Elevation Models. Check it out!


📚 Documentation

Would you like to know more? Check out our Official Documentation to learn about:

  • Modules & Bundles: Discover and learn about the over 80+ different modules availabel.

  • The Python API: Build custom fetch modules and run full processing pipelines in your apps.

  • Recipes & YAML: Build and run custom workflows from a simple YAML or JSON configuration.

  • Hooks & Presets: Automate unzipping, filtering, and processing fetch modules.

  • Recipe Modifiers: Catcha recipe before it runs and modify it on the fly at runtime.

  • Domain Schemas: Enforce rigorous geospatial standards automatically.

  • Custom Plugins: Write your own data fetch modules, processing hooks, extensions and recipes.

  • Execution Lifecycle: Learn about the distinct phases (manifest -> file -> stream -> collection) of fetchez module hook processing.


🛠️ Used By

This project is used by the following open-source projects:

  • globato - A full Fetchez extension, optimized hooks, modules, streams and more to aid in the development of DEMs.
  • ivert - The ICESat-2 Validation of Elevations Reporting Tool.
  • transformez - A standalone Python engine for converting geospatial data between vertical datums.

Are you using this project? Open a Pull Request to add your project to the list!


⚖ License

This project is licensed under the MIT License - see the LICENSE file for details.

Copyright (c) 2010-2026 Regents of the University of Colorado

About

Fetchez is a robust, highly modular, and extendable Python framework designed to orchestrate geospatial data engineering workflows.

Topics

Resources

Contributing

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages