sccache
Sccache is a ccache-like tool. It is used as a compiler wrapper and avoids compilation when possible. Sccache has the capability to utilize caching in remote storage environments, including various cloud storage options, or alternatively, in local storage.
What it is and what it does
sccache is a compiler caching tool that intercepts compilation commands and stores results to avoid redundant recompilation. It works as a compiler wrapper—you prefix your normal compiler invocations with sccache, and it transparently caches object files and other build artifacts. It supports a wide range of compilers including gcc, clang, MSVC, rustc, NVIDIA CUDA (nvcc), AMD ROCm HIP, and others.
The package can store cached results on local disk or in cloud storage backends like S3, Redis, Memcached, Google Cloud Storage, Azure, and others. It includes a client-server architecture where the server maintains in-memory state for efficiency, and it can optionally provide distributed compilation similar to icecream, automatically packaging toolchains for remote build servers. The tool is particularly useful in CI/CD pipelines and large projects where compilation time is a bottleneck.
Use it for:
- Accelerate CI/CD pipelines by caching C/C++ and Rust compilation results across builds and team members.
- Speed up local development by avoiding recompilation of unchanged source files across multiple builds.
- Distribute compilation workload across multiple machines with automatic toolchain packaging for remote builders.
- Cache CUDA and HIP compiler output to reduce GPU build times in heterogeneous computing projects.
- Integrate with CMake builds using CMAKE_C_COMPILER_LAUNCHER and CMAKE_CXX_COMPILER_LAUNCHER for transparent caching.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
sccache is a compiler caching wrapper that stores compilation results locally or in cloud storage to avoid recompilation, supporting C/C++, Rust, CUDA, and other compilers with optional distributed compilation.
Yes, if you have compilation-heavy workflows (C/C++, Rust, CUDA) and want to reduce build times. The package is actively maintained, has no runtime dependencies, and offers both local and cloud storage options. Medium install friction is acceptable given the potential build-time savings. No known security vulnerabilities.
Install
sccache on PyPI
pip
pip install sccacheuv
uv add sccachepoetry
poetry add sccacheInstalling sccache
Before you install
Medium install friction due to platform-specific binary wheels (Windows, macOS, Linux architectures). Package is actively maintained with recent releases and no runtime dependencies, making it straightforward to deploy once the correct binary is selected.
License in practice
Apache-2.0 is permissive; you can use sccache in commercial and proprietary projects without licensing restrictions, though you must include a copy of the license and note any modifications.
Quickstart
# Install via pip
pip install sccache
# Use as compiler wrapper
sccache gcc -o foo.o -c foo.c
# Or set as Rust compiler wrapper
export RUSTC_WRAPPER=/path/to/sccache
cargo build
Requires a supported compiler (gcc, clang, MSVC, rustc, NVCC, NVC++, hipcc, or diab) already installed on the system; sccache is a wrapper, not a compiler itself.
Verify before relying
- Whether the PyPI package includes all documented storage backends (S3, Redis, Memcached, GCS, Azure, etc.) or if some require separate compilation.
- Performance overhead of the client-server model and typical cache hit rates in real build environments.
- Compatibility with specific CI/CD systems beyond GitHub Actions (Jenkins, GitLab CI, etc.).
Package facts
| License | Apache-2.0 (permissive) |
| Python support | not specified |
| Install friction | medium — platform-specific wheel |
| Runtime dependencies | none |
| Maintenance | actively maintained — 53 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 975,273/month — #4,597 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: sccache-0.16.0-py3-none-macosx_10_12_x86_64.whl; sccache-0.16.0-py3-none-macosx_11_0_arm64.whl; sccache-0.16.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl; sccache-0.16.0-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl; sccache-0.16.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl; sccache-0.16.0-py3-none-manylinux_2_31_riscv64.whl; sccache-0.16.0-py3-none-win32.whl; sccache-0.16.0-py3-none-win_amd64.whl; sccache-0.16.0-py3-none-win_arm64.whl
Keywords: ccache
Tags
More Build Tools packages
Provides reusable utilities for Python…
permissive · top 100 on PyPI
tqdmWraps any iterable to display a real-time…
copyleft · top 100 on PyPI
pippip is the standard installer for Python…
permissive · top 100 on PyPI
hatchlingHatchling is a standards-compliant Python build…
permissive · top 100 on PyPI
grpcio-toolsGenerates Python gRPC service stubs and message…
permissive · top 1,000 on PyPI
pre-commitpre-commit is a framework for installing and…
permissive · top 1,000 on PyPI
soldrSoldr is a Python wrapper that downloads Rust…
permissive · top 15,000 on PyPI
nvidia-cuda-nvcc-cu12Provides the NVIDIA CUDA nvcc compiler for…
unclear · top 5,000 on PyPI
scan-buildRuns the Clang static analyzer on C/C++…
permissive · top 15,000 on PyPI
nvidia-cuda-nvccProvides the NVIDIA CUDA nvcc compiler for…
unclear · top 5,000 on PyPI
compiledbGenerates Clang JSON compilation databases from…
copyleft · top 15,000 on PyPI
puccinialinInstalls Rust and Cargo into a temporary cache…
permissive · top 5,000 on PyPI
cacheboxCachebox is a high-performance in-memory…
permissive · top 5,000 on PyPI
rust-justrust-just is a Python wrapper around the just…
permissive · top 5,000 on PyPI
oslo.cacheoslo.cache wraps dogpile.cache to provide a…
permissive · top 15,000 on PyPI
nvidia-nvvmProvides the NVVM compiler IR library for…
unclear · top 5,000 on PyPI