triaxis.DuckPg
0.3.2
See the version list below for details.
dotnet add package triaxis.DuckPg --version 0.3.2
NuGet\Install-Package triaxis.DuckPg -Version 0.3.2
<PackageReference Include="triaxis.DuckPg" Version="0.3.2" />
<PackageVersion Include="triaxis.DuckPg" Version="0.3.2" />
<PackageReference Include="triaxis.DuckPg" />
paket add triaxis.DuckPg --version 0.3.2
#r "nuget: triaxis.DuckPg, 0.3.2"
#:package triaxis.DuckPg@0.3.2
#addin nuget:?package=triaxis.DuckPg&version=0.3.2
#tool nuget:?package=triaxis.DuckPg&version=0.3.2
triaxis.DuckPg
A stack of YAML, JSON and parquet files, served in your own process over the PostgreSQL v3 wire protocol and — on a second port — the TDS protocol Microsoft.Data.SqlClient speaks. Executed against DuckDB. Point Npgsql, SqlClient or EF Core at files you wrote a moment ago, and hold your client stack to the same wire it will meet in production.
Each table is published as a view over its layers, so it can come from a shared YAML seed, a tenant's JSON overrides and a parquet export at once, with the topmost layer holding a row winning. The top layer accepts writes, and what a client writes is an ordinary layer file another instance can read.
services.AddDuckPg(config =>
{
config.Layers = ["./common", "./tenant"];
config.Write = "./local";
config.Tds = "127.0.0.1:0"; // port 0: the OS picks, and the lake says which
});
// after host.StartAsync
var lake = host.Services.GetRequiredService<Lake>();
using var connection = new SqlConnection(lake.SqlConnectionString());
The lake is an IHostedService, so a host owns it. For many lakes at once — one per tenant, one per
exported database — AddDuckPgFactory hands out lakes a caller starts and disposes itself.
Bring a native DuckDB. This package carries none, because every platform's library together is
420 MB. Use the machine's (brew install duckdb, apt install libduckdb-dev, or DUCKDB_LIBRARY),
add DuckDB.NET.Data.Full, or set installDuckDb to fetch the matching version once per machine.
triaxis.DuckPg.Cli is the same lake as a duckpg command.
Full documentation: https://github.com/triaxis-oss/triaxis.DuckPg
| 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
- DuckDB.NET.Data (>= 1.5.5)
- Microsoft.Extensions.Configuration.Binder (>= 10.0.0)
- Microsoft.Extensions.Hosting.Abstractions (>= 10.0.0)
- Microsoft.Extensions.Logging (>= 10.0.0)
- Microsoft.Extensions.Options.ConfigurationExtensions (>= 10.0.0)
- YamlDotNet (>= 16.3.0)
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.5.5 | 46 | 9/3/2026 |
| 0.5.4 | 41 | 9/2/2026 |
| 0.5.3 | 58 | 9/1/2026 |
| 0.5.2 | 91 | 8/26/2026 |
| 0.5.1 | 139 | 8/23/2026 |
| 0.5.0 | 112 | 8/21/2026 |
| 0.4.7 | 101 | 8/20/2026 |
| 0.4.6 | 118 | 8/17/2026 |
| 0.4.5 | 97 | 8/16/2026 |
| 0.4.4 | 90 | 8/16/2026 |
| 0.4.3 | 104 | 8/14/2026 |
| 0.4.2 | 107 | 8/14/2026 |
| 0.4.1 | 108 | 8/10/2026 |
| 0.4.0 | 97 | 8/10/2026 |
| 0.3.3 | 103 | 8/8/2026 |
| 0.3.2 | 103 | 8/7/2026 |
| 0.3.1 | 98 | 8/7/2026 |
| 0.3.0 | 99 | 8/7/2026 |
| 0.2.1 | 105 | 8/5/2026 |
| 0.2.0 | 98 | 8/5/2026 |