SoftwareExtravaganza.Whizbang.Data.Postgres 0.10.2-alpha.3

This is a prerelease version of SoftwareExtravaganza.Whizbang.Data.Postgres.
There is a newer prerelease version of this package available.
See the version list below for details.
dotnet add package SoftwareExtravaganza.Whizbang.Data.Postgres --version 0.10.2-alpha.3
                    
NuGet\Install-Package SoftwareExtravaganza.Whizbang.Data.Postgres -Version 0.10.2-alpha.3
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="SoftwareExtravaganza.Whizbang.Data.Postgres" Version="0.10.2-alpha.3" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="SoftwareExtravaganza.Whizbang.Data.Postgres" Version="0.10.2-alpha.3" />
                    
Directory.Packages.props
<PackageReference Include="SoftwareExtravaganza.Whizbang.Data.Postgres" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add SoftwareExtravaganza.Whizbang.Data.Postgres --version 0.10.2-alpha.3
                    
#r "nuget: SoftwareExtravaganza.Whizbang.Data.Postgres, 0.10.2-alpha.3"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package SoftwareExtravaganza.Whizbang.Data.Postgres@0.10.2-alpha.3
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=SoftwareExtravaganza.Whizbang.Data.Postgres&version=0.10.2-alpha.3&prerelease
                    
Install as a Cake Addin
#tool nuget:?package=SoftwareExtravaganza.Whizbang.Data.Postgres&version=0.10.2-alpha.3&prerelease
                    
Install as a Cake Tool

<p align="center"> <img alt="Whizbang — One Runtime. Any Store. Every Message." src="assets/hero-banner.svg" width="100%"> </p>

<p align="center"> <a href="https://whizba.ng/">Documentation</a> · <a href="https://www.nuget.org/packages/Whizbang.Core/">NuGet</a> · <a href="CONTRIBUTING.md">Contributing</a> </p>

<p align="center"> <a href="https://github.com/whizbang-lib/whizbang/actions/workflows/ci.yml"><img src="https://github.com/whizbang-lib/whizbang/actions/workflows/ci.yml/badge.svg" alt="CI"></a> <a href="https://codecov.io/gh/whizbang-lib/whizbang"><img src="https://codecov.io/gh/whizbang-lib/whizbang/branch/main/graph/badge.svg" alt="codecov"></a> <a href="https://sonarcloud.io/dashboard?id=whizbang-lib_whizbang"><img src="https://sonarcloud.io/api/project_badges/measure?project=whizbang-lib_whizbang&metric=alert_status" alt="Quality Gate Status"></a> <a href="https://www.nuget.org/packages/Whizbang.Core/"><img src="https://img.shields.io/nuget/v/Whizbang.Core.svg" alt="NuGet"></a> <a href="https://opensource.org/licenses/MIT"><img src="https://img.shields.io/badge/License-MIT-yellow.svg" alt="License: MIT"></a> </p>

<p align="center"> <a href="https://github.com/whizbang-lib/whizbang/actions/workflows/security-secrets.yml"><img src="https://github.com/whizbang-lib/whizbang/actions/workflows/security-secrets.yml/badge.svg" alt="Secret Scanning"></a> <a href="https://github.com/whizbang-lib/whizbang/actions/workflows/security-supply-chain.yml"><img src="https://github.com/whizbang-lib/whizbang/actions/workflows/security-supply-chain.yml/badge.svg" alt="Supply Chain"></a> <a href="https://securityscorecards.dev/viewer/?uri=github.com/whizbang-lib/whizbang"><img src="https://api.securityscorecards.dev/projects/github.com/whizbang-lib/whizbang/badge" alt="OSSF Scorecard"></a> </p>

<p align="center"> <a href="https://codecov.io/gh/whizbang-lib/whizbang"><img src="https://codecov.io/gh/whizbang-lib/whizbang/graphs/sunburst.svg?token=F1AZXLI2MM" alt="Codecov Sunburst" width="200"></a> </p>


<h3 align="center"><a href="https://whizba.ng">Read the full documentation at whizba.ng</a></h3>


Why Whizbang?

  • Blazing Performance — < 20ns in-process message dispatch with zero allocations on the hot path
  • Native AOT from Day One — Source generators wire everything at compile time; no reflection, no runtime surprises
  • Type Safe — Compile-time verification of message handlers, routing, and event schemas
  • Developer Experience — Rich IDE support with code navigation, diagnostics, and discovery via source generators

Core Concepts

Receptors — Stateless message handlers that receive commands and produce events. Type-safe with flexible response types.

Dispatcher — Message routing engine that connects messages to receptors with full observability (correlation, causation, hops).

Perspectives — Materialized read models built from event streams. Individually hash-tracked for incremental migration.

Lenses — Composable query projections over perspective data with LINQ translation to SQL.

Event Store — Append-only event storage with stream-based organization, UUIDv7 ordering, and optimistic concurrency.

Policy Engine — Declarative rules for message validation, transformation, and routing decisions.

Project Structure

src/
├── Whizbang.Core/                          # Core interfaces, messaging, perspectives, lenses
├── Whizbang.Generators/                    # Roslyn source generators (receptors, perspectives, registry)
├── Whizbang.Data.Dapper.Postgres/          # Dapper + PostgreSQL stores (event store, work coordinator)
├── Whizbang.Data.EFCore.Postgres/          # EF Core + PostgreSQL stores with turnkey initialization
├── Whizbang.Data.EFCore.Postgres.Generators/  # EF Core source generators (schema, registration)
├── Whizbang.Transports.RabbitMQ/           # RabbitMQ transport
├── Whizbang.Transports.AzureServiceBus/    # Azure Service Bus transport
├── Whizbang.Transports.HotChocolate/       # GraphQL integration via HotChocolate
├── Whizbang.Transports.FastEndpoints/      # REST integration via FastEndpoints
├── Whizbang.SignalR/                       # Real-time push via SignalR
├── Whizbang.Observability/                 # Metrics and tracing
├── Whizbang.Testing/                       # Test utilities and fakes
└── Whizbang.Hosting.*/                     # Hosted service wiring for transports

Technology Stack

  • .NET 10 — Target framework
  • PostgreSQL — Primary database with JSONB, UUIDv7, and hash-based schema migration
  • EF Core 10 / Dapper — Dual data access with source-generated models
  • Roslyn Source Generators — Compile-time wiring for receptors, perspectives, and DI registration
  • TUnit — Source-generated testing with Microsoft.Testing.Platform
  • Rocks — Source-generated mocking for AOT compatibility
  • Vogen — Source-generated value objects

Getting Started

dotnet add package SoftwareExtravaganza.Whizbang.Core

See the Quick Start guide for a walkthrough.

Philosophy

  • Zero Reflection — Everything via source generators
  • AOT Compatible — Native AOT from day one
  • Type Safe — Compile-time safety everywhere
  • Test Driven — 21,000+ tests with comprehensive coverage
  • Documentation First — Docs drive implementation

Contributing

See CONTRIBUTING.md for guidelines.

License

MIT

Product 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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (2)

Showing the top 2 NuGet packages that depend on SoftwareExtravaganza.Whizbang.Data.Postgres:

Package Downloads
SoftwareExtravaganza.Whizbang.Data.EFCore.Postgres

PostgreSQL Entity Framework Core integration for Whizbang with source-generated configuration.

SoftwareExtravaganza.Whizbang.Data.Dapper.Postgres

PostgreSQL event store and work coordinator implementation using Dapper for high-performance data access.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
0.10.3-alpha.17 0 3/21/2026
0.10.2-alpha.3 48 3/20/2026
0.9.11-alpha.54 21 3/20/2026
0.9.10-alpha.49 42 3/20/2026
0.9.10-alpha.47 59 3/19/2026
0.9.9-alpha.30 139 3/18/2026
0.9.8-alpha.26 104 3/17/2026
0.9.8-alpha.21 44 3/17/2026
0.9.6-alpha.71 134 3/15/2026
0.9.6-alpha.52 41 3/13/2026
0.9.6-alpha.49 133 3/13/2026
0.9.6-alpha.46 51 3/12/2026
0.9.6-alpha.16 46 3/12/2026
0.9.6-alpha.13 99 3/12/2026
0.9.6-alpha.4 57 3/12/2026
0.9.4 136 3/10/2026
0.9.3 211 3/7/2026
0.9.2-alpha.1 72 3/7/2026
0.9.1-alpha.2 41 3/7/2026
0.9.0-alpha.119 47 3/4/2026
Loading failed