# live-data
Shared descriptor, manifest, and subscription types for the live data
streaming ecosystem.
This crate is the neutral middle: it defines the wire-shaped types that
publishers ([live-feed]) and consumers ([live-stream]) agree on. It has
no I/O, no transport code, no async runtime — only serde-derivable
descriptors.
## Status
Early development, API in flux. The 0.1.0 line locks the *shape* of the
wire protocol so publisher and consumer SDKs can be built against a
stable types crate; behavioural and ergonomic improvements land in the
runtime crates rather than churning these types.
## What's here
- `FeedDescriptor` and `FeedManifest` — what a publisher advertises.
- `SubscriptionDescriptor`, `FilterExpr`, `Sampling`, `SubscribeResponse` —
what a consumer requests and the publisher's reply.
- `WireSchema`, `FieldSpec` — a serde-friendly minimal schema.
- `Endpoint`, `TransportTag`, `FormatPreference` — connection metadata
shared by both sides.
- `Error`, `Result`, `PROTOCOL_VERSION` — crate-wide plumbing.
## Companion crates
- [live-feed] — publisher SDK. Declare feeds, build manifests, serve
subscribers.
- [live-stream] — consumer SDK. Browse manifests, open subscriptions,
receive batches.
## License
Mozilla Public License 2.0 (MPL-2.0). See [LICENSE](LICENSE).
[live-feed]: https://crates.io/crates/live-feed
[live-stream]: https://crates.io/crates/live-stream