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)
- 🔎 Point Inspector — turn on Inspect values and click a streamed tile to read the exact value under the cursor (land-cover class, NDVI, temperature, soil moisture, elevation, …)
- 🔍 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 --extra dev
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.
Metadata
Release files for vresto 0.4.6
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| vresto-0.4.6.tar.gz | 751.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| vresto-0.4.6-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 970.0 kB
Release files / vresto-0.4.6.tar.gz
| Download URL | vresto-0.4.6.tar.gz |
|---|---|
| Size | 751.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
907149e89bbcb53ae01d6914864a60628e247fd5d400d3ce0d112363746b7a7a
|
|
BLAKE2b-256 checksum How to use checksums |
c3d9100572be3f59498c8ab13e80238eac513ad351da93966ca80ae12195b7dd
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 4, 2026.
Transparency logRelease files / vresto-0.4.6-py3-none-any.whl
| Download URL | vresto-0.4.6-py3-none-any.whl |
|---|---|
| Size | 218.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
8ccdaa394cf705404f4fa8dbbd16ddd90d368f874adca81cda1c7a2852757d30
|
|
BLAKE2b-256 checksum How to use checksums |
9bac15e23d69b34207e2b7fc4bfb6e9ab594e5f210c6cc103382491306fae28d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 4, 2026.
Transparency log