Repository navigation
parcel validate CONTRACT: checks a contract compiles. No data needed.parcel lint CONTRACT: validates, then reportsadmit-reads-only-ctx,
unsatisfiable-callers,constant-rule,duplicate-condition,unused-extension, and
notes.--deny-warningsexits 1 on warnings.--schemais optional forvalidate,lintandcompile. Column types come from the
binding's local Parquet data, elseexpose. Without data, a rule reading a column not in
exposeis refused.parcel checkreports one section per caller: exposed columns, rows received, each policy
(decide,admit,transform,shape) and each quality rule over the caller's rows, with
pass rates and the commonest failing values. A refused caller shows the rule, its condition
and the caller's value. All counts run concurrently, each with a progress bar on a terminal.versionis a semantic version:1.0.0,2.1.0-beta.1. A whole number N reads as N.0.0;
a decimal such as1.10is refused with the fix (1.10.0).parcel_core::Versionreplaces
u32on documents and compiled contracts, and serialises as a string, so contract hashes
change. ODCS import keeps the full version.- Rules take an optional
message, shown incheckoutput and kept in the compiled report
(ReportEntry::message). Contracts without it hash as before. - Every structural problem in a document is reported at once, with its line and a fix.
ContractDoc::parse_allreturns them all. Diagnostichashelpandline. Messages suggest close names for columns,ctxfields,
functions and types (integer→int64), name the operation that fits a namespace, and
catchand,=andis null.- A whole-number literal beside a double is a double (
row.cost > 0); beside an unsigned
column, unsigned. Only exact literals are converted. - Output:
error[Code]with the source line andhelp:, aligned columns, colour on
terminals only (none when piped or withNO_COLOR).parcelwith no command prints help. compileprints each rule's op and tier; reasons are in--json. Anadmitthat reads
onlyctxis reported as plan time.- A compiled contract round-trips through bytes:
Compilation::to_bytesand
Compilation::from_bytes(parcel_runtime::compiled). Loading never compiles. - The
parcel-bundle/1bundle andBundle::verify, which recompiled it, are removed.
parcel compile -owrites the compiled bytes.BundledFunction,ColumnDefand the schema
helpers move toparcel_runtime::compiled.
Install
Linux and macOS: curl -LsSf https://github.com/griot-cloud/parcel/releases/latest/download/install.sh | sh
Windows: powershell -ExecutionPolicy ByPass -c "irm https://github.com/griot-cloud/parcel/releases/latest/download/install.ps1 | iex"
Or download the archive for your platform below and check it against its .sha256.