{"id":15882581,"url":"https://github.com/yoeight/eventstoredb-client-rust-experimental","last_synced_at":"2025-04-02T05:44:05.871Z","repository":{"id":45095866,"uuid":"436662689","full_name":"YoEight/EventStoreDB-Client-Rust-Experimental","owner":"YoEight","description":"Rust EventStoreDB gRPC Client with experimental features.","archived":false,"fork":false,"pushed_at":"2023-12-17T04:14:05.000Z","size":1428,"stargazers_count":1,"open_issues_count":1,"forks_count":0,"subscribers_count":2,"default_branch":"experimental","last_synced_at":"2025-04-01T21:59:50.705Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"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/YoEight.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2021-12-09T15:16:41.000Z","updated_at":"2023-10-28T20:10:42.000Z","dependencies_parsed_at":"2022-09-06T03:00:17.987Z","dependency_job_id":"4e6abe66-4c5f-4502-b00e-7f0e739163aa","html_url":"https://github.com/YoEight/EventStoreDB-Client-Rust-Experimental","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/YoEight%2FEventStoreDB-Client-Rust-Experimental","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/YoEight%2FEventStoreDB-Client-Rust-Experimental/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/YoEight%2FEventStoreDB-Client-Rust-Experimental/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/YoEight%2FEventStoreDB-Client-Rust-Experimental/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/YoEight","download_url":"https://codeload.github.com/YoEight/EventStoreDB-Client-Rust-Experimental/tar.gz/refs/heads/experimental","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246763861,"owners_count":20829798,"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":[],"created_at":"2024-10-06T04:05:14.309Z","updated_at":"2025-04-02T05:44:05.854Z","avatar_url":"https://github.com/YoEight.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# EventStoreDB Rust Client\n[![Crates.io][crates-badge]][crates-url]\n[![Crates.io][crates-download]][crates-url]\n[![Build Status][ci-badge]][ci-url]\n![Discord](https://img.shields.io/discord/415421715385155584.svg)\n![Crates.io](https://img.shields.io/crates/l/eventstore.svg)\n\n[crates-badge]: https://img.shields.io/crates/v/eventstore.svg\n[crates-download]: https://img.shields.io/crates/d/eventstore.svg\n[crates-url]: https://crates.io/crates/eventstore\n[ci-badge]: https://github.com/EventStore/EventStoreDB-Client-Rust/workflows/CI/badge.svg\n[ci-url]: https://github.com/EventStore/EventStoreDB-Client-Rust/actions\n\n[Documentation](https://docs.rs/eventstore)\n\nOfficial Rust [EventStoreDB rust gRPC] gRPC Client.\n\n[EventStoreDB] is an open-source database built from the ground up for Event Sourcing, with Complex Event Processing in Javascript.\n\n## EventStoreDB Server Compatibility\nThis client is compatible with version `20.6.1` upwards and works on Linux, MacOS and Windows.\n\n\nServer setup instructions can be found here [EventStoreDB Docs], follow the docker setup for the simplest configuration.\n\n# Example\n\n```rust\nuse eventstore::{ Client, EventData };\nuse serde::{Serialize, Deserialize};\n\n#[derive(Serialize, Deserialize, Debug)]\nstruct Foo {\n    is_rust_a_nice_language: bool,\n}\n\n#[tokio::main]\nasync fn main() -\u003e Result\u003c(), Box\u003cdyn std::error::Error\u003e\u003e {\n\n    // Creates a client settings for a single node configuration.\n    let settings = \"esdb://admin:changeit@localhost:2113\".parse()?;\n    let client = Client::new(settings)?;\n\n    let payload = Foo {\n        is_rust_a_nice_language: true,\n    };\n\n    // It is not mandatory to use JSON as a data format however EventStoreDB\n    // provides great additional value if you do so.\n    let evt = EventData::json(\"language-poll\", \u0026payload)?;\n\n    client\n        .append_to_stream(\"language-stream\", \u0026Default::default(), evt)\n        .await?;\n\n    let mut stream = client\n        .read_stream(\"language-stream\", \u0026Default::default())\n        .await?;\n\n    while let Some(event) = stream.next().await? {\n        let event = event.get_original_event()\n          .as_json::\u003cFoo\u003e()?;\n\n        // Do something productive with the result.\n        println!(\"{:?}\", event);\n    }\n\n    Ok(())\n}\n```\n\n## Support\n\nInformation on support can be found here: [EventStoreDB Support]\n\n## Documentation\n\nDocumentation for EventStoreDB can be found here: [EventStoreDB Docs]\n\nBear in mind that this client is not yet properly documented. We are working hard on a new version of the documentation.\n\n## Community\n\nWe have a community discussion space at [EventStoreDB Discuss].\n\n[EventStoreDB]: https://eventstore.com/\n[EventStoreDB rust gRPC]: https://developers.eventstore.com/clients/grpc/getting-started?codeLanguage=Rust\n[eventstoredb docs]: https://developers.eventstore.com/latest.html\n[eventstoredb discuss]: https://discuss.eventstore.com/\n[eventstoredb support]: https://eventstore.com/support/\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyoeight%2Feventstoredb-client-rust-experimental","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fyoeight%2Feventstoredb-client-rust-experimental","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyoeight%2Feventstoredb-client-rust-experimental/lists"}