StreamStore.Contracts
0.15.0
dotnet add package StreamStore.Contracts --version 0.15.0
NuGet\Install-Package StreamStore.Contracts -Version 0.15.0
<PackageReference Include="StreamStore.Contracts" Version="0.15.0" />
<PackageVersion Include="StreamStore.Contracts" Version="0.15.0" />
<PackageReference Include="StreamStore.Contracts" />
paket add StreamStore.Contracts --version 0.15.0
#r "nuget: StreamStore.Contracts, 0.15.0"
#:package StreamStore.Contracts@0.15.0
#addin nuget:?package=StreamStore.Contracts&version=0.15.0
#tool nuget:?package=StreamStore.Contracts&version=0.15.0
StreamStore
Asynchronous event sourcing.
Library provides a logical layer for storing and querying events as a stream.
Heavily inspired by Greg Young's Event Store and Streamstone solutions.
Overview
Designed to be easily extended with custom storage backends.
Despite the fact that component implements a logical layer for storing and querying events as a stream,
it does not provide functionality of DDD aggregate, such as state mutation, conflict resolution etc., but serves more as persistence layer for it.
Packages
| Name | Description | Package |
|---|---|---|
| StreamStore | Asynchronous event streaming | |
| StreamStore.Storage | Base implementation of storage | |
| StreamStore.Serialization.Protobuf | Protobuf event serializer |
Storage packages
| Name | Description | Concurrency Control | Multitenancy | Event Duplication Detection | Package |
|---|---|---|---|---|---|
| StreamStore.NoSql.Cassandra | Apache Cassandra and Azure Cosmos DB for Apache Cassandra storage |
Optimistic |
✅ | ❌ | |
| StreamStore.Sql.PostgreSql | PostgreSQL storage |
Optimistic |
✅ | ✅ | |
| StreamStore.Sql.Sqlite | SQLite storage |
Optimistic |
✅ | ✅ | |
| StreamStore.InMemory | In-memory storage is provided for testing and educational purposes only | Optimistic |
✅ | ✅ | |
| StreamStore.S3.AWS | Amazon S3 storage |
Pessimistic |
:x: | ❌ | |
| StreamStore.S3.B2 | Backblaze B2 storage (not working at the moment!) |
Pessimistic |
:x: | ❌ |
Features
The general idea is to highlight the common characteristics and features of event sourcing storage:
- Asynchronous read and write operations.
- Multitenancy support.
- Automatic provisioning of storage schema.
- Event ordering.
- Serialization/deserialization of events.
- Optimistic concurrency control.
- Event duplication detection based on event ID.
- Storage agnostic test framework, including benchmarking test scenarios.
- Binary serialization support.
- Custom event properties.
More information you can find in the documentation.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
| .NET Core | netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.1 is compatible. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.1
- FluentValidation (>= 11.11.0)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 9.0.5)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 0.15.0 | 241 | 5/30/2025 |
| 0.14.0 | 272 | 5/29/2025 |
| 0.13.0 | 276 | 5/25/2025 |
| 0.12.0 | 246 | 4/5/2025 |
| 0.11.0 | 468 | 11/26/2024 |
| 0.9.0 | 166 | 11/17/2024 |
| 0.8.0 | 442 | 11/15/2024 |
| 0.7.1 | 216 | 11/11/2024 |
| 0.7.0 | 347 | 11/8/2024 |
| 0.6.0 | 359 | 10/18/2024 |
| 0.5.0 | 279 | 10/16/2024 |
| 0.4.0 | 356 | 10/8/2024 |
| 0.3.0 | 205 | 10/8/2024 |
| 0.2.2 | 671 | 9/30/2024 |