Spack
Spack is a package manager for installing scientific software on supercomputers, Linux, macOS, and Windows.
What Spack is
Spack is a package manager for installing scientific software on supercomputers, Linux, macOS, and Windows. It lets users choose package versions, compilers, target architectures, compile-time options, and direct or transitive dependencies. Software stacks can combine Python or R packages with C, C++, or Fortran libraries. Each distinct package and dependency configuration gets its own prefix, allowing different builds to coexist without new installations disrupting existing ones. Users can install into a directory they select without administrator privileges. Spack primarily builds customized software from source, and it also supports binary installations through build caches. Lockfiles, environment management, and private registries are supported. Package recipes are Python scripts, and the spack create command makes starter boilerplate. Spack was designed for supercomputing centers that share installations across clusters and varied architectures. The project lists integrations including GitLab, CDash, Grafana, Prometheus, and Metabase. It is free and distributed under either the MIT license or Apache License 2.0, at the user's option.
Good
- Supports Linux, macOS, Windows, and supercomputers.
- Controls versions, compilers, architectures, and dependencies.
- Distinct build configurations can coexist.
- Installs can use user-selected directories without administrator privileges.
- Supports source builds and binary caches.
Watch out
- Primarily builds customized software from source.
- Designed around configurable scientific software installations.
Who it suits
Spack suits scientific computing teams and users who need configurable software builds across platforms or shared cluster environments. It is also relevant to users who need multiple package configurations to coexist.
Verdict
Spack is suited to users who need control over scientific software builds and dependencies, especially across shared or varied architectures. Its source-first approach and configuration options are central to deciding whether it fits a given installation workflow.
Plans and prices
From Spack's own pricing page, checked 8 Oct 2026.
| Plan | Price | What it gives you |
|---|---|---|
| Spack | Free | Open source package manager |
The facts
Each one read from Spack's own pages, with the date it was checked.
What it does
- Build configurations
- It supports building packages with multiple versions, configurations, and compilers that can coexist on the same machine.checked 8 Oct 2026
- Build methods
- Spack primarily builds software from source and also supports binary installations through build caches.checked 8 Oct 2026
- Build signing
- Spack documentation includes build-cache signing and package-signing guidance, including a section on risks and threat models.checked 8 Oct 2026
- Coexisting installs
- Each unique package and dependency configuration gets its own prefix, allowing installations to coexist without new installs breaking existing ones.checked 8 Oct 2026
- Community support
- The project directs users to Slack, Matrix, GitHub Discussions, and an announcements mailing list.checked 8 Oct 2026
- Configurable builds
- Users can specify package versions, compile-time options, target architectures, and compiler choices.checked 8 Oct 2026
- Customization
- Users can specify package versions, compile-time options, target architectures, and dependencies.checked 8 Oct 2026
- Dependency control
- Users can customize both direct and transitive dependencies of an installation.checked 8 Oct 2026
- Integrations
- Spack's services page lists GitLab, CDash, Grafana, Prometheus, and Metabase.checked 8 Oct 2026
- Intended users
- Spack was designed for large supercomputing centers where users and application teams share software installations across clusters and varied architectures.checked 8 Oct 2026
- Language support
- Spack can build stacks containing Python or R packages and link them to C, C++, or Fortran libraries.checked 8 Oct 2026
- License
- Spack is distributed under the MIT license or Apache License 2.0, at the user's option.checked 8 Oct 2026
- Lockfile support
- Yeschecked 20 Sep 2026
- Non-destructive installs
- Each unique package and dependency configuration is installed into its own prefix so new installs do not break existing ones.checked 8 Oct 2026
- Package authors
- Spack package recipes are Python scripts, and its spack create command generates starter boilerplate.checked 8 Oct 2026
- Purpose
- Spack is a package manager that makes installing scientific software easy on supercomputers, Linux, macOS, and Windows.checked 8 Oct 2026
- Security
- The project repository links to a security policy.checked 8 Oct 2026
- Sources and binaries
- Spack primarily builds customized software from source and also supports binary installations through build caches.checked 8 Oct 2026
- Support channels
- The project links users to documentation, Slack, and GitHub Discussions.checked 8 Oct 2026
- Unprivileged installs
- Spack can install software in a user-selected directory without administrator privileges.checked 8 Oct 2026
Money
- Free plan
- Yeschecked 20 Sep 2026
Where it runs
- Platforms
- Spack supports Linux, macOS, Windows, and supercomputers.checked 8 Oct 2026


