dtpipe 1.9.0

dotnet tool install --global dtpipe --version 1.9.0
                    
This package contains a .NET tool you can call from the shell/command line.
dotnet new tool-manifest
                    
if you are setting up this repo
dotnet tool install --local dtpipe --version 1.9.0
                    
This package contains a .NET tool you can call from the shell/command line.
#tool dotnet:?package=dtpipe&version=1.9.0
                    
nuke :add-package dtpipe --version 1.9.0
                    

DtPipe

A self-contained CLI for streaming, transforming, and anonymizing data across databases and file formats.

DtPipe reads from a source, applies row and columnar transformations in batches, and writes to a destination with no intermediate staging. It is designed for automation and CI/CD workflows where repeatable, observable data pipelines matter.


📚 Start with the documentation → docs/

Install, a first pipeline, the concepts, and a guide per task — anonymization, joins and fan-out, incremental loading, YAML jobs, secrets, and running in a .NET estate.


Install

dotnet tool install -g dtpipe        # or download a binary from the releases page
dtpipe --help

Six platforms per release — Linux, macOS and Windows, x64 and arm64 — each a single executable with the .NET runtime, the DuckDB engine and every database driver inside it. Nothing else to install. Full instructions, including building from source: docs/install.md.

One example

Anonymize a table on the way out, without ever writing the clear values to disk:

dtpipe \
  -i "pg:Host=localhost;Database=prod;Username=postgres" \
  --query "SELECT * FROM users" \
  --fake "email:internet.email" \
  --fake "name:name.fullName" \
  --mask "phone:###-****" \
  --null "ssn" \
  -o anonymized_users.parquet

More, from a first pipeline to a DAG: docs/quickstart.md.

What it connects to

Family Examples Prefix
Databases PostgreSQL, MySQL, SQLite, DuckDB, SQL Server, Oracle pg:, mysql:, sqlite:, duck:, mssql:, ora:
Files CSV, JsonL, Parquet, Arrow, XML csv:, jsonl:, parquet:, arrow:, xml:
Object storage S3-compatible, Azure Blob s3://bucket/key.parquet, azure://container/blob.csv
Special Data generator (source), null / checksum (sink) generate:N, null:, checksum:

dtpipe providers lists what your binary actually carries. The connection catalog, with the string format and the rules that apply to every provider, is at docs/connections/.

Is DuckDB alone enough? Often, yes — and then use it directly. DtPipe embeds it as its SQL engine and adds what a transfer needs around it: anonymization in transit, concurrent fan-out, write strategies (upsert, auto-migrate, bulk), Oracle / SQL Server / XML sources, and repeatable YAML jobs with secret management.

Documentation

Where What it holds
docs/ Start here. Install, quickstart, concepts, a guide per task, a page per connection
REFERENCE.md The exhaustive lists: every CLI flag, the YAML job schema, provider options, the MCP tools
EXTENDING.md Writing a new adapter or transformer

Contributing

See EXTENDING.md for the adapter and transformer patterns.

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.

This package has no dependencies.

Version Downloads Last Updated
1.9.0 0 10/2/2026
1.8.2 111 9/14/2026
1.8.1 110 9/10/2026
1.8.0 113 9/9/2026
1.7.0 106 9/5/2026
1.6.0 183 8/27/2026
1.5.0 167 8/6/2026
1.4.3 153 7/7/2026
1.4.2 147 6/20/2026
1.4.1 148 6/19/2026
1.4.0 167 6/17/2026
1.3.4 154 6/15/2026
1.3.3 136 6/14/2026
1.3.2 141 6/9/2026
1.3.1 152 6/8/2026
1.3.0 213 5/8/2026
1.2.6 147 4/29/2026
1.2.5 159 4/25/2026
1.2.4 149 4/14/2026
Loading failed