Skip to content

0.0.4

Latest

Choose a tag to compare

@github-actions github-actions released this 15 Oct 12:17
92174ed
  • parcel validate CONTRACT: checks a contract compiles. No data needed.
  • parcel lint CONTRACT: validates, then reports admit-reads-only-ctx,
    unsatisfiable-callers, constant-rule, duplicate-condition, unused-extension, and
    notes. --deny-warnings exits 1 on warnings.
  • --schema is optional for validate, lint and compile. Column types come from the
    binding's local Parquet data, else expose. Without data, a rule reading a column not in
    expose is refused.
  • parcel check reports 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.
  • version is a semantic version: 1.0.0, 2.1.0-beta.1. A whole number N reads as N.0.0;
    a decimal such as 1.10 is refused with the fix (1.10.0). parcel_core::Version replaces
    u32 on 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 in check output 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_all returns them all.
  • Diagnostic has help and line. Messages suggest close names for columns, ctx fields,
    functions and types (integer → int64), name the operation that fits a namespace, and
    catch and, = and is 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 and help:, aligned columns, colour on
    terminals only (none when piped or with NO_COLOR). parcel with no command prints help.
  • compile prints each rule's op and tier; reasons are in --json. An admit that reads
    only ctx is reported as plan time.
  • A compiled contract round-trips through bytes: Compilation::to_bytes and
    Compilation::from_bytes (parcel_runtime::compiled). Loading never compiles.
  • The parcel-bundle/1 bundle and Bundle::verify, which recompiled it, are removed.
    parcel compile -o writes the compiled bytes. BundledFunction, ColumnDef and the schema
    helpers move to parcel_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.