Skip to content

noqtis-pack(1)

noqtis-pack — start, build and check a reproducibility bundle

noqtis pack init [-t | --template plain | r | python] dir

noqtis pack build -k key [-p key.pub] [--format 1 | 2] [--lock file ...] [-o file] [-f] [--no-files] dir

noqtis pack check [-p key.pub] dir | file

noqtis pack unpack file dir

A reproducibility bundle is a capsule (noqtis-capsule(5)) whose data record (noqtis-data(5)) holds the environment of the run and the digests of its lock files, sealed, and shipped as one file. Each action is a command the tool already has, run in order.

Start a bundle in dir (made when it is not there) from a template: the folders data/, the code folder (code/, R/ or src/) and output/, a README.md that says what goes where and how the lock file is made (renv.lock from ‘renv::snapshot()’, uv.lock), kept when there is one, and an empty data record. A folder with a data record is refused.
Record the environment (noqtis-env(1); --lock as there), seal (noqtis-seal(1); -k, -p, --format as there), and with -o write the bundle file (noqtis-export(1) --as bundle; -f replaces a file there, --no-files leaves out every file but the data record).
Before shipping: the capsule (noqtis-check(1), with -p), its data record (noqtis-data(1) check: sources, schemas, chunks, and each lock file against the digest env recorded), and that the environment and at least one lock file are recorded. file is a bundle; a bundle without its files has no data to check, and fails here.
Read the bundle file into the new folder dir (nqdunpack(3)), refusing it whole for anything malformed, and for any path that would leave dir. Check the folder after with noqtis-check(1).

0
Done; for check, every check passed.
1
A check failed, or the bundle is malformed.
2
A usage error, or a file or folder that cannot be read or written.

$ noqtis pack init --template r study
$ noqtis data add --url https://example.org/a.csv study data/a.csv
$ noqtis pack build -k me -o study.nqb study
$ noqtis pack check -p me.pub study.nqb

noqtis-check(1), noqtis-data(1), noqtis-env(1), noqtis-export(1), noqtis-seal(1), nqdpack(3), noqtis-capsule(5), noqtis-data(5)