{"adoption": {"forks": 310, "observed_at": "2026-08-28T04:04:04.724961+00:00", "stars": 1234}, "canonical_url": "https://ross.abutalabs.com/products/cassandra-ccm", "card": {"archived": false, "artifact_type": "cli-tool", "description": "Apache Cassandra® Cluster Manager (CCM) – easily create and destroy clusters on localhost", "domain": ["databases", "developer-tools", "testing"], "enriched": true, "function": ["developer-tools", "testing", "cli", "database"], "health_score": 67, "homepage": "https://cassandra.apache.org/", "language": "Python", "license": "Apache-2.0", "license_family": "permissive", "maturity": "active", "member_repos": ["apache/cassandra-ccm"], "name": "apache/cassandra-ccm", "platform": ["windows", "python", "cli"], "pushed_at": "2026-04-21T10:32:54+00:00", "repo": "apache/cassandra-ccm", "stars": 1234, "tags": ["cassandra", "cluster-manager", "local-testing", "nosql", "linux", "macos"], "topics": [], "urls": [], "use_cases": ["spin up a local 3-node cassandra cluster for testing", "create and destroy cassandra clusters on localhost", "test cassandra replication and node bootstrapping locally", "simulate multi-node cassandra cluster behavior on one machine", "manage cassandra nodes for integration testing", "bootstrap additional cassandra nodes locally"], "what_it_is": "CCM (Cassandra Cluster Manager) is a Python script and library for creating, launching, managing, and destroying small Apache Cassandra clusters on a local machine. It is primarily intended for testing Cassandra clusters during development.", "when_to_avoid": ["you need production or cloud-hosted Cassandra clusters", "you want containerized cluster orchestration (use Docker/Kubernetes instead)", "you need large-scale clusters beyond a local box"], "when_to_choose": ["you need to test Cassandra cluster behavior locally without real infrastructure", "you are developing or debugging Cassandra itself or drivers against multi-node setups", "you want a lightweight scriptable way to create/destroy test clusters"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/cassandra-ccm", "repo": "apache/cassandra-ccm", "role": "main", "score": 67}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:04:04.724961+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T08:22:09.444818+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2a9255acc20b953d19efdeccdea1a6f47c6f477d90dca7c5e45804fe5a8dd776", "fetched_at": "2026-08-28T04:04:04.724961+00:00", "kind": "readme", "missing": false, "url": "https://github.com/apache/cassandra-ccm"}, {"content_hash": "aa77c21c3a9bb18742702c89baef94967f9dc9a82026ccee9170cc292fc7c76e", "fetched_at": "2026-08-29T12:21:53.996647+00:00", "kind": "homepage", "missing": false, "url": "https://cassandra.apache.org/"}, {"content_hash": "d5e6513c15fecc170baedc80590383b2ffc27db8990a6d36cf7656b7d59b1642", "fetched_at": "2026-08-29T12:21:54.006106+00:00", "kind": "site_page", "missing": false, "url": "https://cassandra.apache.org/_/quickstart.html"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:04:04.724961+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T08:22:09.444818+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2a9255acc20b953d19efdeccdea1a6f47c6f477d90dca7c5e45804fe5a8dd776", "fetched_at": "2026-08-28T04:04:04.724961+00:00", "kind": "readme", "missing": false, "url": "https://github.com/apache/cassandra-ccm"}, {"content_hash": "aa77c21c3a9bb18742702c89baef94967f9dc9a82026ccee9170cc292fc7c76e", "fetched_at": "2026-08-29T12:21:53.996647+00:00", "kind": "homepage", "missing": false, "url": "https://cassandra.apache.org/"}, {"content_hash": "d5e6513c15fecc170baedc80590383b2ffc27db8990a6d36cf7656b7d59b1642", "fetched_at": "2026-08-29T12:21:54.006106+00:00", "kind": "site_page", "missing": false, "url": "https://cassandra.apache.org/_/quickstart.html"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T08:22:09.444818+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2a9255acc20b953d19efdeccdea1a6f47c6f477d90dca7c5e45804fe5a8dd776", "fetched_at": "2026-08-28T04:04:04.724961+00:00", "kind": "readme", "missing": false, "url": "https://github.com/apache/cassandra-ccm"}, {"content_hash": "aa77c21c3a9bb18742702c89baef94967f9dc9a82026ccee9170cc292fc7c76e", "fetched_at": "2026-08-29T12:21:53.996647+00:00", "kind": "homepage", "missing": false, "url": "https://cassandra.apache.org/"}, {"content_hash": "d5e6513c15fecc170baedc80590383b2ffc27db8990a6d36cf7656b7d59b1642", "fetched_at": "2026-08-29T12:21:54.006106+00:00", "kind": "site_page", "missing": false, "url": "https://cassandra.apache.org/_/quickstart.html"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:04:04.724961+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:04:04.724961+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:04:04.724961+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T08:22:09.444818+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2a9255acc20b953d19efdeccdea1a6f47c6f477d90dca7c5e45804fe5a8dd776", "fetched_at": "2026-08-28T04:04:04.724961+00:00", "kind": "readme", "missing": false, "url": "https://github.com/apache/cassandra-ccm"}, {"content_hash": "aa77c21c3a9bb18742702c89baef94967f9dc9a82026ccee9170cc292fc7c76e", "fetched_at": "2026-08-29T12:21:53.996647+00:00", "kind": "homepage", "missing": false, "url": "https://cassandra.apache.org/"}, {"content_hash": "d5e6513c15fecc170baedc80590383b2ffc27db8990a6d36cf7656b7d59b1642", "fetched_at": "2026-08-29T12:21:54.006106+00:00", "kind": "site_page", "missing": false, "url": "https://cassandra.apache.org/_/quickstart.html"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:04:04.724961+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:04:04.724961+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T08:22:09.444818+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2a9255acc20b953d19efdeccdea1a6f47c6f477d90dca7c5e45804fe5a8dd776", "fetched_at": "2026-08-28T04:04:04.724961+00:00", "kind": "readme", "missing": false, "url": "https://github.com/apache/cassandra-ccm"}, {"content_hash": "aa77c21c3a9bb18742702c89baef94967f9dc9a82026ccee9170cc292fc7c76e", "fetched_at": "2026-08-29T12:21:53.996647+00:00", "kind": "homepage", "missing": false, "url": "https://cassandra.apache.org/"}, {"content_hash": "d5e6513c15fecc170baedc80590383b2ffc27db8990a6d36cf7656b7d59b1642", "fetched_at": "2026-08-29T12:21:54.006106+00:00", "kind": "site_page", "missing": false, "url": "https://cassandra.apache.org/_/quickstart.html"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:04:04.724961+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:04:04.724961+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:04:04.724961+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T08:22:09.444818+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2a9255acc20b953d19efdeccdea1a6f47c6f477d90dca7c5e45804fe5a8dd776", "fetched_at": "2026-08-28T04:04:04.724961+00:00", "kind": "readme", "missing": false, "url": "https://github.com/apache/cassandra-ccm"}, {"content_hash": "aa77c21c3a9bb18742702c89baef94967f9dc9a82026ccee9170cc292fc7c76e", "fetched_at": "2026-08-29T12:21:53.996647+00:00", "kind": "homepage", "missing": false, "url": "https://cassandra.apache.org/"}, {"content_hash": "d5e6513c15fecc170baedc80590383b2ffc27db8990a6d36cf7656b7d59b1642", "fetched_at": "2026-08-29T12:21:54.006106+00:00", "kind": "site_page", "missing": false, "url": "https://cassandra.apache.org/_/quickstart.html"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:04:04.724961+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:04:04.724961+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T08:22:09.444818+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2a9255acc20b953d19efdeccdea1a6f47c6f477d90dca7c5e45804fe5a8dd776", "fetched_at": "2026-08-28T04:04:04.724961+00:00", "kind": "readme", "missing": false, "url": "https://github.com/apache/cassandra-ccm"}, {"content_hash": "aa77c21c3a9bb18742702c89baef94967f9dc9a82026ccee9170cc292fc7c76e", "fetched_at": "2026-08-29T12:21:53.996647+00:00", "kind": "homepage", "missing": false, "url": "https://cassandra.apache.org/"}, {"content_hash": "d5e6513c15fecc170baedc80590383b2ffc27db8990a6d36cf7656b7d59b1642", "fetched_at": "2026-08-29T12:21:54.006106+00:00", "kind": "site_page", "missing": false, "url": "https://cassandra.apache.org/_/quickstart.html"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T08:22:09.444818+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2a9255acc20b953d19efdeccdea1a6f47c6f477d90dca7c5e45804fe5a8dd776", "fetched_at": "2026-08-28T04:04:04.724961+00:00", "kind": "readme", "missing": false, "url": "https://github.com/apache/cassandra-ccm"}, {"content_hash": "aa77c21c3a9bb18742702c89baef94967f9dc9a82026ccee9170cc292fc7c76e", "fetched_at": "2026-08-29T12:21:53.996647+00:00", "kind": "homepage", "missing": false, "url": "https://cassandra.apache.org/"}, {"content_hash": "d5e6513c15fecc170baedc80590383b2ffc27db8990a6d36cf7656b7d59b1642", "fetched_at": "2026-08-29T12:21:54.006106+00:00", "kind": "site_page", "missing": false, "url": "https://cassandra.apache.org/_/quickstart.html"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T08:22:09.444818+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2a9255acc20b953d19efdeccdea1a6f47c6f477d90dca7c5e45804fe5a8dd776", "fetched_at": "2026-08-28T04:04:04.724961+00:00", "kind": "readme", "missing": false, "url": "https://github.com/apache/cassandra-ccm"}, {"content_hash": "aa77c21c3a9bb18742702c89baef94967f9dc9a82026ccee9170cc292fc7c76e", "fetched_at": "2026-08-29T12:21:53.996647+00:00", "kind": "homepage", "missing": false, "url": "https://cassandra.apache.org/"}, {"content_hash": "d5e6513c15fecc170baedc80590383b2ffc27db8990a6d36cf7656b7d59b1642", "fetched_at": "2026-08-29T12:21:54.006106+00:00", "kind": "site_page", "missing": false, "url": "https://cassandra.apache.org/_/quickstart.html"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T08:22:09.444818+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2a9255acc20b953d19efdeccdea1a6f47c6f477d90dca7c5e45804fe5a8dd776", "fetched_at": "2026-08-28T04:04:04.724961+00:00", "kind": "readme", "missing": false, "url": "https://github.com/apache/cassandra-ccm"}, {"content_hash": "aa77c21c3a9bb18742702c89baef94967f9dc9a82026ccee9170cc292fc7c76e", "fetched_at": "2026-08-29T12:21:53.996647+00:00", "kind": "homepage", "missing": false, "url": "https://cassandra.apache.org/"}, {"content_hash": "d5e6513c15fecc170baedc80590383b2ffc27db8990a6d36cf7656b7d59b1642", "fetched_at": "2026-08-29T12:21:54.006106+00:00", "kind": "site_page", "missing": false, "url": "https://cassandra.apache.org/_/quickstart.html"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 78, "longevity": 100, "rhythm": 35}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": ["no_releases"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 5664, "days_push": 134, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 67, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}