conda vs Spack
conda
conda.ioSpack
spack.ioSide by side
| Figure | conda | Spack |
|---|---|---|
| Price from | — | Free |
| Free plan | — | Yes |
| Free trial | — | — |
| Open source | — | — |
| Windows | Yes | Yes |
| macOS | Yes | Yes |
| Linux | Yes | Yes |
| Self-hosted | — | Yes |
| Plans published | 0 | 1 |
| Spec score · Python Package Managers | 7.8 (#12) | 8.1 (#8) |
| Spec score · Package Managers | 7.8 (#43) | 8.6 (#17) |
| Community support | The conda project points users to its documentation, Zulip chat, social channels, Stack Overflow, and bug reports or feature requests for help. | The project directs users to Slack, Matrix, GitHub Discussions, and an announcements mailing list. |
| Free plan | Yes | Yes |
| Integrations | Conda can work with pip in an active conda environment, though the documentation notes unavoidable compatibility limits between pip and conda packages. | Spack's services page lists GitLab, CDash, Grafana, Prometheus, and Metabase. |
| Lockfile support | Yes | Yes |
| Platforms | The conda site lists Miniconda and Miniforge installers for Windows x86_64, macOS arm64 and x86_64, and Linux x86_64 and aarch64. | Spack supports Linux, macOS, Windows, and supercomputers. |
| Purpose | Conda provides package, dependency, and environment management for any language. | Spack is a package manager that makes installing scientific software easy on supercomputers, Linux, macOS, and Windows. |
Plans
In their own words
Spack
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.