eventstore_client 0.2.2 eventstore_client: ^0.2.2 copied to clipboard
A community developed gRPC client library for EventStoreDB. EventStoreDB is an open-source, functional database with Complex Event Processing capabilities.
A community developed gRPC client library for EventStoreDB.
EventStoreDB is an open-source, functional database with Complex Event Processing capabilities. Documentation for EventStoreDB can be found here.
This package is still in active development and not yet reached a stable version. You should expect breaking changes that will require refactoring both code and behaviors of code depending on this package. When stable 1.0.0 is released, we pledge to keep the package backwards compatible within each major version.
Getting started #
- Create a cluster in EventStore Cloud (or deploy your own)
- Create an appropriate connection string
- Create an instance of EventStoreStreamsClient with given connection string
A simple usage example of reading from a self-hosted single-node:
import 'package:eventstore_client/eventstore_client.dart';
void main() async {
// Create a client instance
final client = EventStoreStreamsClient(
EventStoreClientSettings.parse(
'esdb://127.0.0.1:2113',
),
);
// Fetch all events in EventStore
final result = await client.readFromAll(
forward: true,
resolveLinks: true,
position: LogPosition.start,
);
// Only print if read was successful
if (result.isOK) {
await for (var event in result.stream) {
print(event);
}
}
}
Usage and documentation #
This client is not yet properly documented, but we have made some example usages, and publish the API reference. For additional documentation about general usage, see the official documentation for gRPC clients on eventstore.com.
Features and bugs #
This package is in active development and breaking changes should still be expected. It currently supports the following EventStoreDB client APIs:
- ✅ Streams API
- ✅ Projections Management API
- ✅ Persistent Subscriptions Management API
- ✅ Gossip API (open source version of EventstoreDB)
We are working on the following APIs:
- ⏱ User Management API
The following APIs are planned for implementation in prioritized order:
- 1️⃣ Operations API
- 2️⃣ Monitoring API
- 3️⃣ Cluster Management API (commercial version of EventstoreDB)
Please file feature requests and bugs at the issue tracker.
Community #
There is a community discussion space at Event Store Discuss. If you prefer slack, there is also an #eventstore channel in the DDD-CQRS-ES slack community. The maintainers of this community developed client will do their best to answer any questions in both these channels.
Contributing #
Development is done on the master
branch. As for the official clients, we also
attempt to do our best to ensure that the history remains clean and to do so, we generally
ask contributors to squash their commits into a set or single logical commit.
For additional information about contributing, see CONTRIBUTION.md.