Metadata-Version: 2.4
Name: vresto
Version: 0.0.9
Summary: satellite product browser
License-File: LICENSE.txt
Requires-Python: >=3.11
Requires-Dist: boto3>=1.35.0
Requires-Dist: ipython>=9.2.0
Requires-Dist: loguru>=0.7.3
Requires-Dist: matplotlib>=3.10.7
Requires-Dist: nicegui>=2.16.1
Requires-Dist: pillow>=12.0.0
Requires-Dist: plotly>=6.5.0
Requires-Dist: pre-commit>=4.2.0
Requires-Dist: psutil>=7.0.0
Requires-Dist: pytest-xdist>=3.2.0
Requires-Dist: pytest>=8.3.5
Requires-Dist: python-dotenv>=1.0.0
Requires-Dist: rasterio>=1.4.3
Requires-Dist: requests>=2.31.0
Requires-Dist: rich>=13.0.0
Requires-Dist: twine>=6.1.0
Requires-Dist: typer>=0.12.0
Provides-Extra: dev
Requires-Dist: moto>=4.0.0; extra == 'dev'
Requires-Dist: numpy>=1.26.0; extra == 'dev'
Requires-Dist: rasterio>=1.4.0; extra == 'dev'
Requires-Dist: ruff>=0.1.0; extra == 'dev'
Provides-Extra: docs
Requires-Dist: loguru>=0.7.3; extra == 'docs'
Requires-Dist: mkdocs-htmlproofer-plugin>=1.2.1; extra == 'docs'
Requires-Dist: mkdocs-include-markdown-plugin>=6.0.0; extra == 'docs'
Requires-Dist: mkdocs-material>=9.0.0; extra == 'docs'
Requires-Dist: mkdocs>=1.5.0; extra == 'docs'
Requires-Dist: pymdown-extensions>=9.0.0; extra == 'docs'
Description-Content-Type: text/markdown

<div align="center">
  <img src="docs/assets/vresto_logo.jpg" alt="vresto logo" width="320" />
  
  # vresto
  
  **A beautiful, professional Python toolkit for searching and accessing Copernicus Sentinel satellite data**
  
  [![PyPI version](https://badge.fury.io/py/vresto.svg)](https://badge.fury.io/py/vresto)
  [![Tests](https://github.com/kalfasyan/vresto/actions/workflows/tests.yml/badge.svg)](https://github.com/kalfasyan/vresto/actions/workflows/tests.yml)
  [![Docs](https://github.com/kalfasyan/vresto/actions/workflows/build-docs.yml/badge.svg)](https://github.com/kalfasyan/vresto/actions/workflows/build-docs.yml)
  [![Ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json)](https://github.com/astral-sh/ruff)
  [![Gitleaks](https://img.shields.io/badge/secret%20scanning-gitleaks-blue)](https://github.com/gitleaks/gitleaks)
</div>

---

## 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

**Note:** You need Copernicus credentials to use vresto. Get free access at https://dataspace.copernicus.eu/

Clone and install:
```bash
git clone https://github.com/kalfasyan/vresto.git
cd vresto
uv sync
```

Configure your credentials (see [Setup Guide](docs/SETUP.md) for details):
```bash
export COPERNICUS_USERNAME="your_email@example.com"
export COPERNICUS_PASSWORD="your_password"
```

**Web interface:**
```bash
uv run python src/vresto/ui/map_interface.py
```
Opens at http://localhost:8080

**API usage:**
```python
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](docs/getting-started/setup.md)** ⭐ **Start here** - Installation, credentials setup, and configuration
- [API Guide](docs/user-guide/api.md) - Programmatic usage examples and reference
- [AWS CLI Guide](docs/advanced/aws-cli.md) - Direct S3 access with AWS CLI
- [Contributing](CONTRIBUTING.md) - Development setup

## Requirements

- Python 3.9+
- `uv` package manager (optional but recommended)

## License

See [LICENSE.txt](LICENSE.txt)
