Reference converter
convert_box_packrift.py for Packrift packingsolver fixtures.
This public script converts Packrift carton and generated scenario-order CSV files into the same bins.csv, items.csv, and parameters.csv folder layout used by the live fixture pack. It exists to make the integration path reviewable, reproducible, and separate from any unsupported optimal-solution claim.
Why this exists
The packingsolver maintainer asked for future datasets to be integrated with a dedicated converter similar to upstream scripts/convert_box.py. This page provides a Packrift-specific converter and a machine-readable field map, while keeping data publication, licensing, and maintainer acceptance separate from Packrift's owned resource layer.
order_id, each with bins.csv, items.csv, and parameters.csv.
Usage
python3 convert_box_packrift.py \ /path/to/packrift-fixture-csvs \ /path/to/output/instances python3 convert_box_packrift.py \ /path/to/packrift-fixture-csvs \ /path/to/output/instances \ --scenario packrift-20260531-0002-apparel-return
The input directory should contain fixture_cartons_v2026.05.31.csv and fixture_orders_v2026.05.31.csv. Existing output files are protected unless --overwrite is provided.
Validation behavior
| Check | Reason |
|---|---|
| Required columns exist | Prevents silently writing incomplete parser inputs. |
| Dimensions are positive numbers | Packingsolver input rows must have valid box dimensions. |
| Item counts are positive integers | Scenario quantities should remain explicit rather than expanded into hidden rows. |
| Dimensions are scaled to integer thousandths of an inch | Preserves fractional Packrift dimensions while matching integer parser expectations. |
| Output protection by default | Avoids overwriting prior conversion artifacts unless the caller opts in. |
Downloads
Maintainer-fit boundary
This is an owned Packrift integration aid. It should make external review easier, but it is not itself evidence that any third-party repository, package, or dataset venue has accepted the fixture pack. Third-party status should only be counted after a public no-login record is verified.