Packata.Core
0.43.0
See the version list below for details.
dotnet add package Packata.Core --version 0.43.0
NuGet\Install-Package Packata.Core -Version 0.43.0
<PackageReference Include="Packata.Core" Version="0.43.0" />
<PackageVersion Include="Packata.Core" Version="0.43.0" />
<PackageReference Include="Packata.Core" />
paket add Packata.Core --version 0.43.0
#r "nuget: Packata.Core, 0.43.0"
#:package Packata.Core@0.43.0
#addin nuget:?package=Packata.Core&version=0.43.0
#tool nuget:?package=Packata.Core&version=0.43.0
Packata
![]()
Packata is a standards-neutral .NET library for working with Data Package v2 and Open Data Contract Standard (ODCS) documents. It maps both formats to a shared model for data assets, schemas, metadata, and endpoints, with optional packages for reading and provisioning data.
About | Packages | Installing | Quickstart
About
Use the format-specific models when you need direct access to Data Package or ODCS concepts. Map either format to Packata.Core.Contracts.DataContract when you want readers, provisioners, and other integrations to work independently of the source document format.
Continuous integration builds:
Packages
| Package | Purpose |
|---|---|
Packata.Core |
Standards-neutral contracts for assets, schemas, endpoints, diagnostics, readers, and provisioners |
Packata.DataPackage |
Data Package v2 models, JSON/YAML serialization, validation, and canonical mapping |
Packata.OpenDataContract |
ODCS models, YAML serialization, validation, and canonical mapping |
Packata.ResourceReaders |
Access to delimited, Excel, Parquet, and database resources through IDataReader |
Packata.Storages |
Access to documents and resources on local, HTTP(S), S3, and Azure storage |
Packata.Provisioners |
Provisioning of canonical data contracts to relational platforms |
Packata-cli |
Cross-platform command-line interface distributed as a .NET tool and self-contained executables |
Packata libraries target .NET 8, .NET 9, and .NET 10. The CLI targets .NET 10.
Installing
Install the package for the document format you use:
dotnet add package Packata.DataPackage
dotnet add package Packata.OpenDataContract
Add Packata.ResourceReaders, Packata.Storages, or Packata.Provisioners when your application needs those capabilities. Format packages reference Packata.Core, so it does not need to be installed separately.
Command-line tool
Install the framework-dependent .NET 10 tool from NuGet:
dotnet tool install --global Packata-cli
packata --help
Update an existing installation with dotnet tool update --global Packata-cli.
Self-contained executables that do not require an installed .NET runtime are available from the GitHub releases page. Select the archive for your platform:
| Platform | Runtime archive | Executable |
|---|---|---|
| Windows x64 | win-x64 |
packata.exe |
| Windows ARM64 | win-arm64 |
packata.exe |
| Linux x64 (glibc) | linux-x64 |
packata |
| Linux ARM64 (glibc) | linux-arm64 |
packata |
| Alpine Linux x64 (musl) | linux-musl-x64 |
packata |
| Alpine Linux ARM64 (musl) | linux-musl-arm64 |
packata |
| macOS Intel | osx-x64 |
packata |
| macOS Apple Silicon | osx-arm64 |
packata |
Linux distributions using glibc must use a linux-* archive; Alpine and other musl-based distributions must use linux-musl-*. Extract the ZIP archive on Windows or the tar.gz archive on Linux/macOS, then invoke the executable directly. Packata does not publish a 32-bit Windows CLI.
Quickstart
Load a Data Package descriptor and map it to the standards-neutral model:
using Packata.DataPackage;
using Packata.DataPackage.Mapping;
var package = new DataPackageFactory().LoadFromFile("datapackage.json");
var contract = package
.ToCanonicalContract()
.ReportDiagnostics(diagnostic =>
Console.Error.WriteLine($"{diagnostic.Severity}: {diagnostic.Message}"))
.RequireValue();
foreach (var asset in contract.Assets)
Console.WriteLine(asset.Name);
ODCS documents map to the same canonical model through the Packata.OpenDataContract.Mapping namespace. See MIGRATION.md for side-by-side mapping examples and guidance for upgrading from earlier Packata versions.
License
Packata is licensed under the Apache License 2.0.
| 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
- No dependencies.
-
net8.0
- No dependencies.
-
net9.0
- No dependencies.
NuGet packages (6)
Showing the top 5 NuGet packages that depend on Packata.Core:
| Package | Downloads |
|---|---|
|
Packata.ResourceReaders
Packata is a library for consuming Data Package v2 files. The `Packata.ResourceReaders` package specializes in providing read access to resource files using common patterns, such as `IDataReader`, ensuring seamless data retrieval and processing. |
|
|
Packata.Provisioners
Packata is a library for consuming Data Package v2 files. The Packata.Provisioners package specializes in providing a relational engine on top of the content of the package. |
|
|
Packata.Storages
Packata is a library for consumming Data Package v2 files. The Packata.Storages package specializes in providing access to the package and resources wherever they are located (local file system, https(s), AWS S3 and Azure Data Lake Storage). |
|
|
Packata.OpenDataContract
Packata.OpenDataContract is a Packata extension that supports deserialization of Open Data Contract Specifications (ODCS). It maps schema elements, properties, quality checks, and metadata directly into strongly typed C# models, enabling validation, introspection, and integration into data platform pipelines.. |
|
|
Packata.DataContractSpecification
Packata.DataContractSpecification is a Packata extension that supports deserialization of data contracts following the datacontract-specification available at datacontract.com. It maps info, models and servers directly into strongly typed C# models, enabling validation, introspection, and integration into data platform pipelines. |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 0.63.4 | 151 | 10/5/2026 |
| 0.63.2 | 160 | 10/4/2026 |
| 0.46.0 | 0 | 10/11/2026 |
| 0.45.2 | 207 | 10/4/2026 |
| 0.45.0 | 55 | 10/9/2026 |
| 0.44.0 | 74 | 10/9/2026 |
| 0.43.0 | 97 | 10/8/2026 |
| 0.42.0 | 90 | 10/8/2026 |
| 0.41.1 | 156 | 10/5/2026 |
| 0.41.0 | 155 | 10/5/2026 |
| 0.40.19 | 162 | 10/4/2026 |
| 0.40.17 | 191 | 9/16/2026 |
| 0.40.16 | 175 | 9/16/2026 |
| 0.40.15 | 226 | 8/22/2026 |
| 0.40.14 | 203 | 8/13/2026 |
| 0.40.13 | 227 | 7/21/2026 |
| 0.40.12 | 240 | 7/7/2026 |
| 0.40.10 | 252 | 6/29/2026 |
| 0.40.9 | 232 | 6/29/2026 |
| 0.40.8 | 222 | 6/22/2026 |
Breaking: Data Package document types moved to Packata.DataPackage. Core now exposes only canonical, standards-neutral contracts.