{"id":13566256,"url":"https://github.com/get-eventually/eventually-rs","last_synced_at":"2026-02-13T10:21:49.905Z","repository":{"id":36960019,"uuid":"205039210","full_name":"get-eventually/eventually-rs","owner":"get-eventually","description":"Event Sourcing for Rust","archived":false,"fork":false,"pushed_at":"2024-07-09T08:24:48.000Z","size":9589,"stargazers_count":560,"open_issues_count":20,"forks_count":30,"subscribers_count":4,"default_branch":"main","last_synced_at":"2024-10-30T03:43:05.402Z","etag":null,"topics":["aggregate","cqrs","ddd","event-sourcing","eventstore","rust","rust-crate"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/get-eventually.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-08-28T23:12:54.000Z","updated_at":"2024-10-19T00:09:54.000Z","dependencies_parsed_at":"2023-11-12T10:27:38.804Z","dependency_job_id":"214c82a9-9da0-4761-8b89-0e2c2e097b0e","html_url":"https://github.com/get-eventually/eventually-rs","commit_stats":{"total_commits":183,"total_committers":9,"mean_commits":"20.333333333333332","dds":"0.47540983606557374","last_synced_commit":"d5cc7f7d4b2c213819a8d1466cea9e2721d1063b"},"previous_names":["ar3s3ru/eventually-rs"],"tags_count":23,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/get-eventually%2Feventually-rs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/get-eventually%2Feventually-rs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/get-eventually%2Feventually-rs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/get-eventually%2Feventually-rs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/get-eventually","download_url":"https://codeload.github.com/get-eventually/eventually-rs/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247174454,"owners_count":20896078,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["aggregate","cqrs","ddd","event-sourcing","eventstore","rust","rust-crate"],"created_at":"2024-08-01T13:02:05.549Z","updated_at":"2026-02-13T10:21:44.844Z","avatar_url":"https://github.com/get-eventually.png","language":"Rust","readme":"\u003cbr /\u003e\n\n\u003cdiv align=\"center\"\u003e\n    \u003cimg alt=\"Eventually\" src = \"./resources/logo.png\" width = 300\u003e\n\u003c/div\u003e\n\n\u003cbr /\u003e\n\n\u003cdiv align=\"center\"\u003e\n    \u003cstrong\u003e\n        Event Sourcing for Rust\n    \u003c/strong\u003e\n\u003c/div\u003e\n\n\u003cbr /\u003e\n\n\u003cdiv align=\"center\"\u003e\n    \u003c!-- Testing pipeline --\u003e\n    \u003ca href=\"https://github.com/get-eventually/eventually-rs/actions?query=workflow%3A%22Rust+%28stable%29%22\"\u003e\n        \u003cimg alt=\"GitHub Workflow Status\"\n        src=\"https://img.shields.io/github/actions/workflow/status/get-eventually/eventually-rs/ci.yml?branch=main\u0026style=flat-square\"\u003e\n    \u003c/a\u003e\n    \u003c!-- Codecov --\u003e\n    \u003ca href=\"https://codecov.io/gh/get-eventually/eventually-rs\"\u003e\n            \u003cimg alt=\"Codecov\"\n            src=\"https://img.shields.io/codecov/c/github/get-eventually/eventually-rs?style=flat-square\"\u003e\n    \u003c/a\u003e\n    \u003c!-- Crates.io --\u003e\n    \u003ca href=\"https://crates.io/crates/eventually\"\u003e\n        \u003cimg alt=\"Crates.io\"\n        src=\"https://img.shields.io/crates/v/eventually?style=flat-square\"\u003e\n    \u003c/a\u003e\n    \u003c!-- Github pages docs --\u003e\n    \u003ca href=\"https://get-eventually.github.io/eventually-rs/eventually\"\u003e\n        \u003cimg alt=\"latest main docs\"\n        src=\"https://img.shields.io/badge/docs-main-important?style=flat-square\" /\u003e\n    \u003c/a\u003e\n    \u003c!-- Docs.rs --\u003e\n    \u003ca href=\"https://docs.rs/eventually\"\u003e\n        \u003cimg alt=\"docs.rs docs\"\n        src=\"https://img.shields.io/badge/dynamic/json?style=flat-square\u0026color=blue\u0026label=docs.rs\u0026query=%24.crate.newest_version\u0026url=https%3A%2F%2Fcrates.io%2Fapi%2Fv1%2Fcrates%2Feventually\" /\u003e\n    \u003c/a\u003e\n    \u003c!-- License --\u003e\n    \u003ca href=\"https://github.com/get-eventually/eventually-rs/blob/main/LICENSE\"\u003e\n        \u003cimg alt=\"GitHub license\"\n        src=\"https://img.shields.io/github/license/eventually-rs/eventually-rs?style=flat-square\"\u003e\n    \u003c/a\u003e\n\u003c/div\u003e\n\n\u003cbr /\u003e\n\n\nCollection of traits and other utilities to help you build your Event-sourced applications in Rust.\n\n## Installation\n\n\u003e ⚠️ **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!\n\nAdd `eventually` into your project dependencies:\n\n```toml\n[dependencies]\neventually = { version = \"0.5.0\", features = [\"full\"], git = \"https://github.com/get-eventually/eventually-rs\" }\n```\n\n### Note on semantic versioning\n\nThis library is **actively being developed**, and prior to `v1` release the following [Semantic versioning]()\nis being adopted:\n\n* Breaking changes are tagged with a new `MINOR` release\n* New features, patches and documentation are tagged with a new `PATCH` release\n\n## What is Event Sourcing?\n\nBefore diving into the crate's internals, you may be wondering what Event Sourcing is.\n\nFrom [eventstore.com](https://eventstore.com/) introduction:\n\n\u003eEvent 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.\n\n## How does `eventually-rs` support Event Sourcing?\n\n`eventually` exposes all the necessary abstraction to model your\nDomain Entities (in lingo, _Aggregates_) using Domain Events, and\nto save these Events using an _Event Store_ (the append-only event log).\n\nFor more information, [check out the crate documentation](https://docs.rs/eventually).\n\nYou can also take a look at the [`bank-accounting`](https://github.com/get-eventually/eventually-rs/tree/main/examples/bank-accounting) example,\nshowcasing Event-sourced application for a generic (and simple) Bank Accounting bounded context.\n\n### Event Store backends\n\n`eventually-rs` provides the necessary abstractions for modeling and interacting\nwith an Event Store.\n\nThese are the following officially-supported backend implementations:\n* [`eventually::event::store::InMemory`](./eventually/src/event/store.rs): simple inmemory Event Store implementation, using `std::collections::HashMap`,\n* [`eventually-postgres`](./eventually-postgres): Event Store and Aggregate Root Repository implementations for PostgreSQL databases.\n\n## Contributing\n\nYou want to contribute to `eventually-rs` but you don't know where to start?\n\nFirst of all, thank you for considering contributing ❤️\n\nYou can head over our [`CONTRIBUTING`](./CONTRIBUTING.md) section to know\nhow to contribute to the project, and — in case you don't have a clear idea what\nto contribute — what is most needed needed from contributors.\n\n## License\n\nThis project is licensed under the [MIT license](LICENSE).\n\n### Contribution\n\nUnless 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.\n","funding_links":[],"categories":["Rust","rust"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fget-eventually%2Feventually-rs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fget-eventually%2Feventually-rs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fget-eventually%2Feventually-rs/lists"}