satellite product browser
Project description
vresto
A beautiful, professional Python toolkit for searching and accessing Copernicus Sentinel satellite data
Features
- 🗺️ Interactive Map Interface - Visually search and filter satellite products
- 🔍 Smart Search - Filter by location, date range, cloud cover, and product type
- 📦 Product Management - Download quicklooks and metadata from S3
- 🐍 Professional API - Clean Python API for programmatic access
- 🔐 Secure - Handle S3 credentials safely with static key support
- ⚡ Efficient - Batch operations and smart caching
⚡ Quick Start with Docker 🐳
The fastest way to run vresto is by using Docker Compose 🚢
You only need Docker and Docker Compose installed on your machine. If you don't have them yet, you can find installation instructions on the Docker website and Docker Compose documentation.
Start vresto in just a few steps:
-
Clone the repository and go to its main directory
git clone https://github.com/kalfasyan/vresto.git && cd vresto
-
Start the application with Docker Compose
docker compose up -d
✅ Done! 🎉
You're all set—your vresto dashboard is now running at:
🌐 http://localhost:8610
Note: You'll need to set Copernicus credentials to use the search functionality. You can do this by:
-
Setting environment variables in the docker-compose.yml:
environment: - COPERNICUS_USERNAME=your_email@example.com - COPERNICUS_PASSWORD=your_password
-
Or by creating a
.envfile in the project root before runningdocker compose up:export COPERNICUS_USERNAME="your_email@example.com" export COPERNICUS_PASSWORD="your_password"
🚀 Essential Docker & Docker Compose Commands
# Start the app in background (Docker Compose)
docker compose up -d
# View logs (Docker Compose)
docker compose logs -f
# Stop and remove services (Docker Compose)
docker compose down
# Rebuild and start (Docker Compose)
docker compose up -d --build
# Run the container directly (plain Docker)
docker run -d -p 8610:8610 \
--name vresto-dashboard \
vresto:latest
# View logs (plain Docker)
docker logs -f vresto-dashboard
# Stop and remove the container (plain Docker)
docker stop vresto-dashboard && docker rm vresto-dashboard
Quick Start
Note: You need Copernicus credentials to use vresto. Get free access at https://dataspace.copernicus.eu/
Installation
From PyPI (recommended for users):
docker run -d -p 8610:8610 \
--name vresto-dashboard \
vresto:latest
For development:
git clone https://github.com/kalfasyan/vresto.git
cd vresto
uv pip install -e .
Configuration
Configure your credentials (see Setup Guide for details):
export COPERNICUS_USERNAME="your_email@example.com"
export COPERNICUS_PASSWORD="your_password"
Or run the interactive setup helper which writes a .env in the project root:
python scripts/setup_credentials.py
Launch the App
Simply run:
make app
Or directly with Python:
python src/vresto/ui/app.py
Opens at http://localhost:8610
API usage:
from vresto.api import CatalogSearch, BoundingBox, CopernicusConfig
from vresto.products import ProductsManager
config = CopernicusConfig()
catalog = CatalogSearch(config=config)
bbox = BoundingBox(west=4.65, south=50.85, east=4.75, north=50.90)
products = catalog.search_products(
bbox=bbox,
start_date="2024-01-01",
max_cloud_cover=20,
)
manager = ProductsManager(config=config)
for product in products[:5]:
quicklook = manager.get_quicklook(product)
if quicklook:
quicklook.save_to_file(f"{product.name}.jpg")
For detailed setup and usage, see the documentation below.
Documentation
- Setup Guide ⭐ Start here - Installation, credentials setup, and configuration
- API Guide - Programmatic usage examples and reference
- AWS CLI Guide - Direct S3 access with AWS CLI
- Contributing - Development setup
Requirements
- Python 3.9+
uvpackage manager (optional but recommended)
License
See LICENSE.txt
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 vresto-0.0.15.tar.gz.
File metadata
- Download URL: vresto-0.0.15.tar.gz
- Upload date:
- Size: 450.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c27beef59bf257f642a46de88a781742c445ab02875adb972b7f9fb979d855d3
|
|
| MD5 |
27aecbf1df1b8dfed59387888d0c192c
|
|
| BLAKE2b-256 |
ccdef8f2ea0e3949a7ecc9e2f87b29458ae08643fffff3c5286e7226fdbde32e
|
Provenance
The following attestation bundles were made for vresto-0.0.15.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.0.15.tar.gz -
Subject digest:
c27beef59bf257f642a46de88a781742c445ab02875adb972b7f9fb979d855d3 - Sigstore transparency entry: 779524129
- Sigstore integration time:
-
Permalink:
kalfasyan/vresto@ff1e8189a0394ab9db2be408e677eda1387593ab -
Branch / Tag:
refs/tags/v0.0.15 - Owner: https://github.com/kalfasyan
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@ff1e8189a0394ab9db2be408e677eda1387593ab -
Trigger Event:
push
-
Statement type:
File details
Details for the file vresto-0.0.15-py3-none-any.whl.
File metadata
- Download URL: vresto-0.0.15-py3-none-any.whl
- Upload date:
- Size: 70.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
642b5ee00cf80a444a1515e0b65622dd00b9d19e80df2840f0390b4e0b364748
|
|
| MD5 |
3743fbac1d0ead7f5de98cd38b7baaf1
|
|
| BLAKE2b-256 |
795c290095d638ee2dbc2a9865cd1e851a1a71ad810e105243b7916149183976
|
Provenance
The following attestation bundles were made for vresto-0.0.15-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.0.15-py3-none-any.whl -
Subject digest:
642b5ee00cf80a444a1515e0b65622dd00b9d19e80df2840f0390b4e0b364748 - Sigstore transparency entry: 779524130
- Sigstore integration time:
-
Permalink:
kalfasyan/vresto@ff1e8189a0394ab9db2be408e677eda1387593ab -
Branch / Tag:
refs/tags/v0.0.15 - Owner: https://github.com/kalfasyan
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@ff1e8189a0394ab9db2be408e677eda1387593ab -
Trigger Event:
push
-
Statement type: