PACKAGES / ONE CONTRACT PER RUNTIME

Install the engine where your code already runs.

Every component of the suite is versioned and released together. Identity, install command, licence and runtime requirement come from the package manifests, not from this page.

PACKAGE CONTRACT

Every package answers the same request document.

Engines are independent implementations rather than ports, and the conformance suite holds them to one schema and one corpus. Python and PHP are held to byte-identical canonical results; the Rust core and the JavaScript fallback are held to independent validity and a per-fixture objective floor.

MINIMAL REQUEST
{
  "items": [
    { "id": "box", "quantity": 8,
      "dimensions": { "length": "50", "width": "50", "height": "50" } }
  ],
  "containers": [
    { "id": "carton",
      "inner_dimensions": { "length": "100", "width": "100", "height": "100" } }
  ]
}
ENGINE · PyPI

Python engine

Reference engine: the full solver portfolio and all five extension points, with zero runtime dependencies.

pip install packvium
Requires Python >= 3.9License MITFixtures 3Registry packvium
ENGINE · Packagist

PHP engine

Second reference engine, held to byte-identical canonical results against Python on every fixture.

composer require packvium/packvium
Requires PHP >= 8.2License MITFixtures 2Registry packvium/packvium
ENGINE · npm

Node engine

Native N-API addon when one is built, and a deterministic JavaScript fallback when it is not — the same request either way.

npm install @packvium/engine
Requires Node >= 16License MITFixtures 2Registry @packvium/engine
BINDING · npm

Browser engine

The Rust core compiled to WebAssembly, so a packing answer can be computed in the page without a round trip.

npm install @packvium/browser
Requires WebAssembly-capable browserLicense MITFixtures 1Registry @packvium/browser
BINDING · PyPI

Python native adapter

Rust-backed adapter for Python. Uses the native wheel when it is present and the pure Python engine when it is not.

pip install packvium-native
Requires Python >= 3.9License MITFixtures 1Registry packvium-native
ENGINE · crates.io

Rust core

The independent Rust packing core and its stable C ABI. Its own solver portfolio, held to independent validity and a per-fixture objective floor.

cargo add packvium-core
Requires Rust >= 1.88License MITFixtures 1Registry packvium-core
TOOL · workspace

Workspace manager

Add-only overlay installs, SHA-256 admission control and the release gate. Not a packing engine.

make -C tools/workspace-manager install
Requires Python >= 3.11License MITFixtures 0Registry spctl
CHOOSING ONE

The runtime is a deployment decision.

Pick the package that matches your stack. If you need the answer in a browser without a round trip, that is the WebAssembly build; if you need it inside an existing Python or PHP service, those are the reference engines.

01role

Engine, binding, or workspace tool

02registry

Where the package is published

03install

The exact install command

04requires

Minimum runtime version

05license

MIT across the whole family

06repository

Canonical public source

07fixtures

Committed cases it is exercised against

08published

Available today, or built but not yet released