get-eventually/eventually-rs

Event Sourcing for Rust

Rust

600

199 commits

updated Oct 13, 2026

See the code

README


Eventually

Event Sourcing for Rust


Collection of traits and other utilities to help you build your Event-sourced applications in Rust.

Installation

⚠️ v0.5.0 is under active development: Breaking changes are expected. If you are using eventually as a git dependency you should use a pinned version!

Add eventually into your project dependencies:

[dependencies]
eventually = { version = "0.5.0", features = ["full"], git = "https://github.com/get-eventually/eventually-rs" }

Note on semantic versioning

This library is actively being developed, and prior to v1 release the following Semantic versioning is being adopted:

  • Breaking changes are tagged with a new MINOR release
  • New features, patches and documentation are tagged with a new PATCH release

What is Event Sourcing?

Before diving into the crate's internals, you may be wondering what Event Sourcing is.

From eventstore.com introduction:

Event Sourcing is an architectural pattern that is gaining popularity as a method for building modern systems. Unlike traditional databases which only store and update the current state of data, event-sourced systems store all changes as an immutable series of events in the order that they occurred and current state is derived from that event log.

How does eventually-rs support Event Sourcing?

eventually exposes all the necessary abstraction to model your Domain Entities (in lingo, Aggregates) using Domain Events, and to save these Events using an Event Store (the append-only event log).

For more information, check out the crate documentation.

You can also take a look at the bank-accounting example, showcasing Event-sourced application for a generic (and simple) Bank Accounting bounded context.

Event Store backends

eventually-rs provides the necessary abstractions for modeling and interacting with an Event Store.

These are the following officially-supported backend implementations:

Contributing

You want to contribute to eventually-rs but you don't know where to start?

First of all, thank you for considering contributing ❤️

You can head over our CONTRIBUTING section to know how to contribute to the project, and — in case you don't have a clear idea what to contribute — what is most needed needed from contributors.

License

This project is licensed under the MIT license.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in eventually-rs by you, shall be licensed as MIT, without any additional terms or conditions.

aggregate
cqrs
ddd
event-sourcing
eventstore
rust
rust-crate

get-eventually/eventually-rs

Event Sourcing for Rust

Rust

600

199 commits

updated Oct 13, 2026

See the code

README


Eventually

Event Sourcing for Rust


Collection of traits and other utilities to help you build your Event-sourced applications in Rust.

Installation

⚠️ v0.5.0 is under active development: Breaking changes are expected. If you are using eventually as a git dependency you should use a pinned version!

Add eventually into your project dependencies:

[dependencies]
eventually = { version = "0.5.0", features = ["full"], git = "https://github.com/get-eventually/eventually-rs" }

Note on semantic versioning

This library is actively being developed, and prior to v1 release the following Semantic versioning is being adopted:

  • Breaking changes are tagged with a new MINOR release
  • New features, patches and documentation are tagged with a new PATCH release

What is Event Sourcing?

Before diving into the crate's internals, you may be wondering what Event Sourcing is.

From eventstore.com introduction:

Event Sourcing is an architectural pattern that is gaining popularity as a method for building modern systems. Unlike traditional databases which only store and update the current state of data, event-sourced systems store all changes as an immutable series of events in the order that they occurred and current state is derived from that event log.

How does eventually-rs support Event Sourcing?

eventually exposes all the necessary abstraction to model your Domain Entities (in lingo, Aggregates) using Domain Events, and to save these Events using an Event Store (the append-only event log).

For more information, check out the crate documentation.

You can also take a look at the bank-accounting example, showcasing Event-sourced application for a generic (and simple) Bank Accounting bounded context.

Event Store backends

eventually-rs provides the necessary abstractions for modeling and interacting with an Event Store.

These are the following officially-supported backend implementations:

Contributing

You want to contribute to eventually-rs but you don't know where to start?

First of all, thank you for considering contributing ❤️

You can head over our CONTRIBUTING section to know how to contribute to the project, and — in case you don't have a clear idea what to contribute — what is most needed needed from contributors.

License

This project is licensed under the MIT license.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in eventually-rs by you, shall be licensed as MIT, without any additional terms or conditions.

aggregate
cqrs
ddd
event-sourcing
eventstore
rust
rust-crate

Significant stargazers

dpc

707 followers · starred Nov 2021

svartalf

202 followers · starred Oct 2020

Santiago M. Mola

160 followers · starred Mar 2021

Markus Siglreithmaier

137 followers · starred Oct 2020