Skip to content

Extensions

NPipeline is distributed as a set of NuGet packages. The core NPipeline package provides the pipeline runtime, node abstractions, error handling, and configuration. Everything else is an optional extension you install as needed.

Core Packages

PackageDescription
NPipelinePipeline runtime, node base classes, resilience, error handling, configuration
NPipeline.AnalyzersRoslyn analyzers and code fixes for pipeline configuration issues

Extension Packages

These packages add capabilities to the core pipeline runtime.

PackageDescriptionDocs
NPipeline.Extensions.AIAI-powered transform and enrichment nodes using any IChatClient providerReference
NPipeline.Extensions.DependencyInjectionMicrosoft.Extensions.DependencyInjection integration for automatic node resolutionReference · Guide
NPipeline.Extensions.NodesPre-built utility nodes: cleansing, validation, filtering, conversion, enrichmentReference
NPipeline.Extensions.CompositionTreat entire pipelines as nodes within larger pipelinesReference · Guide
NPipeline.Extensions.ParallelismParallel execution strategies with configurable backpressure and queue policiesReference · Guide
NPipeline.Extensions.ObservabilityObservability infrastructure for metrics collection and monitoringReference · Guide
NPipeline.Extensions.Observability.OpenTelemetryOpenTelemetry integration for distributed tracingReference · Guide
NPipeline.Extensions.LineageData lineage tracking and provenance capabilitiesReference · Guide
NPipeline.Extensions.TestingTesting utilities: in-memory nodes, test harness, assertionsReference · Guide
NPipeline.Extensions.Testing.FluentAssertionsFluentAssertions extensions for pipeline execution resultsReference · Guide
NPipeline.Extensions.Testing.AwesomeAssertionsAwesomeAssertions extensions for pipeline execution resultsReference · Guide

Connector Packages

Connectors provide pre-built source and sink nodes for reading from and writing to external systems.

File Formats

PackageDescription
NPipeline.Connectors.CsvCSV source/sink using CsvHelper
NPipeline.Connectors.JsonJSON source/sink using System.Text.Json
NPipeline.Connectors.ParquetParquet source/sink using Parquet.Net
NPipeline.Connectors.ExcelExcel source/sink (XLS, XLSX)

Databases

PackageDescription
NPipeline.Connectors.PostgresPostgreSQL source/sink using Npgsql
NPipeline.Connectors.SqlServerSQL Server source/sink using Microsoft.Data.SqlClient
NPipeline.Connectors.MySqlMySQL/MariaDB source/sink with streaming and bulk-load writes
NPipeline.Connectors.MongoDBMongoDB source/sink
NPipeline.Connectors.CosmosDbAzure Cosmos DB source/sink with SQL queries and Change Feed
NPipeline.Connectors.SnowflakeSnowflake source/sink with streaming, batching, staged COPY loading
NPipeline.Connectors.DuckDBDuckDB embedded analytics with Parquet/CSV/JSON support and SQL queries

Message Queues

PackageDescription
NPipeline.Connectors.KafkaApache Kafka source/sink with Avro/Protobuf support
NPipeline.Connectors.RabbitMQRabbitMQ streaming source/sink (async API)
NPipeline.Connectors.Azure.ServiceBusAzure Service Bus source/sink with queues and topics
NPipeline.Connectors.Aws.SqsAWS SQS source/sink for reliable message queuing

Specialized

PackageDescription
NPipeline.Connectors.HttpHTTP/REST API source/sink with pagination, auth, retry, rate limiting
NPipeline.Connectors.DataLakeData Lake table abstractions with partitioning, manifests, snapshots, time travel

Connector Analyzers

PackageDescription
NPipeline.Connectors.Postgres.AnalyzersPostgreSQL-specific analyzers (checkpointing validation)
NPipeline.Connectors.SqlServer.AnalyzersSQL Server-specific analyzers (checkpointing validation)

Storage Provider Packages

Storage providers implement the IStorageProvider abstraction used by file-based connectors (CSV, JSON, Parquet, Excel) to read and write from different storage backends.

PackageDescription
NPipeline.StorageProviders.S3AWS S3 storage provider
NPipeline.StorageProviders.S3.CompatibleS3-compatible storage (MinIO, DigitalOcean Spaces, etc.)
NPipeline.StorageProviders.AzureAzure Blob Storage provider
NPipeline.StorageProviders.AdlsAzure Data Lake Storage Gen2 provider
NPipeline.StorageProviders.GcpGoogle Cloud Storage provider
NPipeline.StorageProviders.SftpSFTP storage provider

Installing Extensions

All packages are available on NuGet. Install with the .NET CLI:

bash
dotnet add package NPipeline.Extensions.DependencyInjection
dotnet add package NPipeline.Connectors.Csv
dotnet add package NPipeline.StorageProviders.S3

Or add multiple packages to your .csproj:

xml
<ItemGroup>
    <PackageReference Include="NPipeline" />
    <PackageReference Include="NPipeline.Extensions.DependencyInjection" />
    <PackageReference Include="NPipeline.Connectors.Csv" />
    <PackageReference Include="NPipeline.StorageProviders.S3" />
</ItemGroup>

Next Steps

Released under the MIT License.