Demo
Features
- 🗺️ Interactive Map Interface — visually search and filter satellite products
- 🛰️ High-Resolution Tile Server — visualize full-resolution product bands on the map (via
localtileserver) - 🎯 Click-to-Stream — click any MGRS grid tile to stream its latest True Color Image (TCI)
- 🌍 14 Contextual Overlays — land cover (WorldCover, LCM, LC100, TCD), terrain (Copernicus DEM), vegetation & productivity (NDVI climatology, FAPAR, Dry Matter Productivity), thermal (hourly LST), water & soil (Soil Moisture, Soil Water Index, Water Bodies), and hazard layers (Burned Area)
- 🔍 Smart Search — filter by location, date range, cloud cover, and product type
- 📦 Granular Downloads — Band-Resolution matrix for precise data selection and de-duplicated downloads
- 🔌 Dual Backend Support — discovery via OData or STAC APIs
- 🐍 Professional API — clean Python API for programmatic access
- 🔐 Secure — handle S3 credentials safely with static key support
- ⚡ Efficient — batch operations and smart caching
Requirements
- Python 3.11+
- Docker and Docker Compose (optional, for the Docker setup)
uvpackage manager (optional, recommended for development)
Credentials: You need free Copernicus credentials to use vresto — get them at https://dataspace.copernicus.eu/. See the Setup Guide for configuration details.
Installation
From PyPI:
pip install vresto
For development:
git clone https://github.com/kalfasyan/vresto.git
cd vresto
uv sync
Usage
Docker
The fastest way to run vresto:
git clone https://github.com/kalfasyan/vresto.git && cd vresto
make docker-up
The dashboard opens at http://localhost:8610. Add your Copernicus credentials anytime via the ☰ menu → Settings, or provide them up front in a .env file (see .env.example). Use make docker-rebuild after pulling changes.
Python
Launch the app:
vresto # or: uv run vresto / pixi run vresto / make app
Search and download from Python:
from vresto.api import CatalogSearch, CopernicusConfig
from vresto.products import ProductsManager
config = CopernicusConfig()
catalog = CatalogSearch(config=config)
manager = ProductsManager(config=config)
# Search for a product by name
products = catalog.search_products_by_name("S2A_MSIL2A", max_results=5)
# Download specific bands (Red, Green, Blue)
manager.download_product_bands(
product=products[0].name,
bands=["B04", "B03", "B02"],
resolution=10,
dest_dir="./data",
)
CLI
vresto-cli search-name "S2A_MSIL2A" --max-results 5
vresto-cli download-bands "S2A_MSIL2A_20200612T023601_N0500_R089_T50NKJ_20230327T190018" "B04,B03,B02" --resolution 10 --output ./data
Documentation
- Setup Guide ⭐ start here — installation, credentials, configuration
- API Guide — programmatic usage
- CLI Guide — command-line reference
- AWS CLI Guide — direct S3 access
- Contributing — development setup
License
This project is licensed under the terms in LICENSE.txt.
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 vresto-0.4.4.tar.gz.
File metadata
- Download URL: vresto-0.4.4.tar.gz
- Upload date:
- Size: 731.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a847f3a5bcd3f09b07ced7ff0d8e8b0d5a2e466074b63174851ae2408cf173ba
|
|
| MD5 |
e40c5658d1713a727f5d13e310d2ef1b
|
|
| BLAKE2b-256 |
705ef25f51b3f14b7f1e0fe8346b3245344eabe7599b07ce229250400fdb8ddd
|
Provenance
The following attestation bundles were made for vresto-0.4.4.tar.gz:
Publisher:
publish.yml on kalfasyan/vresto
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
vresto-0.4.4.tar.gz -
Subject digest:
a847f3a5bcd3f09b07ced7ff0d8e8b0d5a2e466074b63174851ae2408cf173ba - Sigstore transparency entry: 2172964193
- Sigstore integration time:
-
Permalink:
kalfasyan/vresto@be7cadcadb80dc5f85fea3acbb5b6f9727ed2348 -
Branch / Tag:
refs/tags/v0.4.4 - Owner: https://github.com/kalfasyan
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@be7cadcadb80dc5f85fea3acbb5b6f9727ed2348 -
Trigger Event:
push
-
Statement type:
File details
Details for the file vresto-0.4.4-py3-none-any.whl.
File metadata
- Download URL: vresto-0.4.4-py3-none-any.whl
- Upload date:
- Size: 211.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
49c5149215815813937469ec67bea2a0511861277cae2c4e85fa7f92d5189e9b
|
|
| MD5 |
973d2d5845cca7d1c5e9db5c4a763308
|
|
| BLAKE2b-256 |
9e7737ddba0194f7c140d1f6b1aef7d25beeacc834920c6739a3bb7399d829f7
|
Provenance
The following attestation bundles were made for vresto-0.4.4-py3-none-any.whl:
Publisher:
publish.yml on kalfasyan/vresto
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
vresto-0.4.4-py3-none-any.whl -
Subject digest:
49c5149215815813937469ec67bea2a0511861277cae2c4e85fa7f92d5189e9b - Sigstore transparency entry: 2172964199
- Sigstore integration time:
-
Permalink:
kalfasyan/vresto@be7cadcadb80dc5f85fea3acbb5b6f9727ed2348 -
Branch / Tag:
refs/tags/v0.4.4 - Owner: https://github.com/kalfasyan
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@be7cadcadb80dc5f85fea3acbb5b6f9727ed2348 -
Trigger Event:
push
-
Statement type: