ETLBox 3.5.0
dotnet add package ETLBox --version 3.5.0
NuGet\Install-Package ETLBox -Version 3.5.0
<PackageReference Include="ETLBox" Version="3.5.0" />
paket add ETLBox --version 3.5.0
#r "nuget: ETLBox, 3.5.0"
// Install ETLBox as a Cake Addin #addin nuget:?package=ETLBox&version=3.5.0 // Install ETLBox as a Cake Tool #tool nuget:?package=ETLBox&version=3.5.0
What is ETLBox
ETLBox is a lightweight ETL (extract, transform, load) library and data integration toolbox for .NET. You can use it to read any data from different sources and connect them with customizable transformations. Finally, you can export the data into different databases, web endpoints, file types or any other destinations. While data is processed in memory, you can choose between different transformation components to harmonize, filter, aggregate, validate and clean your data.
ETLBox is a fully functional alternative to other ETL tools like SQLServer Integrations Services (SSIS) or Azure Data Factory. The main difference to other toolsets is that it doesn’t come with a User Interface. But no worries! Working with ETLBox, you will discover that creating data flows programmatically is the best approach for solving most of your ETL and data integration related problems.
Why should I choose ETLBox?
Here are a few things you can do with ETLBox:
- Convert incoming data to a common format.
- Prepare data for analysis and visualization.
- Migrate between databases.
- Share data processing logic across web apps, batch jobs, and APIs.
- Power your data ingestion and integration tools.
- Consume large CSV, Excel or Json files.
- Process big data with a limited amount of memory.
- Bulk insert, update or delete into your database.
Core concepts
ETLBox is a data processing engine based on .NET Core, giving you the power to create your own ETL processes. This engine runs inside your applications, APIs, and jobs to extract, filter, transform, migrate data on-the-fly. ETLBox speeds up your development by providing an easy-to-use toolbox for integrating your data from different sources within your app and load them into any target you like.
Learn more: www.etlbox.net
Ready to learn more? Visit www.etlbox.net and get started with coding your own ETL jobs with C#!
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 is compatible. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. 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. |
.NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
.NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen40 was computed. tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- Azure.Storage.Blobs (>= 12.22.2)
- DeepCloner (>= 0.10.4)
- Microsoft.AspNet.WebApi.Client (>= 6.0.0)
- Microsoft.CSharp (>= 4.7.0)
- Microsoft.Extensions.Logging (>= 8.0.1)
- Newtonsoft.Json (>= 13.0.3)
- System.Data.Common (>= 4.3.0)
- System.Threading.Tasks.Dataflow (>= 8.0.1)
-
net6.0
- Azure.Storage.Blobs (>= 12.22.2)
- DeepCloner (>= 0.10.4)
- Microsoft.AspNet.WebApi.Client (>= 6.0.0)
- Microsoft.CSharp (>= 4.7.0)
- Microsoft.Extensions.Logging (>= 8.0.1)
- Newtonsoft.Json (>= 13.0.3)
- System.Data.Common (>= 4.3.0)
- System.Threading.Tasks.Dataflow (>= 8.0.1)
-
net8.0
- Azure.Storage.Blobs (>= 12.22.2)
- DeepCloner (>= 0.10.4)
- Microsoft.AspNet.WebApi.Client (>= 6.0.0)
- Microsoft.CSharp (>= 4.7.0)
- Microsoft.Extensions.Logging (>= 8.0.1)
- Newtonsoft.Json (>= 13.0.3)
- System.Data.Common (>= 4.3.0)
- System.Threading.Tasks.Dataflow (>= 8.0.1)
NuGet packages (32)
Showing the top 5 NuGet packages that depend on ETLBox:
Package | Downloads |
---|---|
ETLBox.SqlServer
This is the Sql Server connector pack for ETLBox. ETLBox is a lightweight ETL (extract, transform, load) library and data integration toolbox for .NET. |
|
ETLBox.Json
This is the Json connector for ETLBox. ETLBox is a lightweight ETL (extract, transform, load) library and data integration toolbox for .NET. |
|
ETLBox.Postgres
This is the Postgres connector pack for ETLBox. ETLBox is a lightweight ETL (extract, transform, load) library and data integration toolbox for .NET. |
|
ETLBox.Csv
This is the Csv connector for ETLBox. ETLBox is a lightweight ETL (extract, transform, load) library and data integration toolbox for .NET. |
|
ETLBox.MySql
This is the MySql connector for ETLBox. ETLBox is a lightweight ETL (extract, transform, load) library and data integration toolbox for .NET. |
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
3.5.0 | 977 | 10/14/2024 |
3.4.4 | 829 | 9/30/2024 |
3.4.3 | 1,115 | 9/12/2024 |
3.4.2 | 1,048 | 9/3/2024 |
3.4.1 | 1,590 | 7/15/2024 |
3.4.0 | 2,567 | 5/29/2024 |
3.3.0 | 3,461 | 3/14/2024 |
3.2.0 | 10,103 | 1/11/2024 |
3.1.0 | 6,112 | 11/24/2023 |
3.0.2 | 11,842 | 10/6/2023 |
3.0.1 | 2,332 | 9/27/2023 |
3.0.0 | 6,123 | 7/11/2023 |
2.7.1 | 2,475 | 6/5/2023 |
2.7.0 | 5,093 | 4/4/2023 |
2.6.8 | 6,619 | 2/9/2023 |
2.6.7 | 4,646 | 1/9/2023 |
2.6.6 | 8,194 | 10/28/2022 |
2.6.5 | 6,953 | 10/19/2022 |
2.6.4 | 7,034 | 10/10/2022 |
2.6.3 | 7,094 | 9/26/2022 |
2.6.2 | 7,136 | 7/8/2022 |
2.6.1 | 7,589 | 5/19/2022 |
2.6.0 | 7,399 | 3/22/2022 |
2.5.2 | 7,181 | 12/30/2021 |
2.5.1 | 4,549 | 10/8/2021 |
2.5.0 | 8,220 | 9/27/2021 |
2.4.4 | 5,458 | 8/4/2021 |
2.4.3 | 4,267 | 7/16/2021 |
2.4.2 | 4,290 | 7/2/2021 |
2.4.1 | 9,344 | 5/17/2021 |
2.4.0 | 4,107 | 4/13/2021 |
2.3.2 | 1,705 | 3/2/2021 |
2.3.1 | 4,145 | 2/16/2021 |
2.3.0 | 5,265 | 1/11/2021 |
2.2.5 | 4,368 | 12/21/2020 |
2.2.4 | 3,673 | 12/15/2020 |
2.2.3 | 3,985 | 12/4/2020 |
2.2.1 | 1,569 | 11/23/2020 |
2.2.0 | 4,447 | 11/17/2020 |
2.1.4-beta | 1,246 | 10/28/2020 |
2.1.4-alpha | 767 | 10/24/2020 |
2.1.3 | 1,715 | 10/23/2020 |
2.1.2 | 5,470 | 9/24/2020 |
2.1.1 | 1,708 | 9/3/2020 |
2.1.0 | 3,873 | 9/3/2020 |
2.0.7 | 1,098 | 8/13/2020 |
2.0.6 | 1,161 | 8/13/2020 |
2.0.5 | 1,796 | 7/14/2020 |
2.0.4 | 1,863 | 7/9/2020 |
2.0.3 | 1,522 | 7/1/2020 |
2.0.2 | 3,935 | 7/1/2020 |
2.0.1 | 3,641 | 6/19/2020 |
2.0.0 | 3,201 | 6/10/2020 |
1.8.9 | 1,402 | 6/10/2020 |
1.8.8 | 1,227 | 5/27/2020 |
1.8.8-beta | 831 | 5/24/2020 |
1.8.8-alpha | 876 | 5/18/2020 |
1.8.7 | 16,981 | 5/12/2020 |
1.8.7-alpha | 785 | 4/22/2020 |
1.8.6 | 3,725 | 4/21/2020 |
1.8.5 | 2,238 | 4/9/2020 |
1.8.4 | 1,094 | 4/6/2020 |
1.8.3 | 2,834 | 3/24/2020 |
1.8.2 | 1,356 | 3/9/2020 |
1.8.2-alpha | 937 | 2/28/2020 |
1.8.1 | 2,612 | 2/27/2020 |
1.8.0 | 2,246 | 2/22/2020 |
1.8.0-rc2 | 938 | 2/15/2020 |
1.8.0-rc1 | 792 | 2/14/2020 |
1.8.0-beta | 782 | 2/10/2020 |
1.8.0-alpha | 870 | 2/4/2020 |
1.7.7 | 1,449 | 1/29/2020 |
1.7.6 | 1,265 | 1/15/2020 |
1.7.5 | 1,239 | 1/5/2020 |
1.7.5-alpha | 823 | 1/3/2020 |
1.7.4 | 1,156 | 1/2/2020 |
1.7.4-alpha | 793 | 12/31/2019 |
1.7.3 | 1,127 | 12/26/2019 |
1.7.2 | 1,131 | 12/16/2019 |
1.7.1 | 1,662 | 11/30/2019 |
1.7.0 | 962 | 11/25/2019 |
1.6.5 | 1,048 | 11/22/2019 |
1.6.4 | 1,008 | 11/17/2019 |
1.6.3 | 1,606 | 11/8/2019 |
1.6.2 | 1,034 | 11/4/2019 |
1.6.2-alpha | 822 | 10/22/2019 |
1.6.1 | 1,369 | 10/18/2019 |
1.6.0 | 1,036 | 10/7/2019 |
1.5.0 | 1,111 | 9/13/2019 |
1.4.2 | 1,022 | 8/30/2019 |
1.4.1 | 943 | 8/27/2019 |
1.4.0 | 960 | 8/8/2019 |
1.3.2 | 933 | 8/5/2019 |
1.3.1 | 1,069 | 6/26/2019 |
1.3.0 | 1,043 | 6/6/2019 |
1.2.3 | 987 | 6/5/2019 |
1.2.2 | 1,092 | 5/24/2019 |
1.2.1 | 1,030 | 4/22/2019 |
1.2.0 | 1,083 | 4/13/2019 |
1.1.2 | 1,114 | 3/28/2019 |
1.1.1 | 1,421 | 2/2/2019 |
1.1.0 | 1,114 | 1/28/2019 |
1.1.0-beta | 953 | 1/14/2019 |
1.0.1 | 1,209 | 12/20/2018 |
1.0.0 | 1,125 | 12/17/2018 |
0.1.1 | 1,246 | 12/10/2018 |
What's new in 3.5.0
Features:
- Network validation: Added "default" void linking if component is linked with a single predicate
- Network class extended with helper method LinkAllErrorTo()
-[BREAKING] ColumnRename renamed to ColumnTransformation, adding option to reorder or remove columns
- Sort: Support for "default" data types like DateTime and String
- Network: added StartWith() and LinkTo() methods directly on Network class (less code for linking needed)
- Pivot: Added handling of duplicates
- FilterTransformation: Added count of filtered/unfiltered rows
- Added ErrorCount property for all components (only if LinkErrorTo redirects flawed rows)
- New Component: RowValidation
- Network initialization: Reduced initializiation steps for larger networks
- Updated dependencies to latest versions
Bug Fixes:
- Pivot: KeepEmptyValues now have aligned order in dynamic output object
- Fixed issue where exceptions in predicates were not properly handled
- Improving XmlSource when reading using dynamic objects