Packata.OpenDataContract
0.43.0
See the version list below for details.
dotnet add package Packata.OpenDataContract --version 0.43.0
NuGet\Install-Package Packata.OpenDataContract -Version 0.43.0
<PackageReference Include="Packata.OpenDataContract" Version="0.43.0" />
<PackageVersion Include="Packata.OpenDataContract" Version="0.43.0" />
<PackageReference Include="Packata.OpenDataContract" />
paket add Packata.OpenDataContract --version 0.43.0
#r "nuget: Packata.OpenDataContract, 0.43.0"
#:package Packata.OpenDataContract@0.43.0
#addin nuget:?package=Packata.OpenDataContract&version=0.43.0
#tool nuget:?package=Packata.OpenDataContract&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
- Packata.Core (>= 0.43.0)
- YamlDotNet (>= 18.1.0)
-
net8.0
- Packata.Core (>= 0.43.0)
- YamlDotNet (>= 18.1.0)
-
net9.0
- Packata.Core (>= 0.43.0)
- YamlDotNet (>= 18.1.0)
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.63.4 | 86 | 10/5/2026 |
| 0.63.2 | 85 | 10/4/2026 |
| 0.46.0 | 0 | 10/11/2026 |
| 0.45.2 | 98 | 10/4/2026 |
| 0.45.0 | 38 | 10/9/2026 |
| 0.44.0 | 39 | 10/9/2026 |
| 0.43.0 | 40 | 10/8/2026 |
| 0.42.0 | 39 | 10/8/2026 |
| 0.41.1 | 77 | 10/5/2026 |
| 0.41.0 | 84 | 10/5/2026 |
| 0.40.19 | 87 | 10/4/2026 |
| 0.40.17 | 114 | 9/16/2026 |
| 0.40.16 | 96 | 9/16/2026 |
| 0.40.15 | 116 | 8/22/2026 |
| 0.40.14 | 122 | 8/13/2026 |
| 0.40.13 | 127 | 7/21/2026 |
| 0.40.12 | 134 | 7/7/2026 |
| 0.40.10 | 152 | 6/29/2026 |
| 0.40.9 | 130 | 6/29/2026 |
| 0.40.8 | 134 | 6/22/2026 |
ODCS remains supported and maps to the standards-neutral Packata.Core model through OpenDataContractMapper.