Skip to main content

satellite product browser

Project description

vresto logo

vresto

A beautiful, professional Python toolkit for searching and accessing Copernicus Sentinel satellite data

PyPI version Tests Docs Ruff Gitleaks


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:

  1. Clone the repository and go to its main directory

    git clone https://github.com/kalfasyan/vresto.git && cd vresto
    
  2. 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:

  1. Setting environment variables in the docker-compose.yml:

    environment:
      - COPERNICUS_USERNAME=your_email@example.com
      - COPERNICUS_PASSWORD=your_password
    
  2. Or by creating a .env file in the project root before running docker 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

Requirements

  • Python 3.9+
  • uv package manager (optional but recommended)

License

See LICENSE.txt

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

vresto-0.0.15.tar.gz (450.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

vresto-0.0.15-py3-none-any.whl (70.4 kB view details)

Uploaded Python 3

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

Hashes for vresto-0.0.15.tar.gz
Algorithm Hash digest
SHA256 c27beef59bf257f642a46de88a781742c445ab02875adb972b7f9fb979d855d3
MD5 27aecbf1df1b8dfed59387888d0c192c
BLAKE2b-256 ccdef8f2ea0e3949a7ecc9e2f87b29458ae08643fffff3c5286e7226fdbde32e

See more details on using hashes here.

Provenance

The following attestation bundles were made for vresto-0.0.15.tar.gz:

Publisher: publish.yml on kalfasyan/vresto

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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

Hashes for vresto-0.0.15-py3-none-any.whl
Algorithm Hash digest
SHA256 642b5ee00cf80a444a1515e0b65622dd00b9d19e80df2840f0390b4e0b364748
MD5 3743fbac1d0ead7f5de98cd38b7baaf1
BLAKE2b-256 795c290095d638ee2dbc2a9865cd1e851a1a71ad810e105243b7916149183976

See more details on using hashes here.

Provenance

The following attestation bundles were made for vresto-0.0.15-py3-none-any.whl:

Publisher: publish.yml on kalfasyan/vresto

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page