An open API service indexing awesome lists of open source software.

https://github.com/cablehead/xs

crossing the streams
https://github.com/cablehead/xs

cli content-addressed-storage cross-stream embedded-database event-sourcing interop iroh kv-store localstorage materialized-view nushell rust scripting shell stream-driven-development xs

Last synced: 20 days ago
JSON representation

crossing the streams

Awesome Lists containing this project

README

          




Logo




cross.stream


Local-first event streaming for building reactive workflows and automation.


About
·
Documentation
·
Connect
·
Built with



CI


Discord


Crates


Docs.rs

## What's an event streaming store?

If you think of an "event" like a frame in a movie—a small package on a
timeline—an event streaming store is a database designed to record these frames
in strict order, append-only, so they can be replayed or reacted to later.

For example, you might append a frame every time a message is
[posted in a specific Discord channel](examples/discord-bot). You can then
[`.cat`](https://cablehead.github.io/xs/reference/xs-nu/#cat) the stream to
review all captured messages, and—if you're in a
[Nushell](https://www.nushell.sh) session—use pipelines to filter, aggregate, or
process them with a CLI tool.

## Quick Start

See the
[installation guide](https://cablehead.github.io/xs/getting-started/installation/)
to get started.

## Features

- **Reactive Workflows**: Build handlers that automatically respond to events as
they flow through the stream
- **CLI Integration**: Turn any command-line tool into a streaming component
with generators
- **Nushell Native**: First-class integration with Nushell for powerful data
processing pipelines
- **Real-time Streaming**: Subscribe to live event feeds and build responsive
applications
- **Content Addressable**: Efficient storage and deduplication of large payloads
- **Local-first**: Your data stays on your machine, no cloud dependencies
required

## Connect

Join our [Discord](https://discord.com/invite/YNbScHBHrh) to ask questions or
share ideas.

## Built with 🙏💚

- [fjall](https://github.com/fjall-rs/fjall): for indexing and metadata
- [cacache](https://github.com/zkat/cacache-rs): for content (CAS)
- [hyper](https://hyper.rs/guides/1/server/echo/): provides an HTTP/1.1 API over
a local Unix domain socket for subscriptions, etc.
- [Nushell](https://www.nushell.sh): for scripting and
[interop](https://utopia.rosano.ca/interoperable-visions/)
- [iroh](https://www.iroh.computer): QUIC-based P2P transport for exposing and
accessing streams