Metadata-Version: 2.4
Name: er-smart-sync
Version: 0.2.1
Summary: Synchronize SMART Connect data models, events, and patrols with EarthRanger
License: Apache-2.0
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: earthranger-client
Requires-Dist: smartconnect-client<2.0,>=1.11.0
Requires-Dist: gundi-core>=1.11.0
Requires-Dist: pydantic<2.0,>=1.10
Requires-Dist: packaging
Requires-Dist: click
Requires-Dist: pyyaml
Provides-Extra: gcp
Requires-Dist: google-cloud-pubsub; extra == "gcp"
Requires-Dist: google-cloud-storage; extra == "gcp"
Provides-Extra: tracing
Requires-Dist: opentelemetry-api; extra == "tracing"
Requires-Dist: opentelemetry-sdk; extra == "tracing"
Provides-Extra: dev
Requires-Dist: pytest; extra == "dev"
Requires-Dist: pytest-mock; extra == "dev"
Requires-Dist: ruff; extra == "dev"
Requires-Dist: ty; extra == "dev"
Provides-Extra: docs
Requires-Dist: mkdocs-material>=9.5; extra == "docs"
Requires-Dist: mkdocs-exclude>=1.0; extra == "docs"
Dynamic: license-file

# er-smart-sync

Synchronize [SMART Connect](https://smartconservationtools.org/) wildlife-monitoring
data with [EarthRanger](https://www.earthranger.com/).

## 📖 Full documentation

**https://padas.github.io/earthranger-smart-utils/**

Includes install instructions, step-by-step workflows for every sync flow,
a complete CLI reference, conceptual background, and troubleshooting.

## What it does

- **Datamodel sync** (SMART → ER) — turn SMART data models into EarthRanger
  event categories and event types.
- **Event sync** (ER → SMART) — poll EarthRanger events and forward them via
  message broker.
- **Patrol sync** (ER → SMART) — poll EarthRanger patrols with track points
  and attached files.

## Quick install

```bash
uv pip install er-smart-sync
er-smart-sync --help
```

Or install from source (for development):

```bash
git clone git@github.com:PADAS/earthranger-smart-utils.git
cd earthranger-smart-utils
uv pip install -e ".[dev]"
er-smart-sync --help
```

See the [Installation page](https://padas.github.io/earthranger-smart-utils/getting-started/install/)
for prerequisites, optional extras, and verification steps.

## For contributors

Working on the codebase itself? Start with:

- **[CLAUDE.md](CLAUDE.md)** — codebase conventions: Pydantic v1 API, SMART version-gating (<7.5.3 needs `smart_observation_uuid` patching), the bracketed-CA-label convention, and the protocol-based dependency-injection pattern.
- **[USAGE.md](USAGE.md)** — developer-oriented CLI reference and the bracketed-CA-label convention as it affects the codebase.
- **[docs/superpowers/specs/](docs/superpowers/specs/)** — design specs for non-trivial features (v2 event types, choices population, etc.).
- **[docs/superpowers/plans/](docs/superpowers/plans/)** — implementation plans for recent feature work.

The user-facing documentation at the link above covers what `er-smart-sync` does and how to use it; the references in this section cover how it's built.

## License

Apache License 2.0. See [LICENSE](LICENSE).
