Spack
spack.io
What it is
Spack is a package manager for installing scientific software on supercomputers, Linux, macOS, and Windows. It is designed for large supercomputing centers that share software across clusters and varied architectures, and is available at free. Users can choose package versions, compiler choices, target architectures, and compile-time options, while controlling direct and transitive dependencies. Spack can build stacks that combine Python or R packages with C, C++, or Fortran libraries. Each distinct package and dependency configuration receives its own prefix, so different builds can coexist without a new installation disrupting an existing one. Software can be installed to a user-selected directory without administrator privileges. Spack primarily builds customized software from source and also supports binary installation through build caches. It supports lockfiles, environment management, and private registries. Package recipes are Python scripts, and the `spack create` command generates starter boilerplate. The project is distributed under either the MIT license or Apache License 2.0, at the user's option.
Spec sheet
- Purpose
- Spack is a package manager that makes installing scientific software easy on supercomputers, Linux, macOS, and Windows.Read 8 Oct 2026 · spack.io
- Intended users
- Spack was designed for large supercomputing centers where users and application teams share software installations across clusters and varied architectures.Read 8 Oct 2026 · spack.readthedocs.io
- Platforms
- Spack supports Linux, macOS, Windows, and supercomputers.Read 8 Oct 2026 · spack.io
- Free plan
- YesRead 20 Sep 2026 · spack.io
- Integrations
- Spack's services page lists GitLab, CDash, Grafana, Prometheus, and Metabase.Read 8 Oct 2026 · spack.io
- Security
- The project repository links to a security policy.Read 8 Oct 2026 · github.com
- License
- Spack is distributed under the MIT license or Apache License 2.0, at the user's option.Read 8 Oct 2026 · github.com
- Build configurations
- It supports building packages with multiple versions, configurations, and compilers that can coexist on the same machine.Read 8 Oct 2026 · spack.io
- Build methods
- Spack primarily builds software from source and also supports binary installations through build caches.Read 8 Oct 2026 · spack.io
- Build signing
- Spack documentation includes build-cache signing and package-signing guidance, including a section on risks and threat models.Read 8 Oct 2026 · spack.readthedocs.io
- Coexisting installs
- Each unique package and dependency configuration gets its own prefix, allowing installations to coexist without new installs breaking existing ones.Read 8 Oct 2026 · spack.io
- Community support
- The project directs users to Slack, Matrix, GitHub Discussions, and an announcements mailing list.Read 8 Oct 2026 · github.com
- Configurable builds
- Users can specify package versions, compile-time options, target architectures, and compiler choices.Read 8 Oct 2026 · spack.io
- Customization
- Users can specify package versions, compile-time options, target architectures, and dependencies.Read 8 Oct 2026 · spack.io
- Dependency control
- Users can customize both direct and transitive dependencies of an installation.Read 8 Oct 2026 · spack.io
- Language support
- Spack can build stacks containing Python or R packages and link them to C, C++, or Fortran libraries.Read 8 Oct 2026 · spack.io
- Lockfile support
- YesRead 20 Sep 2026 · spack.io
- Non-destructive installs
- Each unique package and dependency configuration is installed into its own prefix so new installs do not break existing ones.Read 8 Oct 2026 · spack.io
- Package authors
- Spack package recipes are Python scripts, and its spack create command generates starter boilerplate.Read 8 Oct 2026 · spack.io
- Sources and binaries
- Spack primarily builds customized software from source and also supports binary installations through build caches.Read 8 Oct 2026 · spack.io
- Support channels
- The project links users to documentation, Slack, and GitHub Discussions.Read 8 Oct 2026 · spack.io
- Unprivileged installs
- Spack can install software in a user-selected directory without administrator privileges.Read 8 Oct 2026 · spack.io
Plans and prices
Strong points and limits
Strong points
- Available for Linux, macOS, and Windows
- Controls versions, compilers, architectures, and dependencies
- Distinct configurations can coexist in separate prefixes
- Installs to user-selected directories without administrator privileges
- Supports source builds and binary build caches
Limits
- Primarily builds customized software from source
- No free trial
Who it suits
Spack suits scientific computing teams that need to manage software configurations across machines, clusters, or architectures. It also fits users who need to install packages without administrator privileges.
Verdict
Spack offers detailed control over scientific software builds and keeps distinct configurations separate. It is free, cross-platform, and designed for shared installations across clusters and architectures.
Where Specifiction places it
- Package Managers#17 of 938.6
- Python Package Managers#8 of 278.1