Skip to content

Latest commit

 

History

History

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 

README.md

quilt-cli

Command-line interface for Quilt data packages. Thin wrapper around quilt-rs — see docs/architecture.md for what each command does under the hood.

The binary is named quilt.

Install

Recommended (downloads a prebuilt binary):

cargo binstall quilt-cli

Prebuilt binaries are currently published for macOS (x86_64, aarch64) and Linux (x86_64-gnu). On other platforms, or if cargo-binstall is not installed, build from source:

cargo install quilt-cli

Commands

Command Purpose
browse Fetch and inspect a remote manifest
create Create a new local-only package
install Install a remote package locally
status Show working-directory changes
commit Commit a new package revision
push Upload a local revision to the remote
pull Fetch the latest remote revision
list List installed packages
uninstall Remove a package from local tracking
login Authenticate against a Quilt stack

Run quilt <command> --help for arguments.

Global flags

  • --domain <path> — local domain directory (stores credentials and package metadata). Defaults to ~/.local/share/com.quiltdata.quilt-rs/.
  • --home <path> — directory where packages keep their working files. Required on the first invocation against a domain (every command validates that a home is set); afterward it is persisted in the domain lineage and may be omitted.

Example

quilt --home ~/QuiltHome login --host open.quiltdata.com
quilt install quilt+s3://quilt-example#package=akarve/cord19 \
    --namespace akarve/cord19
quilt status --namespace akarve/cord19

--home is needed once to initialize the domain; the later commands pick it up from the saved lineage.

URIs follow the Quilt+ URI format.

Fully local workflow

No login or remote is required to create, edit, and version a package entirely on disk:

# --home is only needed on the first invocation against a domain
quilt --home ~/QuiltHome create --namespace me/local-pkg \
    --message "Initial revision"

# Package files live under <home>/<namespace>; add/edit them directly
mkdir -p ~/QuiltHome/me/local-pkg
echo "a,b,c" > ~/QuiltHome/me/local-pkg/data.csv

quilt status --namespace me/local-pkg
quilt commit --namespace me/local-pkg --message "Add data.csv" --no-workflow

quilt list

Add --source <dir> to create to populate the package from an existing directory instead of starting empty. The package stays local-only — usable with status, commit, and uninstall — until a push (which then requires --bucket/--origin for the first push) sends a revision to a remote.