Unified Python SDK for satellite data access and analysis
Project description
SatelliteHub
Unified Python SDK for satellite data access and vegetation analysis.
Features
- Vegetation Health Analysis - NDVI-based health assessment with cloud masking
- Change Detection - Compare vegetation between time periods
- Weather Integration - ERA5 reanalysis and IMGW Polish stations
- Export Options - DataFrame, GeoTIFF, PNG, HTML reports
- Two-Tier API - High-level semantic methods + low-level data access
Installation
pip install satellitehub
Quick Start
import satellitehub as sh
# Create a location (Warsaw)
loc = sh.location(lat=52.23, lon=21.01)
# Analyze vegetation health
result = loc.vegetation_health(last_days=30)
print(f"NDVI: {result.mean_ndvi:.2f}")
print(f"Confidence: {result.confidence:.0%}")
print(result.narrative())
# Export results
result.to_png("vegetation.png")
result.to_dataframe().to_csv("data.csv")
Configuration
Create ~/.satellitehub/credentials.json:
{
"cdse": {
"username": "your-copernicus-email",
"password": "your-copernicus-password"
}
}
Register free at Copernicus Data Space.
CLI Report Generator
python -m satellitehub.scripts.run_analysis \
--lat 52.23 --lon 21.01 \
--days 30 \
--name "Warsaw" \
--output report.html
API Overview
Semantic Methods (High-Level)
loc = sh.location(lat=52.23, lon=21.01)
# Vegetation analysis
loc.vegetation_health(last_days=30)
loc.vegetation_change(period_1=("2024-01-01", "2024-01-31"),
period_2=("2024-06-01", "2024-06-30"))
# Weather data
loc.weather(last_days=30)
# Check available methods
loc.available_methods()
Data Tier (Low-Level)
# Direct provider access
provider = loc.get_provider("cdse")
entries = provider.search(location=loc, time_range=("2024-01-01", "2024-01-31"))
raw_data = provider.download(entries[0], bands=["B04", "B08"])
Data Sources
| Provider | Data | Registration |
|---|---|---|
| CDSE | Sentinel-2 L2A imagery | Copernicus |
| CDS | ERA5 weather reanalysis | CDS |
| IMGW | Polish weather stations | No registration needed |
Development
git clone https://github.com/kacperkonopka/satellitehub
cd satellitehub
pip install -e ".[all]"
pytest tests/
License
MIT License - see LICENSE for details.
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
satellitehub-0.2.0.tar.gz
(116.1 kB
view details)
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 satellitehub-0.2.0.tar.gz.
File metadata
- Download URL: satellitehub-0.2.0.tar.gz
- Upload date:
- Size: 116.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
284d5bb034cda0ed2d4d357c69079fbd2ba274a9c10d4636597ca5a6a44a344d
|
|
| MD5 |
3120f74f36e743c3ada344aabff5cbda
|
|
| BLAKE2b-256 |
f0ca33f739c683a83a62a4b1738fb15c6b8c5f306565bb3724f31abbbd5e59dc
|
File details
Details for the file satellitehub-0.2.0-py3-none-any.whl.
File metadata
- Download URL: satellitehub-0.2.0-py3-none-any.whl
- Upload date:
- Size: 68.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5a1794db9e9ba0cc70dfe64dd9b96dca9bfbc388299c6fb9dc0345a42f593ab7
|
|
| MD5 |
a9cd0b70f37be7c8c5bf682bf1f07487
|
|
| BLAKE2b-256 |
61ed42ff0939445258c857d57067df2224185d18899f618b57514199e57061a4
|