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.1.0.tar.gz
(2.5 MB
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.1.0.tar.gz.
File metadata
- Download URL: satellitehub-0.1.0.tar.gz
- Upload date:
- Size: 2.5 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
58ca8bf42b095d4ca61f1f257f0fde67b35648da22823bbbe5c573dfc274d177
|
|
| MD5 |
ed3fdc223f7b23e3bb16fb63e21117eb
|
|
| BLAKE2b-256 |
c55322cd045a8aa6f84e89218de3365e0436b12090c4b205ffe2886a0f01c028
|
File details
Details for the file satellitehub-0.1.0-py3-none-any.whl.
File metadata
- Download URL: satellitehub-0.1.0-py3-none-any.whl
- Upload date:
- Size: 65.5 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 |
8ded3bdcdda7a09ba93a8b865e966e110a4436e36d77a72b6c8ff4381b0a9f53
|
|
| MD5 |
774a0afce5f73f689be338b8332ca95a
|
|
| BLAKE2b-256 |
4c47996fd71ba993d61e17480ddd94c4d2aeffd55dc5aaf260070151798081df
|