Geo-Spatial Data Fetching
Project description
Fetchez
Fetch geospatial data with ease.
Fetchez is a lightweight, modular, and highly extendable Python framework designed to orchestrate geospatial data engineering workflows.
Originally developed as the core fetching engine for the CUDEM project, Fetchez has evolved into a standalone 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.
❓ Why Fetchez?
Geospatial data engineering is traditionally fragmented. You often need one script to query an API, another tool to download the files, a GIS application to clip the data, and complex shell scripts to tie it all together.
Fetchez unifies the entire pipeline.
-
Unified Interface: Access 50+ different modules using the exact same syntax.
-
Parallel Fetching: High-performance, multi-threaded downloading with automatic retry, timeout handling, and partial-download resumption.
-
Infrastructure as Code: Define complex data pipelines, cropping, and gridding workflows using CLI switches or simple YAML "Recipes".
-
Pipeline Hooks: Transparently stream, filter, and process data (via globato and transformez) as it is being downloaded.
-
Infinite Extensibility: Built on a modern plugin architecture. Drop custom Python scripts into a local folder, or install community extensions via
pipto add your own data sources and domain schemas.
📦 Installation
pip install fetchez
🐄 Quickstart
Fetch Copernicus topography and NOAA multibeam bathymetry for a specific bounding box in one command:
CLI
fetchez -R loc:"Miami, FL" copernicus multibeam --audit-log miami_audit.json
Or run a full processing pipeline from a YAML recipe:
fetchez 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'])
📚 Documentation
Would you like to know more? Check out our Official Documentation to learn about:
-
The Python API: Build custom fetchers into your apps.
-
Recipes & YAML: Run custom workflows from a simple YAML configuration.
-
Hooks & Presets: Automate unzipping, filtering, and processing.
-
Domain Schemas: Enforce rigorous geospatial standards automatically.
-
Custom Plugins: Write your own data fetchers, processing hooks and extensions.
⚖ 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
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file fetchez-0.5.4.tar.gz.
File metadata
- Download URL: fetchez-0.5.4.tar.gz
- Upload date:
- Size: 1.4 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ba7578af53814740df1301107bc22e35cc3f93cf8f246a07ef6473e68208c47c
|
|
| MD5 |
6084ab82a4e0d6c94cedc374f3d76064
|
|
| BLAKE2b-256 |
45db70f78ddc5ba914e0dbaee8b9546626f1ec3c7e6333afabc379a5b13bed0a
|
Provenance
The following attestation bundles were made for fetchez-0.5.4.tar.gz:
Publisher:
publish.yaml on continuous-dems/fetchez
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
fetchez-0.5.4.tar.gz -
Subject digest:
ba7578af53814740df1301107bc22e35cc3f93cf8f246a07ef6473e68208c47c - Sigstore transparency entry: 1319652737
- Sigstore integration time:
-
Permalink:
continuous-dems/fetchez@9d42b1cbd18f4852144382084938cdad55a627d1 -
Branch / Tag:
refs/tags/v0.5.4 - Owner: https://github.com/continuous-dems
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yaml@9d42b1cbd18f4852144382084938cdad55a627d1 -
Trigger Event:
release
-
Statement type:
File details
Details for the file fetchez-0.5.4-py3-none-any.whl.
File metadata
- Download URL: fetchez-0.5.4-py3-none-any.whl
- Upload date:
- Size: 1.5 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6a97daacb14fe42d26f506b81e167a47e679fa18a8eea40d394333503067b629
|
|
| MD5 |
21da8e161be250724b8aaf2f8598a694
|
|
| BLAKE2b-256 |
f47b2ac20bf2a305b9546219d143dbdaddfbcc591f675d6542f5bdfe6f50cbc7
|
Provenance
The following attestation bundles were made for fetchez-0.5.4-py3-none-any.whl:
Publisher:
publish.yaml on continuous-dems/fetchez
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
fetchez-0.5.4-py3-none-any.whl -
Subject digest:
6a97daacb14fe42d26f506b81e167a47e679fa18a8eea40d394333503067b629 - Sigstore transparency entry: 1319652895
- Sigstore integration time:
-
Permalink:
continuous-dems/fetchez@9d42b1cbd18f4852144382084938cdad55a627d1 -
Branch / Tag:
refs/tags/v0.5.4 - Owner: https://github.com/continuous-dems
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yaml@9d42b1cbd18f4852144382084938cdad55a627d1 -
Trigger Event:
release
-
Statement type: