Command Reference

This is a reference for all commands in the Spack command line interface. The same information is available through spack help.

Commands that also have sections in the main documentation have a link to “More documentation”.


spack

A flexible package manager that supports multiple versions, configurations, platforms, and compilers.

spack [--color {always,never,auto}] [-v] [-k] [-b] [-V] [-h] [-H] [-c CONFIG_VARS] [-C DIR|ENV] [-e ENV | -D DIR | -E]
  [--use-env-repo] [-d] [-t] [--timestamp] [-m] [--print-shell-vars PRINT_SHELL_VARS] [--stacktrace] [-l | -L]
  COMMAND ...

Optional arguments

--color {always,never,auto}

when to colorize output (default: auto)

-v, --verbose

print additional output during builds

-k, --insecure

do not check ssl certificates when downloading

-b, --bootstrap

use bootstrap config, store, and externals

-V, --version

show version number and exit

-h, --help

show this help message and exit

-H, --all-help

show help for all commands (same as spack help –all)

-c, --config CONFIG_VARS

add one or more custom, one-off config settings

-C, --config-scope DIR|ENV

add directory or environment as read-only config scope

-e, --env ENV

run with an environment

-D, --env-dir DIR

run with environment in directory (ignore managed envs)

-E, --no-env

run without any environments activated (see spack env)

--use-env-repo

when in an environment, use its package repository

-d, --debug

write out debug messages

-t, --backtrace

always show backtraces for exceptions

--pdb

--timestamp

add a timestamp to tty output

-m, --mock

use mock packages instead of real ones

--print-shell-vars PRINT_SHELL_VARS

print info needed by setup-env.*sh

--stacktrace

add stacktraces to all printed statements

-l, --enable-locks

use filesystem locking (default)

-L, --disable-locks

do not use filesystem locking (unsafe)

-p, --profile

--profile-file PROFILE_FILE

--sorted-profile STAT

--lines LINES

Subcommands


spack add

add a spec to an environment

spack add [-h] [-l LIST_NAME] ...

More documentation

Positional arguments

specs

one or more package specs

Optional arguments

-h, --help

show this help message and exit

-l, --list-name LIST_NAME

name of the list to add specs to


spack arch

print architecture information about this machine

spack arch [-hg] [--known-targets] [--family | --generic] [-p | -o | -t] [-f | -b]

More documentation

Optional arguments

-h, --help

show this help message and exit

-g, --generic-target

show the best generic target (deprecated)

--known-targets

show a list of all known targets and exit

--family

print generic ISA (x86_64, aarch64, ppc64le, …)

--generic

print feature level (x86_64_v3, armv8.4a, …)

-p, --platform

print only the platform

-o, --operating-system

print only the operating system

-t, --target

print only the target

-f, --frontend

print frontend (DEPRECATED)

-b, --backend

print backend (DEPRECATED)


spack audit

audit configuration files, packages, etc.

spack audit [-h] SUBCOMMAND ...

More documentation

Optional arguments

-h, --help

show this help message and exit

Subcommands


spack audit configs

spack audit configs [-h]

Optional arguments

-h, --help

show this help message and exit


spack audit externals

spack audit externals [-h] [--list] [PKG ...]

Positional arguments

PKG

package to be analyzed (if none all packages will be processed)

Optional arguments

-h, --help

show this help message and exit

--list

if passed, list which packages have detection tests


spack audit packages-https

spack audit packages-https [-h] [--all] [PKG ...]

Positional arguments

PKG

package to be analyzed (if none all packages will be processed)

Optional arguments

-h, --help

show this help message and exit

--all

audit all packages


spack audit packages

spack audit packages [-h] [PKG ...]

Positional arguments

PKG

package to be analyzed (if none all packages will be processed)

Optional arguments

-h, --help

show this help message and exit


spack audit list

spack audit list [-h]

Optional arguments

-h, --help

show this help message and exit


spack blame

show contributors to packages

spack blame [-h] [-t | -p | -g] [--json] package_or_file

More documentation

Positional arguments

package_or_file

name of package to show contributions for, or path to a file in the spack repo

Optional arguments

-h, --help

show this help message and exit

-t, --time

sort by last modification date (default)

-p, --percent

sort by percent of code

-g, --git

show git blame output instead of summary

--json

output blame as machine-readable json records


spack bootstrap

manage bootstrap configuration

spack bootstrap [-h] SUBCOMMAND ...

More documentation

Optional arguments

-h, --help

show this help message and exit

Subcommands


spack bootstrap now

spack bootstrap now [-h] [--dev]

More documentation

Optional arguments

-h, --help

show this help message and exit

--dev

bootstrap dev dependencies too


spack bootstrap status

spack bootstrap status [-h] [--optional] [--dev]

More documentation

Optional arguments

-h, --help

show this help message and exit

--optional

show the status of rarely used optional dependencies

--dev

show the status of dependencies needed to develop Spack


spack bootstrap enable

spack bootstrap enable [-h] [--scope {defaults,system,site,user,command_line} or env:ENVIRONMENT] [name]

More documentation

Positional arguments

name

name of the source to be enabled

Optional arguments

-h, --help

show this help message and exit

--scope {defaults,system,site,user,command_line} or env:ENVIRONMENT

configuration scope to read/modify


spack bootstrap disable

spack bootstrap disable [-h] [--scope {defaults,system,site,user,command_line} or env:ENVIRONMENT] [name]

More documentation

Positional arguments

name

name of the source to be disabled

Optional arguments

-h, --help

show this help message and exit

--scope {defaults,system,site,user,command_line} or env:ENVIRONMENT

configuration scope to read/modify


spack bootstrap reset

spack bootstrap reset [-hy]

More documentation

Optional arguments

-h, --help

show this help message and exit

-y, --yes-to-all

assume “yes” is the answer to every confirmation request


spack bootstrap root

spack bootstrap root [-h] [--scope {defaults,system,site,user,command_line} or env:ENVIRONMENT] [path]

More documentation

Positional arguments

path

set the bootstrap directory to this value

Optional arguments

-h, --help

show this help message and exit

--scope {defaults,system,site,user,command_line} or env:ENVIRONMENT

configuration scope to read/modify


spack bootstrap list

spack bootstrap list [-h] [--scope {defaults,system,site,user,command_line} or env:ENVIRONMENT]

More documentation

Optional arguments

-h, --help

show this help message and exit

--scope {defaults,system,site,user,command_line} or env:ENVIRONMENT

configuration scope to read/modify


spack bootstrap add

spack bootstrap add [-h] [--scope {defaults,system,site,user,command_line} or env:ENVIRONMENT] [--trust]
                name metadata_dir

More documentation

Positional arguments

name

name of the new source of software

metadata_dir

directory where to find metadata files

Optional arguments

-h, --help

show this help message and exit

--scope {defaults,system,site,user,command_line} or env:ENVIRONMENT

configuration scope to read/modify

--trust

enable the source immediately upon addition


spack bootstrap remove

spack bootstrap remove [-h] name

Positional arguments

name

name of the source to be removed

Optional arguments

-h, --help

show this help message and exit


spack bootstrap mirror

spack bootstrap mirror [-h] [--binary-packages] [--dev] DIRECTORY

More documentation

Positional arguments

DIRECTORY

root directory in which to create the mirror and metadata

Optional arguments

-h, --help

show this help message and exit

--binary-packages

download public binaries in the mirror

--dev

download dev dependencies too


spack build-env

dump the install environment for a spec, or run a command in that environment

spack build-env [-hfU] [--clean] [--dirty] [--reuse] [--fresh-roots] [--deprecated] [--dump FILE] [--pickle FILE] ...

Positional arguments

spec [--] [cmd]...

specs of package environment to emulate

Optional arguments

-h, --help

show this help message and exit

--clean

unset harmful variables in the build environment (default)

--dirty

preserve user environment in spack’s build environment (danger!)

-f, --force

allow changes to concretized specs in spack.lock (in an env)

-U, --fresh

do not reuse installed deps; build newest configuration

--reuse

reuse installed packages/buildcaches when possible

--fresh-roots, --reuse-deps

concretize with fresh roots and reused dependencies

--deprecated

allow concretizer to select deprecated versions

--dump FILE

dump a source-able environment to FILE

--pickle FILE

dump a pickled source-able environment to FILE


spack buildcache

create, download and install binary packages

spack buildcache [-h] SUBCOMMAND ...

More documentation

Optional arguments

-h, --help

show this help message and exit

Subcommands


spack buildcache push

spack buildcache push [-h] [-f] [--unsigned | --signed | --key key] [--update-index] [--only {package,dependencies}]
                  [--with-build-dependencies | --without-build-dependencies] [--fail-fast] [--allow-missing]
                  [--base-image BASE_IMAGE] [--tag TAG] [--private] [--group GROUP] [-j JOBS]
                  mirror ...

Positional arguments

mirror

mirror name, path, or URL

specs

one or more package specs

Optional arguments

-h, --help

show this help message and exit

-f, --force

overwrite tarball if it exists

--unsigned, -u

push unsigned buildcache tarballs

--signed

push signed buildcache tarballs

--key, -k key

key for signing

--update-index, --rebuild-index

regenerate buildcache index after building package(s)

--only {package,dependencies}

select the buildcache mode. The default is to build a cache for the package along with all its dependencies. Alternatively, one can decide to build a cache for only the package or only the dependencies

--with-build-dependencies

include build dependencies in the buildcache

--without-build-dependencies

exclude build dependencies from the buildcache

--fail-fast

stop pushing on first failure (default is best effort)

--allow-missing

allow not installed specs to continue without failure (default fails on missing specs)

--base-image BASE_IMAGE

specify the base image for the buildcache

--tag, -t TAG

when pushing to an OCI registry, tag an image containing all root specs and their runtime dependencies

--private

for a private mirror, include non-redistributable packages

--group GROUP

push only specs from the given environment group (can be specified multiple times, requires an active environment)

-j, --jobs JOBS

explicitly set number of parallel jobs


spack buildcache install

spack buildcache install [-hfmuo] ...

Positional arguments

specs

one or more package specs

Optional arguments

-h, --help

show this help message and exit

-f, --force

overwrite install directory if it exists

-m, --multiple

allow all matching packages

-u, --unsigned

install unsigned buildcache tarballs for testing

-o, --otherarch

install specs from other architectures instead of default platform and OS


spack buildcache list

spack buildcache list [-hlLNva] ...

Positional arguments

specs

one or more package specs

Optional arguments

-h, --help

show this help message and exit

-l, --long

show dependency hashes as well as versions

-L, --very-long

show full dependency hashes as well as versions

-N, --namespaces

show fully qualified package names

-v, --variants

show variants in output (can be long)

-a, --allarch

list specs for all available architectures instead of default platform and OS


spack buildcache keys

spack buildcache keys [-hitf]

Optional arguments

-h, --help

show this help message and exit

-i, --install

install Keys pulled from mirror

-t, --trust

trust all downloaded keys

-f, --force

force new download of keys


spack buildcache check

spack buildcache check [-h] [-m MIRROR_URL] [-o OUTPUT_FILE]
                   [--scope {defaults,system,site,user,command_line} or env:ENVIRONMENT]
                   ...

Positional arguments

specs

one or more package specs

Optional arguments

-h, --help

show this help message and exit

-m, --mirror-url MIRROR_URL

override any configured mirrors with this mirror URL

-o, --output-file OUTPUT_FILE

file where rebuild info should be written

--scope {defaults,system,site,user,command_line} or env:ENVIRONMENT

configuration scope containing mirrors to check


spack buildcache download

spack buildcache download [-h] [-s SPEC] -p PATH

Optional arguments

-h, --help

show this help message and exit

-s, --spec SPEC

download built tarball for spec from mirror

-p, --path PATH

path to directory where tarball should be downloaded


spack buildcache prune

spack buildcache prune [-h] [-k KEEPLIST] [--dry-run] mirror

Positional arguments

mirror

mirror name, path, or URL

Optional arguments

-h, --help

show this help message and exit

-k, --keeplist KEEPLIST

file containing newline-delimited list of package hashes to keep (optional)

--dry-run

do not actually delete anything from the buildcache, but log what would be deleted


spack buildcache save-specfile

spack buildcache save-specfile [-h] --root-spec ROOT_SPEC -s SPECS --specfile-dir SPECFILE_DIR

Optional arguments

-h, --help

show this help message and exit

--root-spec ROOT_SPEC

root spec of dependent spec

-s, --specs SPECS

list of dependent specs for which saved yaml is desired

--specfile-dir SPECFILE_DIR

path to directory where spec yamls should be saved


spack buildcache sync

spack buildcache sync [-h] [--manifest-glob MANIFEST_GLOB] [source mirror] [destination mirror]

Positional arguments

source mirror

source mirror name, path, or URL

destination mirror

destination mirror name, path, or URL

Optional arguments

-h, --help

show this help message and exit

--manifest-glob MANIFEST_GLOB

a quoted glob pattern identifying CI rebuild manifest files


spack buildcache check-index

spack buildcache check-index [-h] [--verify {exists,manifests,blobs,all} [{exists,manifests,blobs,all} ...]]
                         [--name NAME] [--output OUTPUT]
                         mirror

Positional arguments

mirror

mirror name, path, or URL

Optional arguments

-h, --help

show this help message and exit

--verify {exists,manifests,blobs,all} [{exists,manifests,blobs,all} ...]

List of items to verify along along with the index.

--name, -n NAME

Name of the view index to check

--output, -o OUTPUT

File to write check details to


spack buildcache update-index

spack buildcache update-index [-hky] [--name NAME] [--append | --force] mirror [sources ...]

Positional arguments

mirror

destination mirror name, path, or URL

sources

List of environments names or paths

Optional arguments

-h, --help

show this help message and exit

--name, -n NAME

Name of the view index to update

--append, -a

Append the listed specs to the current view index if it already exists. This operation does not guarantee atomic write and should be run with care.

--force, -f

If a view index already exists, overwrite it and suppress warnings (this is the default for non-view indices)

-k, --keys

if provided, key index will be updated as well as package index

-y, --yes-to-all

assume “yes” is the answer to every confirmation request


spack buildcache migrate

spack buildcache migrate [-hudy] mirror

Positional arguments

mirror

name of a configured mirror

Optional arguments

-h, --help

show this help message and exit

-u, --unsigned

Ignore signatures and do not resign, default is False

-d, --delete-existing

Delete the previous layout, the default is to keep it.

-y, --yes-to-all

assume “yes” is the answer to every confirmation request


spack cd

cd to spack directories in the shell

spack cd [-h] [-m | -r | -i | -p | --repo [repo] | -s | -S | -c | -b | -e [name] | -v [name]] [--first] ...

Positional arguments

spec

package spec

Optional arguments

-h, --help

show this help message and exit

-m, --module-dir

spack python module directory

-r, --spack-root

spack installation root

-i, --install-dir

install prefix for spec (spec need not be installed)

-p, --package-dir

directory enclosing a spec’s package.py file

--repo, --packages, -P [repo]

package repository root (defaults to first configured repository)

-s, --stage-dir

stage directory for a spec

-S, --stages

top level stage directory

-c, --source-dir

source directory for a spec (requires it to be staged first)

-b, --build-dir

build directory for a spec (requires it to be staged first)

-e, --env [name]

location of the named or current environment

-v, --view [name]

location of the named or active environment view

--first

use the first match if multiple packages match the spec


spack change

change an existing spec in an environment

spack change [-hacC] [-l LIST_NAME] [--match-spec MATCH_SPEC] ...

Positional arguments

specs

one or more package specs

Optional arguments

-h, --help

show this help message and exit

-l, --list-name LIST_NAME

name of the list to remove abstract specs from

--match-spec MATCH_SPEC

change all specs matching match-spec (default is match by spec name)

-a, --all

change all matching abstract specs (allow changing more than one abstract spec)

-c, --concrete

change concrete specs in the environment

-C, --concrete-only

change only concrete specs in the environment


spack checksum

checksum available versions of a package

spack checksum [-h] [--keep-stage] [--batch] [--latest] [--preferred] [--add-to-package | --verify] [-j JOBS]
           package [versions ...]

More documentation

Positional arguments

package

name or spec (e.g. cmake or cmake@3.18)

versions

checksum these specific versions (if omitted, Spack searches for remote versions)

Optional arguments

-h, --help

show this help message and exit

--keep-stage

don’t clean up staging area when command completes

--batch, -b

don’t ask which versions to checksum

--latest, -l

checksum the latest available version

--preferred, -p

checksum the known Spack preferred version

--add-to-package, -a

add new versions to package

--verify

verify known package checksums

-j, --jobs JOBS

explicitly set number of parallel jobs


spack ci

manage continuous integration pipelines

spack ci [-h] SUBCOMMAND ...

More documentation

Optional arguments

-h, --help

show this help message and exit

Subcommands


spack ci generate

generate jobs file from a CI-aware spack file

if you want to report the results on CDash, you will need to set the SPACK_CDASH_AUTH_TOKEN before invoking this command. the value must be the CDash authorization token needed to create a build group and register all generated jobs under it

spack ci generate [-h] [--output-file OUTPUT_FILE] [--prune-dag | --no-prune-dag] [--prune-unaffected |
              --no-prune-unaffected] [--prune-externals | --no-prune-externals] [--check-index-only]
              [--artifacts-root ARTIFACTS_ROOT] [--forward-variable FORWARD_VARIABLE] [-f] [-U] [--reuse]
              [--fresh-roots] [--deprecated] [-j JOBS]

More documentation

Optional arguments

-h, --help

show this help message and exit

--output-file OUTPUT_FILE

pathname for the generated gitlab ci yaml file

--prune-dag

skip up-to-date specs

--no-prune-dag

process up-to-date specs

--prune-unaffected

skip up-to-date specs

--no-prune-unaffected

process up-to-date specs

--prune-externals

skip external specs

--no-prune-externals

process external specs

--check-index-only

only check spec state from buildcache indices

--artifacts-root ARTIFACTS_ROOT

path to the root of the artifacts directory

--forward-variable FORWARD_VARIABLE

Environment variables to forward from the generate environment to the generated jobs.

-f, --force

allow changes to concretized specs in spack.lock (in an env)

-U, --fresh

do not reuse installed deps; build newest configuration

--reuse

reuse installed packages/buildcaches when possible

--fresh-roots, --reuse-deps

concretize with fresh roots and reused dependencies

--deprecated

allow concretizer to select deprecated versions

-j, --jobs JOBS

explicitly set number of parallel jobs


spack ci rebuild-index

rebuild the buildcache index for the remote mirror

use the active, gitlab-enabled environment to rebuild the buildcache index for the associated mirror

spack ci rebuild-index [-h]

More documentation

Optional arguments

-h, --help

show this help message and exit


spack ci rebuild

rebuild a spec if it is not on the remote mirror

check a single spec against the remote mirror, and rebuild it from source if the mirror does not contain the hash

spack ci rebuild [-ht] [--no-fail-fast | --fail-fast] [--timeout TIMEOUT] [-j JOBS]

More documentation

Optional arguments

-h, --help

show this help message and exit

-t, --tests

run stand-alone tests after the build

--no-fail-fast

continue build/stand-alone tests after the first failure

--fail-fast

stop build/stand-alone tests after the first failure

--timeout TIMEOUT

maximum time (in seconds) that tests are allowed to run

-j, --jobs JOBS

explicitly set number of parallel jobs


spack ci reproduce-build

generate instructions for reproducing the spec rebuild job

artifacts of the provided gitlab pipeline rebuild job’s URL will be used to derive instructions for reproducing the build locally

spack ci reproduce-build [-h] [--runtime {docker,podman}] [--working-dir WORKING_DIR] [-s] [--use-local-head]
                     [--gpg-file GPG_FILE | --gpg-url GPG_URL]
                     job_url

More documentation

Positional arguments

job_url

URL of GitLab job web page or artifact

Optional arguments

-h, --help

show this help message and exit

--runtime {docker,podman}

Container runtime to use.

--working-dir WORKING_DIR

where to unpack artifacts

-s, --autostart

Run docker reproducer automatically

--use-local-head

Use the HEAD of the local Spack instead of reproducing a commit

--gpg-file GPG_FILE

Path to public GPG key for validating binary cache installs

--gpg-url GPG_URL

URL to public GPG key for validating binary cache installs


spack ci verify-versions

validate version checksum & commits between git refs This command takes a from_ref and to_ref arguments and then parses the git diff between the two to determine which packages have been modified verifies the new checksums inside of them.

spack ci verify-versions [-h] from_ref to_ref

Positional arguments

from_ref

git ref from which start looking at changes

to_ref

git ref to end looking at changes

Optional arguments

-h, --help

show this help message and exit


spack clean

remove temporary build files and/or downloaded archives

spack clean [-hsdfmpba] ...

Positional arguments

specs

one or more package specs

Optional arguments

-h, --help

show this help message and exit

-s, --stage

remove all temporary build stages (default)

-d, --downloads

remove cached downloads

-f, --failures

force removal of all install failure tracking markers

-m, --misc-cache

remove long-lived caches, like the virtual package index

-p, --python-cache

remove .pyc, .pyo files and __pycache__ folders

-b, --bootstrap

remove software and configuration needed to bootstrap Spack

-a, --all

equivalent to -sdfmpb


spack commands

list available spack commands

spack commands [-h] [--update-completion] [-a] [--format {subcommands,rst,names,bash,fish}] [--header FILE]
           [--update FILE]
           ...

Positional arguments

rst_files

list of rst files to search for _cmd-spack-<cmd> cross-refs

Optional arguments

-h, --help

show this help message and exit

--update-completion

regenerate spack’s tab completion scripts

-a, --aliases

include command aliases

--format {subcommands,rst,names,bash,fish}

format to be used to print the output (default: names)

--header FILE

prepend contents of FILE to the output (useful for rst format)

--update FILE

write output to the specified file, if any command is newer


spack compiler

manage compilers

spack compiler [-h] SUBCOMMAND ...

Optional arguments

-h, --help

show this help message and exit

Subcommands


spack compiler find

spack compiler find [-h] [--scope {defaults,system,site,user,command_line} or env:ENVIRONMENT] [-j JOBS] ...

More documentation

Positional arguments

add_paths

Optional arguments

-h, --help

show this help message and exit

--scope {defaults,system,site,user,command_line} or env:ENVIRONMENT

configuration scope to modify

-j, --jobs JOBS

explicitly set number of parallel jobs


spack compiler remove

spack compiler remove [-ha] [--scope {defaults,system,site,user,command_line} or env:ENVIRONMENT] compiler_spec

Positional arguments

compiler_spec

Optional arguments

-h, --help

show this help message and exit

-a, --all

remove ALL compilers that match spec

--scope {defaults,system,site,user,command_line} or env:ENVIRONMENT

configuration scope to modify


spack compiler list

spack compiler list [-h] [--scope {defaults,system,site,user,command_line} or env:ENVIRONMENT] [--remote]

Optional arguments

-h, --help

show this help message and exit

--scope {defaults,system,site,user,command_line} or env:ENVIRONMENT

configuration scope to read from

--remote

list also compilers from registered buildcaches


spack compiler info

spack compiler info [-h] [--scope {defaults,system,site,user,command_line} or env:ENVIRONMENT] [--remote]
                compiler_spec

More documentation

Positional arguments

compiler_spec

Optional arguments

-h, --help

show this help message and exit

--scope {defaults,system,site,user,command_line} or env:ENVIRONMENT

configuration scope to read from

--remote

list also compilers from registered buildcaches


spack compilers

list available compilers

spack compilers [-h] [--scope {defaults,system,site,user,command_line} or env:ENVIRONMENT] [--remote]

More documentation

Optional arguments

-h, --help

show this help message and exit

--scope {defaults,system,site,user,command_line} or env:ENVIRONMENT

configuration scope to read/modify

--remote

list also compilers from registered buildcaches


spack concretize

concretize an environment and write a lockfile

spack concretize [-hqfU] [--test {root,all}] [--reuse] [--fresh-roots] [--deprecated] [-j JOBS] [--non-defaults]

More documentation

Optional arguments

-h, --help

show this help message and exit

--test {root,all}

concretize with test dependencies of only root packages or all packages

-q, --quiet

don’t print concretized specs

-f, --force

allow changes to concretized specs in spack.lock (in an env)

-U, --fresh

do not reuse installed deps; build newest configuration

--reuse

reuse installed packages/buildcaches when possible

--fresh-roots, --reuse-deps

concretize with fresh roots and reused dependencies

--deprecated

allow concretizer to select deprecated versions

-j, --jobs JOBS

explicitly set number of parallel jobs

--non-defaults

highlight non-default versions or variants


spack config

get and set configuration options

spack config [-h] [--scope {defaults,system,site,user,command_line} or env:ENVIRONMENT] SUBCOMMAND ...

Optional arguments

-h, --help

show this help message and exit

--scope {defaults,system,site,user,command_line} or env:ENVIRONMENT

configuration scope to read/modify

Subcommands


spack config get

spack config get [-h] [--json] [--group group] [section]

More documentation

Positional arguments

section

configuration section to print

Optional arguments

-h, --help

show this help message and exit

--json

output configuration as JSON

--group group

show configuration as seen by this environment spec group (requires active env)


spack config blame

spack config blame [-h] [--group group] [section]

More documentation

Positional arguments

section

configuration section to print

Optional arguments

-h, --help

show this help message and exit

--group group

show configuration as seen by this environment spec group (requires active env)


spack config edit

spack config edit [-h] [--print-file] [section]

Positional arguments

section

configuration section to edit

Optional arguments

-h, --help

show this help message and exit

--print-file

print the file name that would be edited


spack config list

spack config list [-h]

Optional arguments

-h, --help

show this help message and exit


spack config scopes

spack config scopes [-hpv] [-t scope-type [scope-type ...]] [section]

Positional arguments

section

tailor scope path information to the specified section (implies --paths)

Optional arguments

-h, --help

show this help message and exit

-p, --paths

show associated paths for appropriate scopes

-t, --type scope-type [scope-type ...]

list only scopes of the specified type(s)

-v, --verbose

show scope types and whether scopes are overridden


spack config add

spack config add [-h] [-f FILE] [path]

Positional arguments

path

colon-separated path to config that should be added, e.g. ‘config:default:true’

Optional arguments

-h, --help

show this help message and exit

-f, --file FILE

file from which to set all config values


spack config change

spack config change [-h] [--match-spec MATCH_SPEC] path

Positional arguments

path

colon-separated path to config section with specs

Optional arguments

-h, --help

show this help message and exit

--match-spec MATCH_SPEC

only change constraints that match this


spack config prefer-upstream

spack config prefer-upstream [-h] [--local]

Optional arguments

-h, --help

show this help message and exit

--local

set packages preferences based on local installs, rather than upstream


spack config remove

spack config remove [-h] path

Positional arguments

path

colon-separated path to config that should be removed, e.g. ‘config:default:true’

Optional arguments

-h, --help

show this help message and exit


spack config update

spack config update [-hy] section

Positional arguments

section

section to update

Optional arguments

-h, --help

show this help message and exit

-y, --yes-to-all

assume “yes” is the answer to every confirmation request


spack config revert

spack config revert [-hy] section

Positional arguments

section

section to update

Optional arguments

-h, --help

show this help message and exit

-y, --yes-to-all

assume “yes” is the answer to every confirmation request


spack containerize

create a container build recipe from an environment

spack containerize [-h] [--list-os] [--last-stage {bootstrap,build,final}]

More documentation

Optional arguments

-h, --help

show this help message and exit

--list-os

list all the OS that can be used in the bootstrap phase and exit

--last-stage {bootstrap,build,final}

last stage in the container recipe


spack create

create a new package file

spack create [-hfb] [--keep-stage] [-n NAME] [-t TEMPLATE] [-r REPO] [-N NAMESPACE] [--skip-editor] [url]

More documentation

Positional arguments

url

url of package archive

Optional arguments

-h, --help

show this help message and exit

--keep-stage

don’t clean up staging area when command completes

-n, --name NAME

name of the package to create

-t, --template TEMPLATE

build system template to use

-r, --repo REPO

path to a repository where the package should be created

-N, --namespace NAMESPACE

specify a namespace for the package

-f, --force

overwrite any existing package file with the same name

--skip-editor

skip the edit session for the package (e.g., automation)

-b, --batch

don’t ask which versions to checksum


spack debug

debugging commands for troubleshooting Spack

spack debug [-h] SUBCOMMAND ...

Optional arguments

-h, --help

show this help message and exit

Subcommands


spack debug report

spack debug report [-h]

Optional arguments

-h, --help

show this help message and exit


spack deconcretize

remove specs from the lockfile of an environment

spack deconcretize [-hya] [--root] ...

Positional arguments

specs

one or more package specs

Optional arguments

-h, --help

show this help message and exit

--root

deconcretize only specific environment roots

-y, --yes-to-all

assume “yes” is the answer to every confirmation request

-a, --all

deconcretize ALL specs that match each supplied spec


spack dependencies

show dependencies of a package

spack dependencies [-hitV] [--deptype DEPTYPE] ...

Positional arguments

spec

package spec

Optional arguments

-h, --help

show this help message and exit

-i, --installed

list installed dependencies of an installed spec instead of possible dependencies of a package

-t, --transitive

show all transitive dependencies

--deptype DEPTYPE

comma-separated list of deptypes to traverse (default=build,link,run,test)

-V, --no-expand-virtuals

do not expand virtual dependencies


spack dependents

show packages that depend on another

spack dependents [-hit] ...

Positional arguments

spec

package spec

Optional arguments

-h, --help

show this help message and exit

-i, --installed

list installed dependents of an installed spec instead of possible dependents of a package

-t, --transitive

show all transitive dependents


spack deprecate

replace one package with another via symlinks

spack deprecate [-hy] [-d | -D] [-i | -I] [-l {soft,hard}] ...

Positional arguments

specs

spec to deprecate and spec to use as deprecator

Optional arguments

-h, --help

show this help message and exit

-y, --yes-to-all

assume “yes” is the answer to every confirmation request

-d, --dependencies

deprecate dependencies (default)

-D, --no-dependencies

do not deprecate dependencies

-i, --install-deprecator

concretize and install deprecator spec

-I, --no-install-deprecator

deprecator spec must already be installed (default)

-l, --link-type {soft,hard}

(deprecated)


spack dev-build

build package from code in current working directory

spack dev-build [-h] [-j JOBS] [-n] [-d SOURCE_PATH] [-i] [--keep-prefix] [--skip-patch] [-q] [--drop-in SHELL]
            [--test {root,all}] [-b BEFORE | -u UNTIL] [--clean | --dirty] [-f] [-U] [--reuse] [--fresh-roots]
            [--deprecated]
            ...

Positional arguments

spec

package spec

Optional arguments

-h, --help

show this help message and exit

-j, --jobs JOBS

explicitly set number of parallel jobs

-n, --no-checksum

do not use checksums to verify downloaded files (unsafe)

-d, --source-path SOURCE_PATH

path to source directory (defaults to the current directory)

-i, --ignore-dependencies

do not try to install dependencies of requested packages

--keep-prefix

do not remove the install prefix if installation fails

--skip-patch

skip patching for the developer build

-q, --quiet

do not display verbose build output while installing

--drop-in SHELL

drop into a build environment in a new shell, e.g., bash

--test {root,all}

run tests on only root packages or all packages

-b, --before BEFORE

phase to stop before when installing (default None)

-u, --until UNTIL

phase to stop after when installing (default None)

--clean

unset harmful variables in the build environment (default)

--dirty

preserve user environment in spack’s build environment (danger!)

-f, --force

allow changes to concretized specs in spack.lock (in an env)

-U, --fresh

do not reuse installed deps; build newest configuration

--reuse

reuse installed packages/buildcaches when possible

--fresh-roots, --reuse-deps

concretize with fresh roots and reused dependencies

--deprecated

allow concretizer to select deprecated versions


spack develop

add a spec to an environment’s dev-build information

spack develop [-hfr] [-p PATH] [-b BUILD_DIRECTORY] [--no-clone | --clone] [--no-modify-concrete-specs] ...

More documentation

Positional arguments

spec

package spec

Optional arguments

-h, --help

show this help message and exit

-p, --path PATH

source location of package

-b, --build-directory BUILD_DIRECTORY

build directory for the package

--no-clone

do not clone, the package already exists at the source path

--clone

(default) clone the package unless the path already exists, use --force to overwrite

--no-modify-concrete-specs

do not mutate concrete specs to have dev_path provenance. This requires a later spack concretize –force command to use develop specs

-f, --force

remove any files or directories that block cloning source code

-r, --recursive

traverse nodes of the graph to mark everything up to the root as a develop spec


spack diff

compare two specs

spack diff [-h] [--json] [--first] [-a ATTRIBUTE] [--ignore IGNORE] ...

More documentation

Positional arguments

specs

one or more package specs

Optional arguments

-h, --help

show this help message and exit

--json

dump json output instead of pretty printing

--first

load the first match if multiple packages match the spec

-a, --attribute ATTRIBUTE

select the attributes to show (defaults to all)

--ignore IGNORE

omit diffs related to these dependencies


spack docs

open spack documentation in a web browser

spack docs [-h]

Optional arguments

-h, --help

show this help message and exit


spack edit

open package files in $EDITOR

spack edit [-h] [-b | -c | -d | -t | -m] [-r REPO] [-N NAMESPACE] [package ...]

More documentation

Positional arguments

package

package name

Optional arguments

-h, --help

show this help message and exit

-b, --build-system

edit the build system with the supplied name or fullname

-c, --command

edit the command with the supplied name

-d, --docs

edit the docs with the supplied name

-t, --test

edit the test with the supplied name

-m, --module

edit the main spack module with the supplied name

-r, --repo REPO

path to repo to edit package or build system in

-N, --namespace NAMESPACE

namespace of package or build system to edit


spack env

manage environments

spack env [-h] SUBCOMMAND ...

Optional arguments

-h, --help

show this help message and exit

Subcommands


spack env activate

set the active environment

spack env activate [-h] [--sh | --csh | --fish | --bat | --pwsh] [-v name | -V] [-p] [--temp] [--create]
               [--envfile [ENVFILE]] [--keep-relative] [-d]
               [env]

More documentation

Positional arguments

env

name or directory of the environment being activated

Optional arguments

-h, --help

show this help message and exit

--sh

print sh commands to activate the environment

--csh

print csh commands to activate the environment

--fish

print fish commands to activate the environment

--bat

print bat commands to activate the environment

--pwsh

print powershell commands to activate environment

-v, --with-view name

set runtime environment variables for the named view

-V, --without-view

do not set runtime environment variables for any view

-p, --prompt

add the active environment to the command line prompt

--temp

create and activate in a temporary directory

--create

create and activate the environment if it doesn’t exist

--envfile [ENVFILE]

manifest or lock file (ends with ‘.json’ or ‘.lock’)

--keep-relative

copy envfile’s relative develop paths verbatim when create

-d, --dir

activate environment based on the directory supplied


spack env deactivate

deactivate the active environment

spack env deactivate [-h] [--sh | --csh | --fish | --bat | --pwsh]

More documentation

Optional arguments

-h, --help

show this help message and exit

--sh

print sh commands to deactivate the environment

--csh

print csh commands to deactivate the environment

--fish

print fish commands to activate the environment

--bat

print bat commands to activate the environment

--pwsh

print pwsh commands to activate the environment


spack env create

create a new environment

create a new environment or, optionally, copy an existing environment

a manifest file results in a new abstract environment while a lock file creates a new concrete environment

spack env create [-h] [-d] [--keep-relative] [--without-view | --with-view WITH_VIEW]
             [--include-concrete INCLUDE_CONCRETE]
             env [envfile]

More documentation

Positional arguments

env

name or directory of the new environment

envfile

manifest or lock file (ends with ‘.json’ or ‘.lock’) or an environment name or path

Optional arguments

-h, --help

show this help message and exit

-d, --dir

create an environment in a specific directory

--keep-relative

copy envfile’s relative develop paths verbatim

--without-view

do not maintain a view for this environment

--with-view WITH_VIEW

maintain view at WITH_VIEW (vs. environment’s directory)

--include-concrete INCLUDE_CONCRETE

copy concrete specs from INCLUDE_CONCRETE’s environment


spack env remove

remove managed environment(s)

remove existing environment(s) managed by Spack

directory environments and manifests embedded in repositories must be removed manually

spack env remove [-hyf] env [env ...]

Positional arguments

env

name(s) of the environment(s) being removed

Optional arguments

-h, --help

show this help message and exit

-y, --yes-to-all

assume “yes” is the answer to every confirmation request

-f, --force

force removal even when included in other environment(s)


spack env rename

rename an existing environment

rename a managed environment or move an independent/directory environment

operation cannot be performed to or from an active environment

spack env rename [-hdf] from to

Positional arguments

from

current name or directory of the environment

to

new name or directory for the environment

Optional arguments

-h, --help

show this help message and exit

-d, --dir

positional arguments are environment directory paths

-f, --force

force renaming even if overwriting an existing environment


spack env list

list all managed environments

spack env list [-h]

Optional arguments

-h, --help

show this help message and exit


spack env status

print active environment status

spack env status [-h]

Optional arguments

-h, --help

show this help message and exit


spack env loads

list modules for an installed environment ‘(see spack module loads)’

spack env loads [-hr] [-n MODULE_SET_NAME] [-m {tcl,lmod}] [--input-only] [-p PREFIX] [-x EXCLUDE]

Optional arguments

-h, --help

show this help message and exit

-n, --module-set-name MODULE_SET_NAME

module set for which to generate load operations

-m, --module-type {tcl,lmod}

type of module system to generate loads for

--input-only

generate input for module command (instead of a shell script)

-p, --prefix PREFIX

prepend to module names when issuing module load commands

-x, --exclude EXCLUDE

exclude package from output; may be specified multiple times

-r, --dependencies

recursively traverse spec dependencies


spack env view

manage the environment’s view

provide the path when enabling a view with a non-default path

spack env view [-h] {regenerate,enable,disable} [view_path]

More documentation

Positional arguments

{regenerate,enable,disable}

action to take for the environment’s view

view_path

view’s non-default path when enabling it

Optional arguments

-h, --help

show this help message and exit


spack env update

update the environment manifest to the latest schema format

update the environment to the latest schema format, which may not be readable by older versions of spack

a backup copy of the manifest is retained in case there is a need to revert this operation

spack env update [-hy] env

Positional arguments

env

name or directory of the environment

Optional arguments

-h, --help

show this help message and exit

-y, --yes-to-all

assume “yes” is the answer to every confirmation request


spack env revert

restore the environment manifest to its previous format

revert the environment’s manifest to the schema format from its last ‘spack env update’

the current manifest will be overwritten by the backup copy and the backup copy will be removed

spack env revert [-hy] env

Positional arguments

env

name or directory of the environment

Optional arguments

-h, --help

show this help message and exit

-y, --yes-to-all

assume “yes” is the answer to every confirmation request


spack env depfile

generate a depfile to exploit parallel builds across specs

requires the active environment to be concrete

spack env depfile [-h] [--make-prefix TARGET] [--make-disable-jobserver]
              [--use-buildcache [{auto,only,never},][package:{auto,only,never},][dependencies:{auto,only,never}]]
              [-o FILE] [-G {make}]
              ...

More documentation

Positional arguments

specs

limit the generated file to matching specs

Optional arguments

-h, --help

show this help message and exit

--make-prefix, --make-target-prefix TARGET

prefix Makefile targets/variables with <TARGET>/<name>,

--make-disable-jobserver

disable POSIX jobserver support

--use-buildcache [{auto,only,never},][package:{auto,only,never},][dependencies:{auto,only,never}]

use only to prune redundant build dependencies

-o, --output FILE

write the depfile to FILE rather than to stdout

-G, --generator {make}

specify the depfile type (only supports make)


spack env track

track an environment from a directory in Spack

spack env track [-hy] [-n NAME] dir

Positional arguments

dir

path to environment

Optional arguments

-h, --help

show this help message and exit

-n, --name NAME

custom environment name

-y, --yes-to-all

assume “yes” is the answer to every confirmation request


spack env untrack

untrack an environment from a directory in Spack

spack env untrack [-hfy] env [env ...]

Positional arguments

env

tracked environment name

Optional arguments

-h, --help

show this help message and exit

-f, --force

force unlink even when environment is active

-y, --yes-to-all

assume “yes” is the answer to every confirmation request


spack extensions

list extensions for package

spack extensions [-hlLdp] [-s {packages,installed,all}] ...

Positional arguments

extendable

spec of package to list extensions for

Optional arguments

-h, --help

show this help message and exit

-l, --long

show dependency hashes as well as versions

-L, --very-long

show full dependency hashes as well as versions

-d, --deps

output dependencies along with found specs

-p, --paths

show paths to package install directories

-s, --show {packages,installed,all}

show only part of output


spack external

manage external packages in Spack configuration

spack external [-h] SUBCOMMAND ...

Optional arguments

-h, --help

show this help message and exit

Subcommands


spack external find

spack external find [-h] [--not-buildable] [--exclude EXCLUDE] [-p PATH]
                [--scope {defaults,system,site,user,command_line} or env:ENVIRONMENT] [--all] [-t TAG] [-j JOBS]
                ...

More documentation

Positional arguments

packages

Optional arguments

-h, --help

show this help message and exit

--not-buildable

packages with detected externals won’t be built with Spack

--exclude EXCLUDE

packages to exclude from search

-p, --path PATH

one or more alternative search paths for finding externals

--scope {defaults,system,site,user,command_line} or env:ENVIRONMENT

configuration scope to modify

--all

search for all packages that Spack knows about

-t, --tag TAG

filter a package query by tag (multiple use allowed)

-j, --jobs JOBS

explicitly set number of parallel jobs


spack external list

spack external list [-h]

Optional arguments

-h, --help

show this help message and exit


spack external read-cray-manifest

spack external read-cray-manifest [-h] [--file FILE] [--directory DIRECTORY] [--ignore-default-dir] [--dry-run]
                              [--fail-on-error]

Optional arguments

-h, --help

show this help message and exit

--file FILE

specify a location other than the default

--directory DIRECTORY

specify a directory storing a group of manifest files

--ignore-default-dir

ignore the default directory of manifest files

--dry-run

don’t modify DB with files that are read

--fail-on-error

if a manifest file cannot be parsed, fail and report the full stack trace


spack fetch

fetch archives for packages

spack fetch [-hnmDfU] [--reuse] [--fresh-roots] [--deprecated] ...

Positional arguments

specs

one or more package specs

Optional arguments

-h, --help

show this help message and exit

-n, --no-checksum

do not use checksums to verify downloaded files (unsafe)

-m, --missing

fetch only missing (not yet installed) dependencies

-D, --dependencies

also fetch all dependencies

-f, --force

allow changes to concretized specs in spack.lock (in an env)

-U, --fresh

do not reuse installed deps; build newest configuration

--reuse

reuse installed packages/buildcaches when possible

--fresh-roots, --reuse-deps

concretize with fresh roots and reused dependencies

--deprecated

allow concretizer to select deprecated versions


spack find

list and search installed packages

spack find [-h] [--format FORMAT | -H | --json] [-I] [--specfile-format] [-d] [-p] [--groups] [--no-groups] [-l] [-L]
       [-t TAG] [-N] [-r] [-c | --show-configured-externals] [-f] [--show-full-compiler] [-x | -X] [-e] [-u] [-m]
       [-v] [--loaded] [-M | --only-deprecated] [--deprecated] [--install-tree INSTALL_TREE]
       [--start-date START_DATE] [--end-date END_DATE]
       ...

More documentation

Positional arguments

installed_specs

constraint to select a subset of installed packages

Optional arguments

-h, --help

show this help message and exit

--format FORMAT

output specs with the specified format string

-H, --hashes

same as --format {/hash}; use with xargs or $()

--json

output specs as machine-readable json records

-I, --install-status

show install status of packages

--specfile-format

show the specfile format for installed deps

-d, --deps

output dependencies along with found specs

-p, --paths

show paths to package install directories

--groups

display specs in arch/compiler groups (default on)

--no-groups

do not group specs by arch/compiler

-l, --long

show dependency hashes as well as versions

-L, --very-long

show full dependency hashes as well as versions

-t, --tag TAG

filter a package query by tag (multiple use allowed)

-N, --namespaces

show fully qualified package names

-r, --only-roots

don’t show full list of installed specs in an environment

-c, --show-concretized

show concretized specs in an environment

--show-configured-externals

show externals defined in the ‘packages’ section of the configuration

-f, --show-flags

show spec compiler flags

--show-full-compiler

(DEPRECATED) show full compiler specs. Currently it’s a no-op

-x, --explicit

show only specs that were installed explicitly

-X, --implicit

show only specs that were installed as dependencies

-e, --external

show only specs that are marked as externals

-u, --unknown

show only specs Spack does not have a package for

-m, --missing

show missing dependencies as well as installed specs

-v, --variants

show variants in output (can be long)

--loaded

show only packages loaded in the user environment

-M, --only-missing

show only missing dependencies

--only-deprecated

show only deprecated packages

--deprecated

show deprecated packages as well as installed specs

--install-tree INSTALL_TREE

Install trees to query: ‘all’ (default), ‘local’, ‘upstream’, upstream name or path

--start-date START_DATE

earliest date of installation [YYYY-MM-DD]

--end-date END_DATE

latest date of installation [YYYY-MM-DD]


spack gc

remove specs that are now no longer needed

spack gc [-hEby] [-e ENV] ...

More documentation

Positional arguments

installed_specs

constraint to select a subset of installed packages

Optional arguments

-h, --help

show this help message and exit

-E, --except-any-environment

remove everything unless needed by an environment

-e, --except-environment ENV

remove everything unless needed by specified environment

-b, --keep-build-dependencies

do not remove installed build-only dependencies of roots

-y, --yes-to-all

assume “yes” is the answer to every confirmation request


spack gpg

handle GPG actions for spack

spack gpg [-h] SUBCOMMAND ...

More documentation

Optional arguments

-h, --help

show this help message and exit

Subcommands


spack gpg verify

spack gpg verify [-h] ... [signature]

Positional arguments

installed_spec

installed package spec

signature

the signature file

Optional arguments

-h, --help

show this help message and exit


spack gpg trust

spack gpg trust [-h] keyfile

Positional arguments

keyfile

add a key to the trust store

Optional arguments

-h, --help

show this help message and exit


spack gpg untrust

spack gpg untrust [-h] [--signing] keys [keys ...]

Positional arguments

keys

remove keys from the trust store

Optional arguments

-h, --help

show this help message and exit

--signing

allow untrusting signing keys


spack gpg sign

spack gpg sign [-h] [--output DEST] [--key KEY] [--clearsign] ...

Positional arguments

installed_spec

installed package spec

Optional arguments

-h, --help

show this help message and exit

--output DEST

the directory to place signatures

--key KEY

the key to use for signing

--clearsign

if specified, create a clearsign signature


spack gpg create

spack gpg create [-h] [--comment COMMENT] [--expires EXPIRATION] [--export DEST] [--export-secret DEST] name email

Positional arguments

name

the name to use for the new key

email

the email address to use for the new key

Optional arguments

-h, --help

show this help message and exit

--comment COMMENT

a description for the intended use of the key

--expires EXPIRATION

when the key should expire

--export DEST

export the public key to a file

--export-secret DEST

export the private key to a file


spack gpg list

spack gpg list [-h] [--trusted] [--signing]

Optional arguments

-h, --help

show this help message and exit

--trusted

list trusted keys

--signing

list keys which may be used for signing


spack gpg init

spack gpg init [-h]

Optional arguments

-h, --help

show this help message and exit

--from DIR


spack gpg export

spack gpg export [-h] [--secret] location [keys ...]

Positional arguments

location

where to export keys

keys

the keys to export (all public keys if unspecified)

Optional arguments

-h, --help

show this help message and exit

--secret

export secret keys


spack gpg publish

spack gpg publish [-h] (-d directory | -m mirror-name | --mirror-url mirror-url) [--update-index] [keys ...]

Positional arguments

keys

keys to publish (all public keys if unspecified)

Optional arguments

-h, --help

show this help message and exit

-d, --directory directory

local directory where keys will be published

-m, --mirror-name mirror-name

name of the mirror where keys will be published

--mirror-url mirror-url

URL of the mirror where keys will be published

--update-index, --rebuild-index

regenerate buildcache key index after publishing key(s)


spack graph

generate graphs of package dependency relationships

spack graph [-hsci] [-a | -d] [--deptype DEPTYPE] ...

More documentation

Positional arguments

specs

one or more package specs

Optional arguments

-h, --help

show this help message and exit

-a, --ascii

draw graph as ascii to stdout (default)

-d, --dot

generate graph in dot format and print to stdout

-s, --static

graph static (possible) deps, don’t concretize (implies --dot)

-c, --color

use different colors for different dependency types

-i, --installed

graph specs from the DB

--deptype DEPTYPE

comma-separated list of deptypes to traverse (default=build,link,run,test)


spack help

get help on spack and its commands

spack help [-ha] [--spec] [help_command]

More documentation

Positional arguments

help_command

command to get help on

Optional arguments

-h, --help

show this help message and exit

-a, --all

list all available commands and options

--spec

help on the package specification syntax


spack info

get detailed information on a particular package

spack info [-h] [-a] [--by-name | --by-when] [--detectable] [--maintainers] [--namespace] [--no-dependencies]
       [--no-variants] [--no-versions] [--phases] [--tags] [--tests] [--virtuals]
       ...

More documentation

Positional arguments

spec

package spec

Optional arguments

-h, --help

show this help message and exit

-a, --all

output all package information

--by-name

list variants, dependency, etc. in name order, then by when condition

--by-when

group variants, dependencies, etc. first by when condition, then by name

--detectable

output information on external detection

--maintainers

output package maintainers

--namespace

output package namespace

--no-dependencies

do not output build, link, and run package dependencies

--no-variants

do not output variants

--no-versions

do not output versions

--phases

output installation phases

--tags

output package tags

--tests

output relevant build-time and stand-alone tests

--virtuals

output virtual packages

--variants-by-name


spack install

build and install packages

spack install [-h] [--only {package,dependencies}] [-u UNTIL] [-p CONCURRENT_PACKAGES] [-j JOBS] [--overwrite]
          [--fail-fast] [--keep-prefix] [--keep-stage] [--dont-restage] [--use-cache | --no-cache | --cache-only |
          --use-buildcache [{auto,only,never},][package:{auto,only,never},][dependencies:{auto,only,never}]]
          [--include-build-deps] [--no-check-signature] [--show-log-on-error] [--source] [-n] [-v] [--fake]
          [--only-concrete] [--add | --no-add] [--clean | --dirty] [--test {root,all}]
          [--log-format {junit,cdash}] [--log-file LOG_FILE] [--help-cdash] [-y] [-f] [-U] [--reuse]
          [--fresh-roots] [--deprecated]
          ...

More documentation

Positional arguments

spec

package spec

Optional arguments

-h, --help

show this help message and exit

--only {package,dependencies}

select the mode of installation

-u, --until UNTIL

phase to stop after when installing (default None)

-p, --concurrent-packages CONCURRENT_PACKAGES

maximum number of packages to build concurrently

-j, --jobs JOBS

explicitly set number of parallel jobs

--overwrite

reinstall an existing spec, even if it has dependents

--fail-fast

stop all builds if any build fails (default is best effort)

--keep-prefix

don’t remove the install prefix if installation fails

--keep-stage

don’t remove the build stage if installation succeeds

--dont-restage

if a partial install is detected, don’t delete prior state

--use-cache

check for pre-built Spack packages in mirrors (default)

--no-cache

do not check for pre-built Spack packages in mirrors

--cache-only

only install package from binary mirrors

--use-buildcache [{auto,only,never},][package:{auto,only,never},][dependencies:{auto,only,never}]

select the mode of buildcache for the ‘package’ and ‘dependencies’

--include-build-deps

include build deps when installing from cache, useful for CI pipeline troubleshooting

--no-check-signature

do not check signatures of binary packages (override mirror config)

--show-log-on-error

print full build log to stderr if build fails

--source

install source files in prefix

-n, --no-checksum

do not use checksums to verify downloaded files (unsafe)

-v, --verbose

display verbose build output while installing

--fake

fake install for debug purposes

--only-concrete

(with environment) only install already concretized specs

--add

(with environment) add spec to the environment as a root

--no-add

(with environment) do not add spec to the environment as a root

--clean

unset harmful variables in the build environment (default)

--dirty

preserve user environment in spack’s build environment (danger!)

--test {root,all}

run tests on only root packages or all packages

--log-format {junit,cdash}

format to be used for log files

--log-file LOG_FILE

filename for the log file

--help-cdash

show usage instructions for CDash reporting

--cdash-upload-url CDASH_UPLOAD_URL

--cdash-build CDASH_BUILD

--cdash-site CDASH_SITE

--cdash-track CDASH_TRACK

--cdash-buildstamp CDASH_BUILDSTAMP

-y, --yes-to-all

assume “yes” is the answer to every confirmation request

-f, --force

allow changes to concretized specs in spack.lock (in an env)

-U, --fresh

do not reuse installed deps; build newest configuration

--reuse

reuse installed packages/buildcaches when possible

--fresh-roots, --reuse-deps

concretize with fresh roots and reused dependencies

--deprecated

allow concretizer to select deprecated versions


spack license

list and check license headers on files in spack

spack license [-h] [--root ROOT] SUBCOMMAND ...

Optional arguments

-h, --help

show this help message and exit

--root ROOT

scan a different prefix for license issues

Subcommands


spack license list-files

spack license list-files [-h]

Optional arguments

-h, --help

show this help message and exit


spack license verify

spack license verify [-h]

Optional arguments

-h, --help

show this help message and exit


spack list

list and search available packages

spack list [-hdv] [-r REPOS] [--format {name_only,version_json,html}] [-t TAG] [--count | --update FILE] ...

More documentation

Positional arguments

filter

optional case-insensitive glob patterns to filter results

Optional arguments

-h, --help

show this help message and exit

-r, --repo, -N, --namespace REPOS

only list packages from the specified repo/namespace

-d, --search-description

filtering will also search the description for a match

--format {name_only,version_json,html}

format to be used to print the output [default: name_only]

-v, --virtuals

include virtual packages in list

-t, --tag TAG

filter a package query by tag (multiple use allowed)

--count

display the number of packages that would be listed

--update FILE

write output to the specified file, if any package is newer


spack load

add package to the user environment

spack load [-h] [--sh | --csh | --fish | --bat | --pwsh] [--first] [--list] ...

More documentation

Positional arguments

installed_specs

constraint to select a subset of installed packages

Optional arguments

-h, --help

show this help message and exit

--sh

print sh commands to load the package

--csh

print csh commands to load the package

--fish

print fish commands to load the package

--bat

print bat commands to load the package

--pwsh

print pwsh commands to load the package

--first

load the first match if multiple packages match the spec

--list

show loaded packages: same as spack find --loaded


spack location

print out locations of packages and spack directories

spack location [-h] [-m | -r | -i | -p | --repo [repo] | -s | -S | -c | -b | -e [name] | -v [name]] [--first] ...

Positional arguments

spec

package spec

Optional arguments

-h, --help

show this help message and exit

-m, --module-dir

spack python module directory

-r, --spack-root

spack installation root

-i, --install-dir

install prefix for spec (spec need not be installed)

-p, --package-dir

directory enclosing a spec’s package.py file

--repo, --packages, -P [repo]

package repository root (defaults to first configured repository)

-s, --stage-dir

stage directory for a spec

-S, --stages

top level stage directory

-c, --source-dir

source directory for a spec (requires it to be staged first)

-b, --build-dir

build directory for a spec (requires it to be staged first)

-e, --env [name]

location of the named or current environment

-v, --view [name]

location of the named or active environment view

--first

use the first match if multiple packages match the spec


spack log-parse

filter errors and warnings from build logs

spack log-parse [-hp] [--show SHOW] [-c CONTEXT] [-t LINES] file

Positional arguments

file

a log file containing build output, or - for stdin

Optional arguments

-h, --help

show this help message and exit

--show SHOW

comma-separated list of what to show; options: errors, warnings

-c, --context CONTEXT

lines of context to show around lines of interest

-p, --profile

print out a profile of time spent in regexes during parse

-w, --width WIDTH

-j, --jobs JOBS

-t, --tail LINES

number of trailing log lines to show (0 to disable)


spack logs

print out logs for packages

spack logs [-h] ...

Positional arguments

spec

package spec

Optional arguments

-h, --help

show this help message and exit


spack maintainers

get information about package maintainers

spack maintainers [-ha] [--maintained | --unmaintained] [--by-user] ...

Positional arguments

package_or_user

names of packages or users to get info for

Optional arguments

-h, --help

show this help message and exit

--maintained

show names of maintained packages

--unmaintained

show names of unmaintained packages

-a, --all

show maintainers for all packages

--by-user

show packages for users instead of users for packages


spack make-installer

generate Windows installer

spack make-installer [-h] (-v SPACK_VERSION | -s SPACK_SOURCE) [-g {SILENT,VERYSILENT}] output_dir

Positional arguments

output_dir

output directory

Optional arguments

-h, --help

show this help message and exit

-v, --spack-version SPACK_VERSION

download given spack version

-s, --spack-source SPACK_SOURCE

full path to spack source

-g, --git-installer-verbosity {SILENT,VERYSILENT}

level of verbosity provided by bundled git installer (default is fully verbose)


spack mark

mark packages as explicitly or implicitly installed

spack mark [-ha] (-e | -i) ...

More documentation

Positional arguments

installed_specs

one or more installed package specs

Optional arguments

-h, --help

show this help message and exit

-a, --all

mark ALL installed packages that match each supplied spec

-e, --explicit

mark packages as explicitly installed

-i, --implicit

mark packages as implicitly installed


spack mirror

manage mirrors (source and binary)

spack mirror [-hn] SUBCOMMAND ...

More documentation

Optional arguments

-h, --help

show this help message and exit

-n, --no-checksum

do not use checksums to verify downloaded files (unsafe)

Subcommands


spack mirror create

spack mirror create [-h] [-d DIRECTORY] [-a] [-j JOBS] [--file FILE] [--exclude-file EXCLUDE_FILE]
                [--exclude-specs EXCLUDE_SPECS] [--skip-unstable-versions] [-D] [-n VERSIONS_PER_SPEC] [--private]
                [-f] [-U] [--reuse] [--fresh-roots] [--deprecated]
                ...

More documentation

Positional arguments

specs

one or more package specs

Optional arguments

-h, --help

show this help message and exit

-d, --directory DIRECTORY

directory in which to create mirror

-a, --all

mirror all versions of all packages in Spack, or all packages in the current environment if there is an active environment (this requires significant time and space)

-j, --jobs JOBS

Use a given number of workers to make the mirror (used in combination with -a)

--file FILE

file with specs of packages to put in mirror

--exclude-file EXCLUDE_FILE

specs which Spack should not try to add to a mirror (listed in a file, one per line)

--exclude-specs EXCLUDE_SPECS

specs which Spack should not try to add to a mirror (specified on command line)

--skip-unstable-versions

don’t cache versions unless they identify a stable (unchanging) source code

-D, --dependencies

also fetch all dependencies

-n, --versions-per-spec VERSIONS_PER_SPEC

the number of versions to fetch for each spec, choose ‘all’ to retrieve all versions of each package

--private

for a private mirror, include non-redistributable packages

-f, --force

allow changes to concretized specs in spack.lock (in an env)

-U, --fresh

do not reuse installed deps; build newest configuration

--reuse

reuse installed packages/buildcaches when possible

--fresh-roots, --reuse-deps

concretize with fresh roots and reused dependencies

--deprecated

allow concretizer to select deprecated versions


spack mirror destroy

spack mirror destroy [-h] (-m mirror_name | --mirror-url mirror_url)

Optional arguments

-h, --help

show this help message and exit

-m, --mirror-name mirror_name

find mirror to destroy by name

--mirror-url mirror_url

find mirror to destroy by url


spack mirror add

spack mirror add [-h] [--scope {defaults,system,site,user,command_line} or env:ENVIRONMENT] [--type {binary,source}]
             [--autopush] [--unsigned | --signed] [--name VIEW_NAME] [--s3-access-key-id S3_ACCESS_KEY_ID |
             --s3-access-key-id-variable S3_ACCESS_KEY_ID_VARIABLE]
             [--s3-access-key-secret-variable S3_ACCESS_KEY_SECRET_VARIABLE]
             [--s3-access-token-variable S3_ACCESS_TOKEN_VARIABLE] [--s3-profile S3_PROFILE]
             [--s3-endpoint-url S3_ENDPOINT_URL] [--oci-username OCI_USERNAME |
             --oci-username-variable OCI_USERNAME_VARIABLE] [--oci-password-variable OCI_PASSWORD_VARIABLE]
             mirror url

More documentation

Positional arguments

mirror

mnemonic name for mirror

url

url of mirror directory from ‘spack mirror create’

Optional arguments

-h, --help

show this help message and exit

--scope {defaults,system,site,user,command_line} or env:ENVIRONMENT

configuration scope to modify

--type {binary,source}

specify the mirror type: for both binary and source use --type binary --type source (default)

--autopush

set mirror to push automatically after installation

--unsigned

do not require signing and signature verification when pushing and installing from this build cache

--signed

require signing and signature verification when pushing and installing from this build cache

--name, -n VIEW_NAME

Name of the index view for a binary mirror

--s3-access-key-id S3_ACCESS_KEY_ID

ID string to use to connect to this S3 mirror

--s3-access-key-id-variable S3_ACCESS_KEY_ID_VARIABLE

environment variable containing ID string to use to connect to this S3 mirror

--s3-access-key-secret-variable S3_ACCESS_KEY_SECRET_VARIABLE

environment variable containing secret string to use to connect to this S3 mirror

--s3-access-token-variable S3_ACCESS_TOKEN_VARIABLE

environment variable containing access token to use to connect to this S3 mirror

--s3-profile S3_PROFILE

S3 profile name to use to connect to this S3 mirror

--s3-endpoint-url S3_ENDPOINT_URL

endpoint URL to use to connect to this S3 mirror

--oci-username OCI_USERNAME

username to use to connect to this OCI mirror

--oci-username-variable OCI_USERNAME_VARIABLE

environment variable containing username to use to connect to this OCI mirror

--oci-password-variable OCI_PASSWORD_VARIABLE

environment variable containing password to use to connect to this OCI mirror


spack mirror remove

spack mirror remove [-h] [--scope {defaults,system,site,user,command_line} or env:ENVIRONMENT] [--all-scopes] mirror

More documentation

Positional arguments

mirror

mnemonic name for mirror

Optional arguments

-h, --help

show this help message and exit

--scope {defaults,system,site,user,command_line} or env:ENVIRONMENT

configuration scope to modify

--all-scopes

remove from all config scopes (default: highest scope with matching mirror)


spack mirror set-url

spack mirror set-url [-h] [--push | --fetch] [--scope {defaults,system,site,user,command_line} or env:ENVIRONMENT]
                 [--s3-access-key-id S3_ACCESS_KEY_ID | --s3-access-key-id-variable S3_ACCESS_KEY_ID_VARIABLE]
                 [--s3-access-key-secret-variable S3_ACCESS_KEY_SECRET_VARIABLE]
                 [--s3-access-token-variable S3_ACCESS_TOKEN_VARIABLE] [--s3-profile S3_PROFILE]
                 [--s3-endpoint-url S3_ENDPOINT_URL] [--oci-username OCI_USERNAME |
                 --oci-username-variable OCI_USERNAME_VARIABLE] [--oci-password-variable OCI_PASSWORD_VARIABLE]
                 mirror url

Positional arguments

mirror

mnemonic name for mirror

url

url of mirror directory from ‘spack mirror create’

Optional arguments

-h, --help

show this help message and exit

--push

set only the URL used for uploading

--fetch

set only the URL used for downloading

--scope {defaults,system,site,user,command_line} or env:ENVIRONMENT

configuration scope to modify

--s3-access-key-id S3_ACCESS_KEY_ID

ID string to use to connect to this S3 mirror

--s3-access-key-id-variable S3_ACCESS_KEY_ID_VARIABLE

environment variable containing ID string to use to connect to this S3 mirror

--s3-access-key-secret-variable S3_ACCESS_KEY_SECRET_VARIABLE

environment variable containing secret string to use to connect to this S3 mirror

--s3-access-token-variable S3_ACCESS_TOKEN_VARIABLE

environment variable containing access token to use to connect to this S3 mirror

--s3-profile S3_PROFILE

S3 profile name to use to connect to this S3 mirror

--s3-endpoint-url S3_ENDPOINT_URL

endpoint URL to use to connect to this S3 mirror

--oci-username OCI_USERNAME

username to use to connect to this OCI mirror

--oci-username-variable OCI_USERNAME_VARIABLE

environment variable containing username to use to connect to this OCI mirror

--oci-password-variable OCI_PASSWORD_VARIABLE

environment variable containing password to use to connect to this OCI mirror


spack mirror set

spack mirror set [-h] [--push | --fetch] [--type {binary,source}] [--url URL] [--autopush | --no-autopush]
             [--unsigned | --signed] [--scope {defaults,system,site,user,command_line} or env:ENVIRONMENT]
             [--s3-access-key-id S3_ACCESS_KEY_ID | --s3-access-key-id-variable S3_ACCESS_KEY_ID_VARIABLE]
             [--s3-access-key-secret-variable S3_ACCESS_KEY_SECRET_VARIABLE]
             [--s3-access-token-variable S3_ACCESS_TOKEN_VARIABLE] [--s3-profile S3_PROFILE]
             [--s3-endpoint-url S3_ENDPOINT_URL] [--oci-username OCI_USERNAME |
             --oci-username-variable OCI_USERNAME_VARIABLE] [--oci-password-variable OCI_PASSWORD_VARIABLE]
             mirror

Positional arguments

mirror

mnemonic name for mirror

Optional arguments

-h, --help

show this help message and exit

--push

modify just the push connection details

--fetch

modify just the fetch connection details

--type {binary,source}

specify the mirror type: for both binary and source use --type binary --type source

--url URL

url of mirror directory from ‘spack mirror create’

--autopush

set mirror to push automatically after installation

--no-autopush

set mirror to not push automatically after installation

--unsigned

do not require signing and signature verification when pushing and installing from this build cache

--signed

require signing and signature verification when pushing and installing from this build cache

--scope {defaults,system,site,user,command_line} or env:ENVIRONMENT

configuration scope to modify

--s3-access-key-id S3_ACCESS_KEY_ID

ID string to use to connect to this S3 mirror

--s3-access-key-id-variable S3_ACCESS_KEY_ID_VARIABLE

environment variable containing ID string to use to connect to this S3 mirror

--s3-access-key-secret-variable S3_ACCESS_KEY_SECRET_VARIABLE

environment variable containing secret string to use to connect to this S3 mirror

--s3-access-token-variable S3_ACCESS_TOKEN_VARIABLE

environment variable containing access token to use to connect to this S3 mirror

--s3-profile S3_PROFILE

S3 profile name to use to connect to this S3 mirror

--s3-endpoint-url S3_ENDPOINT_URL

endpoint URL to use to connect to this S3 mirror

--oci-username OCI_USERNAME

username to use to connect to this OCI mirror

--oci-username-variable OCI_USERNAME_VARIABLE

environment variable containing username to use to connect to this OCI mirror

--oci-password-variable OCI_PASSWORD_VARIABLE

environment variable containing password to use to connect to this OCI mirror


spack mirror list

spack mirror list [-h] [--scope {defaults,system,site,user,command_line} or env:ENVIRONMENT]

More documentation

Optional arguments

-h, --help

show this help message and exit

--scope {defaults,system,site,user,command_line} or env:ENVIRONMENT

configuration scope to read from


spack module

generate/manage module files

spack module [-h] SUBCOMMAND ...

Optional arguments

-h, --help

show this help message and exit

Subcommands


spack module lmod

spack module lmod [-h] [-n MODULE_SET_NAME] SUBCOMMAND ...

Optional arguments

-h, --help

show this help message and exit

-n, --name MODULE_SET_NAME

named module set to use from modules configuration

Subcommands


spack module lmod refresh

spack module lmod refresh [-hy] [--delete-tree] [--upstream-modules] ...

Positional arguments

installed_specs

constraint to select a subset of installed packages

Optional arguments

-h, --help

show this help message and exit

--delete-tree

delete the module file tree before refresh

--upstream-modules

generate modules for packages installed upstream

-y, --yes-to-all

assume “yes” is the answer to every confirmation request


spack module lmod find

spack module lmod find [-hr] [--full-path] ...

Positional arguments

installed_specs

constraint to select a subset of installed packages

Optional arguments

-h, --help

show this help message and exit

--full-path

display full path to module file

-r, --dependencies

recursively traverse spec dependencies


spack module lmod rm

spack module lmod rm [-hy] ...

Positional arguments

installed_specs

constraint to select a subset of installed packages

Optional arguments

-h, --help

show this help message and exit

-y, --yes-to-all

assume “yes” is the answer to every confirmation request


spack module lmod loads

spack module lmod loads [-hr] [--input-only] [-p PREFIX] [-x EXCLUDE] ...

Positional arguments

installed_specs

constraint to select a subset of installed packages

Optional arguments

-h, --help

show this help message and exit

--input-only

generate input for module command (instead of a shell script)

-p, --prefix PREFIX

prepend to module names when issuing module load commands

-x, --exclude EXCLUDE

exclude package from output; may be specified multiple times

-r, --dependencies

recursively traverse spec dependencies


spack module lmod setdefault

spack module lmod setdefault [-h] ...

Positional arguments

installed_specs

constraint to select a subset of installed packages

Optional arguments

-h, --help

show this help message and exit


spack module tcl

spack module tcl [-h] [-n MODULE_SET_NAME] SUBCOMMAND ...

Optional arguments

-h, --help

show this help message and exit

-n, --name MODULE_SET_NAME

named module set to use from modules configuration

Subcommands


spack module tcl refresh

spack module tcl refresh [-hy] [--delete-tree] [--upstream-modules] ...

Positional arguments

installed_specs

constraint to select a subset of installed packages

Optional arguments

-h, --help

show this help message and exit

--delete-tree

delete the module file tree before refresh

--upstream-modules

generate modules for packages installed upstream

-y, --yes-to-all

assume “yes” is the answer to every confirmation request


spack module tcl find

spack module tcl find [-hr] [--full-path] ...

Positional arguments

installed_specs

constraint to select a subset of installed packages

Optional arguments

-h, --help

show this help message and exit

--full-path

display full path to module file

-r, --dependencies

recursively traverse spec dependencies


spack module tcl rm

spack module tcl rm [-hy] ...

Positional arguments

installed_specs

constraint to select a subset of installed packages

Optional arguments

-h, --help

show this help message and exit

-y, --yes-to-all

assume “yes” is the answer to every confirmation request


spack module tcl loads

spack module tcl loads [-hr] [--input-only] [-p PREFIX] [-x EXCLUDE] ...

Positional arguments

installed_specs

constraint to select a subset of installed packages

Optional arguments

-h, --help

show this help message and exit

--input-only

generate input for module command (instead of a shell script)

-p, --prefix PREFIX

prepend to module names when issuing module load commands

-x, --exclude EXCLUDE

exclude package from output; may be specified multiple times

-r, --dependencies

recursively traverse spec dependencies


spack module tcl setdefault

spack module tcl setdefault [-h] ...

Positional arguments

installed_specs

constraint to select a subset of installed packages

Optional arguments

-h, --help

show this help message and exit


spack patch

patch expanded sources in preparation for install

spack patch [-hnfU] [--reuse] [--fresh-roots] [--deprecated] ...

Positional arguments

specs

one or more package specs

Optional arguments

-h, --help

show this help message and exit

-n, --no-checksum

do not use checksums to verify downloaded files (unsafe)

-f, --force

allow changes to concretized specs in spack.lock (in an env)

-U, --fresh

do not reuse installed deps; build newest configuration

--reuse

reuse installed packages/buildcaches when possible

--fresh-roots, --reuse-deps

concretize with fresh roots and reused dependencies

--deprecated

allow concretizer to select deprecated versions


spack pkg

query packages associated with particular git revisions

spack pkg [-h] SUBCOMMAND ...

Optional arguments

-h, --help

show this help message and exit

Subcommands


spack pkg add

spack pkg add [-h] package [package ...]

Positional arguments

package

one or more package names

Optional arguments

-h, --help

show this help message and exit


spack pkg list

spack pkg list [-h] [rev]

Positional arguments

rev

revision to list packages for

Optional arguments

-h, --help

show this help message and exit


spack pkg diff

spack pkg diff [-h] [rev1] [rev2]

Positional arguments

rev1

revision to compare against

rev2

revision to compare to rev1 (default is HEAD)

Optional arguments

-h, --help

show this help message and exit


spack pkg added

spack pkg added [-h] [rev1] [rev2]

Positional arguments

rev1

revision to compare against

rev2

revision to compare to rev1 (default is HEAD)

Optional arguments

-h, --help

show this help message and exit


spack pkg changed

spack pkg changed [-h] [-t TYPE] [rev1] [rev2]

Positional arguments

rev1

revision to compare against

rev2

revision to compare to rev1 (default is HEAD)

Optional arguments

-h, --help

show this help message and exit

-t, --type TYPE

types of changes to show (A: added, R: removed, C: changed); default is ‘C’


spack pkg removed

spack pkg removed [-h] [rev1] [rev2]

Positional arguments

rev1

revision to compare against

rev2

revision to compare to rev1 (default is HEAD)

Optional arguments

-h, --help

show this help message and exit


spack pkg grep

spack pkg grep [--help] ...

Positional arguments

grep_args

arguments for grep

Optional arguments

--help

show this help message and exit


spack pkg source

spack pkg source [-hc] ...

Positional arguments

spec

package spec

Optional arguments

-h, --help

show this help message and exit

-c, --canonical

dump canonical source as used by package hash


spack pkg hash

spack pkg hash [-h] ...

Positional arguments

spec

package spec

Optional arguments

-h, --help

show this help message and exit


spack providers

list packages that provide a particular virtual package

spack providers [-h] [virtual_package ...]

More documentation

Positional arguments

virtual_package

find packages that provide this virtual package

Optional arguments

-h, --help

show this help message and exit


spack pydoc

run pydoc from within spack

spack pydoc [-h] entity

Positional arguments

entity

run pydoc help on entity

Optional arguments

-h, --help

show this help message and exit


spack python

launch an interpreter as spack would launch a command

spack python [-hVu] [-c PYTHON_COMMAND] [-i {python,ipython}] [-m MODULE] [--path] ...

More documentation

Positional arguments

python_args

file to run plus arguments

Optional arguments

-h, --help

show this help message and exit

-V, --version

print the Python version number and exit

-c PYTHON_COMMAND

command to execute

-u

for compatibility with xdist, do not use without adding -u to the interpreter

-i {python,ipython}

python interpreter

-m MODULE

run library module as a script

--path

show path to python interpreter that spack uses


spack reindex

rebuild Spack’s package database

spack reindex [-h]

Optional arguments

-h, --help

show this help message and exit


spack remove

remove specs from an environment

spack remove [-haf] [-l LIST_NAME] ...

Positional arguments

specs

one or more package specs

Optional arguments

-h, --help

show this help message and exit

-a, --all

remove all specs from (clear) the environment

-l, --list-name LIST_NAME

name of the list to remove specs from

-f, --force

remove concretized spec (if any) immediately


spack repo

manage package source repositories

spack repo [-h] SUBCOMMAND ...

More documentation

Optional arguments

-h, --help

show this help message and exit

Subcommands


spack repo create

create a new package repository

spack repo create [-h] [-d SUBDIR] directory namespace

More documentation

Positional arguments

directory

directory to create the repo in

namespace

name or namespace to identify packages in the repository

Optional arguments

-h, --help

show this help message and exit

-d, --subdirectory SUBDIR

subdirectory to store packages in the repository


spack repo list

show registered repositories and their namespaces

List all package repositories known to Spack. Repositories can be local directories or remote git repositories.

spack repo list [-h] [--scope {defaults,system,site,user,command_line} or env:ENVIRONMENT] [--names | --namespaces |
            --json]

More documentation

Optional arguments

-h, --help

show this help message and exit

--scope {defaults,system,site,user,command_line} or env:ENVIRONMENT

configuration scope to read from

--names

show configuration names only

--namespaces

show repository namespaces only

--json

output repositories as machine-readable json records


spack repo add

add package repositories to Spack’s configuration

spack repo add [-h] [--name NAME] [--path PATH] [--scope {defaults,system,site,user,command_line} or env:ENVIRONMENT]
           path_or_repo [destination]

More documentation

Positional arguments

path_or_repo

path or git repository of a Spack package repository

destination

destination to clone git repository into (defaults to cache directory)

Optional arguments

-h, --help

show this help message and exit

--name NAME

config name for the package repository, defaults to the namespace of the repository

--path PATH

relative path to the Spack package repository inside a git repository. Can be repeated to add multiple package repositories in case of a monorepo

--scope {defaults,system,site,user,command_line} or env:ENVIRONMENT

configuration scope to modify


spack repo set

modify an existing repository configuration

spack repo set [-h] [--destination DESTINATION] [--path PATH]
           [--scope {defaults,system,site,user,command_line} or env:ENVIRONMENT]
           namespace

Positional arguments

namespace

namespace of a Spack package repository

Optional arguments

-h, --help

show this help message and exit

--destination DESTINATION

destination to clone git repository into

--path PATH

relative path to the Spack package repository inside a git repository. Can be repeated to add multiple package repositories in case of a monorepo

--scope {defaults,system,site,user,command_line} or env:ENVIRONMENT

configuration scope to modify


spack repo remove

remove a repository from Spack’s configuration

spack repo remove [-h] [--scope {defaults,system,site,user,command_line} or env:ENVIRONMENT] [--all-scopes]
              namespace_or_path

More documentation

Positional arguments

namespace_or_path

namespace or path of a Spack package repository

Optional arguments

-h, --help

show this help message and exit

--scope {defaults,system,site,user,command_line} or env:ENVIRONMENT

configuration scope to modify

--all-scopes

remove from all config scopes (default: highest scope with matching repo)


spack repo migrate

migrate a package repository to the latest Package API

spack repo migrate [-h] (--dry-run | --fix) namespace_or_path

Positional arguments

namespace_or_path

path to a Spack package repository directory

Optional arguments

-h, --help

show this help message and exit

--dry-run

do not modify the repository, but dump a patch file

--fix

automatically migrate the repository to the latest Package API


spack repo update

update one or more package repositories

spack repo update [-h] [--remote [REMOTE]] [--scope {defaults,system,site,user,command_line} or env:ENVIRONMENT]
              [--branch [BRANCH]] [--tag [TAG] | --commit [COMMIT]]
              [names ...]

Positional arguments

names

repositories to update

Optional arguments

-h, --help

show this help message and exit

--remote, -r [REMOTE]

name of remote to check for branches, tags, or commits

--scope {defaults,system,site,user,command_line} or env:ENVIRONMENT

configuration scope to modify

--branch, -b [BRANCH]

name of a branch to change to

--tag, -t [TAG]

name of a tag to change to

--commit, -c [COMMIT]

name of a commit to change to


spack repo show-version-updates

spack repo show-version-updates [-h] [--no-manual-packages] [--no-git-versions] [--only-redistributable]
                            repository from_ref to_ref

Positional arguments

repository

name or path of the repository to analyze

from_ref

git ref from which to start looking at changes

to_ref

git ref to end looking at changes

Optional arguments

-h, --help

show this help message and exit

--no-manual-packages

exclude manual packages

--no-git-versions

exclude versions from git

--only-redistributable

exclude non-redistributable packages


spack resource

list downloadable resources (tarballs, repos, patches)

spack resource [-h] SUBCOMMAND ...

More documentation

Optional arguments

-h, --help

show this help message and exit

Subcommands


spack resource list

spack resource list [-h] [--only-hashes]

Optional arguments

-h, --help

show this help message and exit

--only-hashes

only print sha256 hashes of resources


spack resource show

spack resource show [-h] hash

Positional arguments

hash

Optional arguments

-h, --help

show this help message and exit


spack restage

revert checked out package source code

spack restage [-h] ...

Positional arguments

specs

one or more package specs

Optional arguments

-h, --help

show this help message and exit


spack solve

concretize a specs using an ASP solver

spack solve [-h] [--show SHOW] [--timers] [--stats] [-l] [-L] [-N] [-I | --no-install-status] [-y | -j |
        --format FORMAT | --non-defaults] [-c {nodes,edges,paths}] [-t] [-f] [-U] [--reuse] [--fresh-roots]
        [--deprecated]
        ...

Positional arguments

specs

one or more package specs

Optional arguments

-h, --help

show this help message and exit

--show SHOW

select outputs

--timers

print out timers for different solve phases

--stats

print out statistics from clingo

-l, --long

show dependency hashes as well as versions

-L, --very-long

show full dependency hashes as well as versions

-N, --namespaces

show fully qualified package names

-I, --install-status

show install status of packages

--no-install-status

do not show install status annotations

-y, --yaml

print concrete spec as YAML

-j, --json

print concrete spec as JSON

--format FORMAT

print concrete spec with the specified format string

--non-defaults

highlight non-default versions or variants

-c, --cover {nodes,edges,paths}

how extensively to traverse the DAG (default: nodes)

-t, --types

show dependency types

-f, --force

allow changes to concretized specs in spack.lock (in an env)

-U, --fresh

do not reuse installed deps; build newest configuration

--reuse

reuse installed packages/buildcaches when possible

--fresh-roots, --reuse-deps

concretize with fresh roots and reused dependencies

--deprecated

allow concretizer to select deprecated versions


spack spec

show what would be installed, given a spec

spack spec [-h] [-l] [-L] [-N] [-I | --no-install-status] [-y | -j | --format FORMAT | --non-defaults]
       [-c {nodes,edges,paths}] [-t] [-f] [-U] [--reuse] [--fresh-roots] [--deprecated]
       ...

Positional arguments

specs

one or more package specs

Optional arguments

-h, --help

show this help message and exit

-l, --long

show dependency hashes as well as versions

-L, --very-long

show full dependency hashes as well as versions

-N, --namespaces

show fully qualified package names

-I, --install-status

show install status of packages

--no-install-status

do not show install status annotations

-y, --yaml

print concrete spec as YAML

-j, --json

print concrete spec as JSON

--format FORMAT

print concrete spec with the specified format string

--non-defaults

highlight non-default versions or variants

-c, --cover {nodes,edges,paths}

how extensively to traverse the DAG (default: nodes)

-t, --types

show dependency types

-f, --force

allow changes to concretized specs in spack.lock (in an env)

-U, --fresh

do not reuse installed deps; build newest configuration

--reuse

reuse installed packages/buildcaches when possible

--fresh-roots, --reuse-deps

concretize with fresh roots and reused dependencies

--deprecated

allow concretizer to select deprecated versions


spack stage

expand downloaded archive in preparation for install

spack stage [-hnsfU] [-p PATH] [-e EXCLUDE] [--reuse] [--fresh-roots] [--deprecated] ...

Positional arguments

specs

one or more package specs

Optional arguments

-h, --help

show this help message and exit

-n, --no-checksum

do not use checksums to verify downloaded files (unsafe)

-p, --path PATH

path to stage package, does not add to spack tree

-e, --exclude EXCLUDE

exclude packages that satisfy the specified specs

-s, --skip-installed

dont restage already installed specs

-f, --force

allow changes to concretized specs in spack.lock (in an env)

-U, --fresh

do not reuse installed deps; build newest configuration

--reuse

reuse installed packages/buildcaches when possible

--fresh-roots, --reuse-deps

concretize with fresh roots and reused dependencies

--deprecated

allow concretizer to select deprecated versions


spack style

runs source code style checks on spack

spack style [-harUf] [-b BASE] [--root ROOT] [-t TOOL | -s TOOL] [--spec-strings] ...

More documentation

Positional arguments

files

specific files to check

Optional arguments

-h, --help

show this help message and exit

-b, --base BASE

branch to compare against to determine changed files (default: develop)

-a, --all

check all files, not just changed files (applies only to Import Check)

-r, --root-relative

print root-relative paths (default: cwd-relative)

-U, --no-untracked

exclude untracked files from checks

-f, --fix

format automatically if possible (e.g., with isort, black)

--root ROOT

style check a different spack instance

-t, --tool TOOL

specify which tools to run (default: import, ruff-format, ruff-check, mypy)

-s, --skip TOOL

specify tools to skip (choose from import, ruff-format, ruff-check, mypy)

--spec-strings

upgrade spec strings in Python, JSON and YAML files for compatibility with Spack v1.0 and v0.x. Example: spack style --spec-strings $(git ls-files). Note: must be used only on specs from spack v0.X.


spack tags

show package tags and associated packages

spack tags [-hia] [tag ...]

Positional arguments

tag

show packages with the specified tag

Optional arguments

-h, --help

show this help message and exit

-i, --installed

show information for installed packages only

-a, --all

show packages for all available tags


spack test

run spack’s tests for an install

spack test [-h] SUBCOMMAND ...

More documentation

Optional arguments

-h, --help

show this help message and exit

Subcommands


spack test run

run tests for the specified installed packages

if no specs are listed, run tests for all packages in the current environment or all installed packages if there is no active environment

spack test run [-h] [--alias ALIAS] [--fail-fast] [--fail-first] [--externals] [-x] [--keep-stage]
           [--log-format {junit,cdash}] [--log-file LOG_FILE] [--help-cdash] [--timeout TIMEOUT] [--clean |
           --dirty]
           ...

More documentation

Positional arguments

installed_specs

one or more installed package specs

Optional arguments

-h, --help

show this help message and exit

--alias ALIAS

provide an alias for this test-suite for subsequent access

--fail-fast

stop tests for each package after the first failure

--fail-first

stop after the first failed package

--externals

test packages that are externally installed

-x, --explicit

only test packages that are explicitly installed

--keep-stage

keep testing directory for debugging

--log-format {junit,cdash}

format to be used for log files

--log-file LOG_FILE

filename for the log file

--cdash-upload-url CDASH_UPLOAD_URL

--cdash-build CDASH_BUILD

--cdash-site CDASH_SITE

--cdash-track CDASH_TRACK

--cdash-buildstamp CDASH_BUILDSTAMP

--help-cdash

show usage instructions for CDash reporting

--timeout TIMEOUT

maximum time (in seconds) that tests are allowed to run

--clean

unset harmful variables in the build environment (default)

--dirty

preserve user environment in spack’s build environment (danger!)


spack test list

list installed packages with available tests

spack test list [-ha] [tag ...]

More documentation

Positional arguments

tag

limit packages to those with all listed tags

Optional arguments

-h, --help

show this help message and exit

-a, --all

list all packages with tests (not just installed)


spack test find

find tests that are running or have available results

displays aliases for tests that have them, otherwise test suite content hashes

spack test find [-h] ...

More documentation

Positional arguments

filter

optional case-insensitive glob patterns to filter results

Optional arguments

-h, --help

show this help message and exit


spack test status

get the current status for the specified Spack test suite(s)

spack test status [-h] ...

Positional arguments

names

test suites for which to print status

Optional arguments

-h, --help

show this help message and exit


spack test results

get the results from Spack test suite(s) (default all)

spack test results [-hlf] ...

More documentation

Positional arguments

[name(s)] [-- installed_specs]...

suite names and installed package constraints

Optional arguments

-h, --help

show this help message and exit

-l, --logs

print the test log for each matching package

-f, --failed

only show results for failed tests of matching packages


spack test remove

remove results from Spack test suite(s) (default all)

if no test suite is listed, remove results for all suites.

removed tests can no longer be accessed for results or status, and will not appear in spack test list results

spack test remove [-hy] ...

More documentation

Positional arguments

names

test suites to remove from test stage

Optional arguments

-h, --help

show this help message and exit

-y, --yes-to-all

assume “yes” is the answer to every confirmation request


spack test-env

run a command in a spec’s test environment, or dump its environment to screen or file

spack test-env [-hfU] [--clean] [--dirty] [--reuse] [--fresh-roots] [--deprecated] [--dump FILE] [--pickle FILE] ...

Positional arguments

spec [--] [cmd]...

specs of package environment to emulate

Optional arguments

-h, --help

show this help message and exit

--clean

unset harmful variables in the build environment (default)

--dirty

preserve user environment in spack’s build environment (danger!)

-f, --force

allow changes to concretized specs in spack.lock (in an env)

-U, --fresh

do not reuse installed deps; build newest configuration

--reuse

reuse installed packages/buildcaches when possible

--fresh-roots, --reuse-deps

concretize with fresh roots and reused dependencies

--deprecated

allow concretizer to select deprecated versions

--dump FILE

dump a source-able environment to FILE

--pickle FILE

dump a pickled source-able environment to FILE


spack tutorial

set up spack for our tutorial (WARNING: modifies config!)

spack tutorial [-hy]

Optional arguments

-h, --help

show this help message and exit

-y, --yes-to-all

assume “yes” is the answer to every confirmation request


spack undevelop

remove specs from an environment

spack undevelop [-ha] [--no-modify-concrete-specs] ...

Positional arguments

specs

one or more package specs

Optional arguments

-h, --help

show this help message and exit

--no-modify-concrete-specs

do not mutate concrete specs to remove dev_path provenance. This requires running spack concretize -f later to apply changes to concrete specs

-a, --all

remove all specs from (clear) the environment


spack uninstall

remove installed packages

spack uninstall [-hfRya] [--remove] [--origin ORIGIN] ...

More documentation

Positional arguments

installed_specs

one or more installed package specs

Optional arguments

-h, --help

show this help message and exit

-f, --force

remove regardless of whether other packages or environments depend on this one

--remove

if in an environment, then the spec should also be removed from the environment description

-R, --dependents

also uninstall any packages that depend on the ones given via command line

-y, --yes-to-all

assume “yes” is the answer to every confirmation request

-a, --all

remove ALL installed packages that match each supplied spec

--origin ORIGIN

only remove DB records with the specified origin


spack unit-test

run spack’s unit tests (wrapper around pytest)

spack unit-test [-hHs] [-n NUMPROCESSES] [-l | -L | -N] [--extension EXTENSION] [-k EXPRESSION] [--showlocals] ...

More documentation

Positional arguments

pytest_args

arguments for pytest

Optional arguments

-h, --help

show this help message and exit

-H, --pytest-help

show full pytest help, with advanced options

-n, --numprocesses NUMPROCESSES

run tests in parallel up to this wide, default 1 for sequential

-l, --list

list test filenames

-L, --list-long

list all test functions

-N, --list-names

list full names of all tests

--extension EXTENSION

run test for a given spack extension

-s

print output while tests run (disable capture)

-k EXPRESSION

filter tests by keyword (can also use w/list options)

--showlocals

show local variable values in tracebacks


spack unload

remove package from the user environment

spack unload [-ha] [--sh | --csh | --fish | --bat | --pwsh] ...

More documentation

Positional arguments

installed_specs

one or more installed package specs

Optional arguments

-h, --help

show this help message and exit

--sh

print sh commands to activate the environment

--csh

print csh commands to activate the environment

--fish

print fish commands to load the package

--bat

print bat commands to load the package

--pwsh

print pwsh commands to load the package

-a, --all

unload all loaded Spack packages


spack url

debugging tool for url parsing

spack url [-h] SUBCOMMAND ...

More documentation

Optional arguments

-h, --help

show this help message and exit

Subcommands


spack url parse

spack url parse [-hs] url

More documentation

Positional arguments

url

url to parse

Optional arguments

-h, --help

show this help message and exit

-s, --spider

spider the source page for versions


spack url list

spack url list [-hce] [-n | -N | -v | -V]

More documentation

Optional arguments

-h, --help

show this help message and exit

-c, --color

color the parsed version and name in the urls shown (versions will be cyan, name red)

-e, --extrapolation

color the versions used for extrapolation as well (additional versions will be green, names magenta)

-n, --incorrect-name

only list urls for which the name was incorrectly parsed

-N, --correct-name

only list urls for which the name was correctly parsed

-v, --incorrect-version

only list urls for which the version was incorrectly parsed

-V, --correct-version

only list urls for which the version was correctly parsed


spack url summary

spack url summary [-h]

More documentation

Optional arguments

-h, --help

show this help message and exit


spack url stats

spack url stats [-h] [--show-issues]

Optional arguments

-h, --help

show this help message and exit

--show-issues

show packages with issues (md5 hashes, http urls)


spack verify

verify spack installations on disk

spack verify [-h] SUBCOMMAND ...

More documentation

Optional arguments

-h, --help

show this help message and exit

Subcommands


spack verify manifest

verify that install directories have not been modified since installation

spack verify manifest [-hlja] [-s | -f] ...

Positional arguments

specs_or_files

specs or files to verify

Optional arguments

-h, --help

show this help message and exit

-l, --local

verify only locally installed packages

-j, --json

output json-formatted errors

-a, --all

verify all packages

-s, --specs

treat entries as specs (default)

-f, --files

treat entries as absolute filenames


spack verify libraries

verify that shared libraries of install packages can be located in rpaths (Linux only)

spack verify libraries [-h] ...

Positional arguments

installed_specs

constraint to select a subset of installed packages

Optional arguments

-h, --help

show this help message and exit


spack verify versions

Check that all versions of installed packages are known to Spack and non-deprecated.

Reports errors for any of the following:

  1. Installed package not loadable from the repo

  2. Installed package version not known by the package recipe

  3. Installed package version deprecated in the package recipe

spack verify versions [-h] ...

Positional arguments

installed_specs

constraint to select a subset of installed packages

Optional arguments

-h, --help

show this help message and exit


spack versions

list available versions of a package

spack versions [-h] [-s | -r | -n] [-j JOBS] package

More documentation

Positional arguments

package

package name

Optional arguments

-h, --help

show this help message and exit

-s, --safe

only list safe versions of the package

-r, --remote

only list remote versions of the package

-n, --new

only list remote versions newer than the latest checksummed version

-j, --jobs JOBS

explicitly set number of parallel jobs


spack view

manipulate view directories in the filesystem

spack view [-hv] [-e EXCLUDE] [-d {true,false,yes,no}] ACTION ...

Optional arguments

-h, --help

show this help message and exit

-v, --verbose

if not verbose only warnings/errors will be printed

-e, --exclude EXCLUDE

exclude packages with names matching the given regex pattern

-d, --dependencies {true,false,yes,no}

link/remove/list dependencies

Subcommands


spack view copy

spack view copy [-hi] [--projection-file PROJECTION_FILE] path spec [spec ...]

Positional arguments

path

path to file system view directory

spec

seed specs of the packages to view

Optional arguments

-h, --help

show this help message and exit

--projection-file PROJECTION_FILE

initialize view using projections from file

-i, --ignore-conflicts


spack view remove

spack view remove [-ha] [--no-remove-dependents] path [spec ...]

Positional arguments

path

path to file system view directory

spec

seed specs of the packages to view

Optional arguments

-h, --help

show this help message and exit

--no-remove-dependents

do not remove dependents of specified specs

-a, --all

act on all specs in view