# `Angelus.Ephemeris.Adapter`
[🔗](https://github.com/MonsignorEduardo/angelus/blob/v0.0.2/lib/angelus/ephemeris/adapter.ex#L1)

Contract for ephemeris engines used by `Angelus.Ephemeris`.

Adapters return SPICE-like state maps; `Angelus.Ephemeris` owns validation,
longitude normalization, and public `%Angelus.Ephemeris.BodyPosition{}` construction.

# `state`

```elixir
@callback state(atom(), float()) :: {:ok, map()} | {:error, term()}
```

# `utc_to_et`

```elixir
@callback utc_to_et(DateTime.t()) :: {:ok, float()} | {:error, term()}
```

---

*Consult [api-reference.md](api-reference.md) for complete listing*
