NPipeline.Connectors.DuckDB
0.54.1
dotnet add package NPipeline.Connectors.DuckDB --version 0.54.1
NuGet\Install-Package NPipeline.Connectors.DuckDB -Version 0.54.1
<PackageReference Include="NPipeline.Connectors.DuckDB" Version="0.54.1" />
<PackageVersion Include="NPipeline.Connectors.DuckDB" Version="0.54.1" />
<PackageReference Include="NPipeline.Connectors.DuckDB" />
paket add NPipeline.Connectors.DuckDB --version 0.54.1
#r "nuget: NPipeline.Connectors.DuckDB, 0.54.1"
#:package NPipeline.Connectors.DuckDB@0.54.1
#addin nuget:?package=NPipeline.Connectors.DuckDB&version=0.54.1
#tool nuget:?package=NPipeline.Connectors.DuckDB&version=0.54.1
NPipeline.Connectors.DuckDB
DuckDB source and sink nodes for NPipeline - an embedded analytical database connector with native Parquet/CSV/JSON support, SQL queries, and high-performance Appender API.
Features
- SQL-over-files - Query Parquet, CSV, and JSON files with full SQL (aggregations, joins, window functions)
- Streaming-first - Source nodes stream rows via
IAsyncEnumerable<T>with zero full-result buffering - High-performance writes - Sink nodes use DuckDB's native Appender API for ~1M+ rows/sec throughput
- File export - Export pipeline data to Parquet/CSV via DuckDB's optimized
COPY TO - Zero infrastructure - Embedded in-process database; no server, no containers
- Auto-create tables - Tables are automatically created from your CLR types
- Attribute mapping - Use
[DuckDBColumn]for property-to-column mapping - DI support - Full
IServiceCollectionintegration with named databases
Runtime Notes
NPipeline.Connectors.DuckDBdepends onDuckDB.NET.Data.Full, so native DuckDB runtime binaries are included transitively.
Quick Start
// Read from a Parquet file with SQL
var source = DuckDBSourceNode<SalesRecord>.FromFile("data/sales.parquet");
// Query with SQL
var source = new DuckDBSourceNode<Metric>(null, """
SELECT region, SUM(amount) as Total
FROM read_parquet('sales/*.parquet')
GROUP BY region
""");
// Write with high-performance Appender
var sink = new DuckDBSinkNode<Order>(null, "orders");
// Export to Parquet
var sink = DuckDBSinkNode<Report>.ToFile("output/report.parquet");
Documentation
See the full documentation for detailed usage, configuration options, and examples.
License
This package is licensed under the Business Source License 1.1.
Free for non-production use. Production use is free for organizations with 4 or fewer developers and annual revenue of $5M AUD or less. Larger organizations require a commercial license. This license automatically converts to MIT two years after each release.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 is compatible. 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 is compatible. 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 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.Full (>= 1.5.5)
- NPipeline.Connectors (>= 0.54.1)
-
net8.0
- DuckDB.NET.Data.Full (>= 1.5.5)
- NPipeline.Connectors (>= 0.54.1)
-
net9.0
- DuckDB.NET.Data.Full (>= 1.5.5)
- NPipeline.Connectors (>= 0.54.1)
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.54.1 | 0 | 9/21/2026 |
| 0.54.0 | 46 | 9/19/2026 |
| 0.53.2 | 96 | 9/9/2026 |
| 0.53.1 | 134 | 6/12/2026 |
| 0.53.0 | 118 | 6/11/2026 |
| 0.52.0 | 124 | 5/30/2026 |
| 0.51.1 | 118 | 5/29/2026 |
| 0.51.0 | 121 | 5/29/2026 |
| 0.50.0 | 124 | 5/29/2026 |
| 0.49.3 | 123 | 5/28/2026 |
| 0.49.2 | 116 | 5/27/2026 |
| 0.49.1 | 115 | 5/27/2026 |
| 0.49.0 | 118 | 5/25/2026 |
| 0.48.3 | 121 | 5/22/2026 |
| 0.48.2 | 118 | 5/19/2026 |
| 0.48.1 | 114 | 5/17/2026 |
| 0.48.0 | 112 | 5/17/2026 |
| 0.47.0 | 108 | 5/16/2026 |
| 0.46.0 | 108 | 5/16/2026 |
| 0.45.0 | 114 | 5/15/2026 |