# rss_core - Remote Sensing Satellite Imagery Core

A Rust library for querying, downloading, and processing satellite imagery from multiple providers.

## Quick Start

```toml
[dependencies]
rss_core = "0.5"
```

## Features

- **Multi-source queries** - Query imagery from STAC APIs and PostgreSQL databases
- **Canonical band names** - Cross-provider band resolution (`"red"` → `"nbart_red"` for DEA, `"band4"` for Element84)
- **Product definitions** - Declarative YAML-based product configurations
- **Python bindings** - Optional PyO3 bindings for Python integration

## Example

```rust
use rss_core::{query::ImageQueryBuilder, qvf::Collection, DEA};
use chrono::NaiveDate;
use std::path::PathBuf;

let query = ImageQueryBuilder::new(
    DEA,
    Collection::Sentinel2,
    rss_core::utils::Intersects::Scene(vec!["56jns".to_string()]),
)
.start_date(NaiveDate::parse_from_str("2022-01-01", "%Y-%m-%d").unwrap())
.end_date(NaiveDate::parse_from_str("2022-01-15", "%Y-%m-%d").unwrap())
.cloudcover((rss_core::utils::Cmp::Less, 10))
.canonical_bands(["red", "nir"])
.build();

let feature_collection = query.get(&PathBuf::from("./output"), None, None)?;
```

## Documentation

Full API documentation: https://docs.rs/rss_core

## Features

| Feature | Description |
|---------|-------------|
| `pyo3` | Python bindings via PyO3 (requires Python 3.9+) |

## License

LGPL-3.0-or-later
