Qanat 0.9.0
See the version list below for details.
dotnet add package Qanat --version 0.9.0
NuGet\Install-Package Qanat -Version 0.9.0
<PackageReference Include="Qanat" Version="0.9.0" />
<PackageVersion Include="Qanat" Version="0.9.0" />
<PackageReference Include="Qanat" />
paket add Qanat --version 0.9.0
#r "nuget: Qanat, 0.9.0"
#:package Qanat@0.9.0
#addin nuget:?package=Qanat&version=0.9.0
#tool nuget:?package=Qanat&version=0.9.0
Qanat
A comprehensive event sourcing and CQRS framework for .NET with PostgreSQL persistence, Kafka integration, and advanced projection capabilities.
Features
- Event Sourcing - Full event sourcing support with aggregate roots and event streams
- CQRS - Command Query Responsibility Segregation with projections and read models
- PostgreSQL Persistence - Optimized PostgreSQL storage with partitioning support
- Kafka Integration - Built-in Kafka producer/consumer with CloudEvents format
- Flexible Repository Pattern - Supports state-based, event-sourced, projection, and hybrid aggregates
- Transactional Outbox - Guaranteed event delivery with outbox pattern
- Projections - Automatic projection building and seeding from event streams
- Domain Events - Rich domain event processing pipeline
- Integration Events - Cross-service communication with inbox/outbox patterns
Installation
dotnet add package Qanat
Quick Start
1. Define Your Aggregate
public class Organization : AggregateBase<OrganizationId>
{
public string Name { get; private set; }
public Organization(OrganizationId id, string name) : base(id)
{
Name = name;
RaiseDomainEvent(new OrganizationCreated(id, name));
}
}
2. Configure Services
services.AddQanat<AppDbContext>(configuration);
services.AddRepositories<AppDbContext>(typeof(Program).Assembly);
3. Use Repository
public class CreateOrganizationHandler
{
private readonly IAggregateRepository<Organization, OrganizationId> _repository;
public async Task HandleAsync(CreateOrganization command)
{
var org = new Organization(command.Id, command.Name);
await _repository.AddAsync(org);
}
}
Optional Packages
- Qanat.GridifyExtensions - Advanced filtering and sorting with Gridify
- Qanat.Administration - Operational dashboard and monitoring API
Configuration
Configure Qanat in your appsettings.json:
{
"Qanat": {
"DomainEvents": {
"Enabled": true,
"ProcessingInterval": "00:00:01"
},
"Kafka": {
"BootstrapServers": "localhost:9092",
"Producers": {
"Default": {
"Acks": "All",
"EnableIdempotence": true
}
}
}
}
}
Documentation
For full documentation, visit: https://qanats.io/docs
License
This is commercial software. See LICENSE.txt for licensing terms.
For licensing inquiries, please contact: [YOUR EMAIL]
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. 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. |
-
net10.0
- CloudNative.CloudEvents (>= 2.8.0)
- CloudNative.CloudEvents.SystemTextJson (>= 2.8.0)
- Confluent.Kafka (>= 2.13.0)
- Confluent.Kafka.Extensions.OpenTelemetry (>= 0.4.0)
- JetBrains.Annotations (>= 2025.2.4)
- MessagePack (>= 3.1.4)
- Microsoft.EntityFrameworkCore (>= 10.0.2)
- Microsoft.EntityFrameworkCore.Relational (>= 10.0.2)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 10.0.2)
- Microsoft.Extensions.Hosting.Abstractions (>= 10.0.2)
- Microsoft.Extensions.Http (>= 10.0.2)
- Microsoft.Extensions.Logging.Abstractions (>= 10.0.2)
- Microsoft.Extensions.Options.ConfigurationExtensions (>= 10.0.2)
- Npgsql.EntityFrameworkCore.PostgreSQL (>= 10.0.0)
- OpenTelemetry (>= 1.15.0)
- OpenTelemetry.Extensions.Hosting (>= 1.15.0)
- StackExchange.Redis (>= 2.10.1)
NuGet packages (2)
Showing the top 2 NuGet packages that depend on Qanat:
| Package | Downloads |
|---|---|
|
Qanat.Administration
Operational dashboard and monitoring API for Qanat framework, providing real-time visibility into aggregates, projections, and integration events. |
|
|
Qanat.GridifyExtensions
Gridify integration for Qanat framework, enabling advanced filtering, sorting, and querying capabilities. |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 1.0.0-beta.260122 | 80 | 1/22/2026 |
| 0.9.0 | 154 | 2/2/2026 |