ToolUp.DataSources.Parquet
0.20.0
Prefix Reserved
See the version list below for details.
dotnet add package ToolUp.DataSources.Parquet --version 0.20.0
NuGet\Install-Package ToolUp.DataSources.Parquet -Version 0.20.0
<PackageReference Include="ToolUp.DataSources.Parquet" Version="0.20.0" />
<PackageVersion Include="ToolUp.DataSources.Parquet" Version="0.20.0" />
<PackageReference Include="ToolUp.DataSources.Parquet" />
paket add ToolUp.DataSources.Parquet --version 0.20.0
#r "nuget: ToolUp.DataSources.Parquet, 0.20.0"
#:package ToolUp.DataSources.Parquet@0.20.0
#addin nuget:?package=ToolUp.DataSources.Parquet&version=0.20.0
#tool nuget:?package=ToolUp.DataSources.Parquet&version=0.20.0
ToolUp.DataSources.Parquet
Parquet dataset codec for ToolUp.Platform — the companion implementation of
the IDatasetCodec seam. Compose it and dataset vintages are stored as
native Parquet: a DatasetContentRef tags Format = "parquet", and an
external compute worker (Python, R, anything with a Parquet reader) parses the
content blob directly, with no ToolUp code.
open ToolUp.Platform
open ToolUp.DataSources.Parquet
let datasets = BlobDatasetStore.createWithCodec dataObjects (ParquetDatasetCodec())
The default composition is unchanged without this package: BlobDatasetStore.create
uses the BCL-only JsonFrameDatasetCodec (Format = "toolup-frame-v1"), so
deployments that do not need native-Parquet handoff pay nothing.
Column mapping
| Dataset dtype | Parquet physical type |
|---|---|
Float |
double |
Int |
int64 |
Bool |
boolean |
Text / Categorical |
UTF-8 string |
Timestamp |
timestamp (microseconds, UTC-adjusted) |
Nullability maps to Parquet optional columns. Text vs Categorical and the
column roles (PanelUnit / PanelPeriod / Target) are not representable in
the Parquet physical schema, so the full declared DatasetSchema travels in
the file's custom key/value metadata under toolup.dataset.schema. Decode
verifies the physical schema against the declared one and refuses on any
mismatch. A plain Parquet reader ignores the metadata and still reads every
column natively.
Precision contract
- Timestamps round-trip as UTC instants at microsecond precision:
the original offset is not preserved (the same instant re-reads at offset
zero —
DateTimeOffsetequality, which compares instants, is preserved), and sub-microsecond ticks truncate. - All other dtypes round-trip exactly.
Dependencies
Parquet.Net (Apache-2.0),
fully managed. This vendor dependency never reaches ToolUp.Platform.* — it
is isolated in this companion behind the codec seam.
| Product | Versions 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. |
-
net10.0
- Parquet.Net (>= 6.0.3)
- ToolUp.Platform.Core (>= 0.20.0)
- ToolUp.Platform.Server (>= 0.20.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.