# Install ccm with Homebrew, MacPorts

Create and destroy an Apache Cassandra cluster on localhost. Version 3.1.5 via Homebrew; verified 2026-07-13. Also installable with macports: sudo port install ccm.

## Install

```sh
sudo av install brew:ccm
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install ccm
```

  Evidence: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install ccm
```

  Evidence: MacPorts ports tree: databases/ccm/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1

## Package facts

- **Package key:** brew:ccm
- **Package manager:** Homebrew
- **Version:** 3.1.5
- **Source summary:** Create and destroy an Apache Cassandra cluster on localhost
- **Homepage:** <https://github.com/apache/cassandra-ccm>
- **Repository:** <https://github.com/apache/cassandra-ccm>
- **Last updated:** 2026-07-13T12:19:51Z
- **Generated:** 2026-08-03T19:37:03+00:00

## Executables

- ccm (alias)

## Install behavior

- Bottle: not available

## Freshness

- Page generated: 2026-08-03
- Package-manager version: 3.1.5
## Project history and usage

CCM, the Cassandra Cluster Manager, is a Python command-line tool for creating, launching, testing, and destroying local Apache Cassandra clusters. It matters in package-manager catalogs because it packages a repeatable local Cassandra lab into a single executable rather than leaving users to hand-wire several Cassandra nodes.

### Project history

The official Apache repository describes CCM as a script and library for creating, managing, and destroying a small Cassandra cluster on a local box for testing. The GitHub repository was created in 2011 and is now hosted under the Apache organization as apache/cassandra-ccm.

The install documentation notes that CCM predates the modern Python packaging defaults and then explains current Python 3, virtualenv, and editable-install workflows, which reflects the project's long life across Cassandra and Python eras.

### Adoption history

The official install document points users to PyPI and Homebrew packages, so CCM has been distributed both as a Python package and as a Unix package-manager formula. The input package facts also list Homebrew and MacPorts package names.

### How it is used

Typical usage creates a named Cassandra cluster for a given Cassandra release or source tree, populates it with local nodes, starts the nodes, inspects rings or logs, and later removes the cluster. By default, node data and configuration live under ~/.ccm/<cluster_name>/, while downloaded Cassandra releases are cached under ~/.ccm/repository/.

### Why package nerds care

CCM is a good example of a package-manager utility whose value is not a single algorithm but a reproducible local topology. It turns Cassandra cluster setup into a developer-facing CLI workflow and is especially useful for tests, demos, compatibility checks, and package maintainers who need disposable Cassandra environments.

### Timeline

- 2011: Official GitHub repository created.
- 2010s: README documents local multi-node Cassandra cluster creation and versioned Cassandra downloads.
- 2020s: Install guide documents Python 3, virtualenv, Apple Silicon, and modern macOS caveats.

### Related projects

- Apache Cassandra is the database system CCM manages locally.
- DataStax Enterprise and Hyper Converged Database are mentioned by the README as third-party cluster types supported through CCM extensions.

### Sources

- <https://api.github.com/repos/apache/cassandra-ccm>
- <https://github.com/apache/cassandra-ccm>
- <https://github.com/apache/cassandra-ccm#readme>
- <https://formulae.brew.sh/api/formula/ccm.json>


## Security Notes

infrastructure mutation or orchestration signal.

- **Geiger risk:** orange / medium
- infrastructure mutation or orchestration signal


## Configuration and credential file locations

These source-backed paths show where this package keeps local settings or durable credentials. Automic Vault can use them as review targets for secret scanning, migration, and command approval.


## Configuration files

- Unix: ~/.ccm/<cluster_name>/
## Other Package-Manager Records

- MacPorts - ccm: normalized package name match | MacPorts ports tree: databases/ccm/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1


## Combined YAML source

View the package source record on GitHub. [combined/ccm.yml](https://github.com/mxcl/pkgdb/blob/main/combined/ccm.yml)


## Sources

- pkg.so package database
- Geiger risk classifier
- curated configuration and credential file locations
- curated package history
- pkgdb category and tag curation
- external package-manager database matches
- cross-ecosystem install command graph
