{"adoption": {"forks": 287, "observed_at": "2026-08-28T04:03:44.361762+00:00", "stars": 1140}, "canonical_url": "https://ross.abutalabs.com/products/candevstudio", "card": {"archived": false, "artifact_type": "application", "description": "Development tool for CAN bus simulation", "domain": ["embedded-systems", "developer-tools", "simulation"], "enriched": true, "function": ["simulation", "gui", "developer-tools"], "health_score": 40, "homepage": null, "language": "C++", "license": "MPL-2.0", "license_family": "copyleft", "maturity": "active", "member_repos": ["GENIVI/CANdevStudio"], "name": "GENIVI/CANdevStudio", "platform": ["windows", "cpp", "cross-platform"], "pushed_at": "2025-07-21T11:36:50+00:00", "repo": "GENIVI/CANdevStudio", "stars": 1140, "tags": ["can-bus", "socketcan", "automotive", "qt", "can-simulation", "ecu-development", "linux", "macos"], "topics": ["automotive", "can", "can-bus", "genivi"], "urls": [], "use_cases": ["simulate CAN bus signals like ignition or door status", "test CAN networks without physical hardware using vcan", "develop and debug automotive CAN bus applications", "send and receive CAN frames with USB CAN adapters", "replace expensive commercial CAN simulation software", "prototype custom CAN bus components via its plugin system"], "what_it_is": "CANdevStudio is a cost-effective, open-source development tool for CAN bus simulation, designed to replace expensive commercial CAN frameworks. It works with a variety of CAN hardware interfaces (Microchip, Vector, PEAK-Systems) or without hardware via vcan and cannelloni, and is built modularly on the Qt framework.", "when_to_avoid": ["you need certified, production-grade automotive diagnostics tooling with vendor support", "you require protocols beyond CAN (e.g., automotive Ethernet or FlexRay)", "you need a headless CLI-only CAN tool rather than a GUI application"], "when_to_choose": ["you need a free, cross-platform CAN simulation tool for automotive development", "you want to simulate CAN signals without expensive commercial tooling", "you work with SocketCAN or common USB CAN interfaces (PEAK, Microchip, Lawicel)", "you need a modular, extensible CAN development environment"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/candevstudio", "repo": "GENIVI/CANdevStudio", "role": "main", "score": 37}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:03:44.361762+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T06:35:25.962806+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "5067e5ee38806b08ea7d6877bc62340195dde6d9ce12c5749944fb37875ce465", "fetched_at": "2026-08-28T04:03:44.361762+00:00", "kind": "readme", "missing": false, "url": "https://github.com/GENIVI/CANdevStudio"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:03:44.361762+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T06:35:25.962806+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "5067e5ee38806b08ea7d6877bc62340195dde6d9ce12c5749944fb37875ce465", "fetched_at": "2026-08-28T04:03:44.361762+00:00", "kind": "readme", "missing": false, "url": "https://github.com/GENIVI/CANdevStudio"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T06:35:25.962806+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "5067e5ee38806b08ea7d6877bc62340195dde6d9ce12c5749944fb37875ce465", "fetched_at": "2026-08-28T04:03:44.361762+00:00", "kind": "readme", "missing": false, "url": "https://github.com/GENIVI/CANdevStudio"}], "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:03:44.361762+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:03:44.361762+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:03:44.361762+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T06:35:25.962806+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "5067e5ee38806b08ea7d6877bc62340195dde6d9ce12c5749944fb37875ce465", "fetched_at": "2026-08-28T04:03:44.361762+00:00", "kind": "readme", "missing": false, "url": "https://github.com/GENIVI/CANdevStudio"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:03:44.361762+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:03:44.361762+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T06:35:25.962806+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "5067e5ee38806b08ea7d6877bc62340195dde6d9ce12c5749944fb37875ce465", "fetched_at": "2026-08-28T04:03:44.361762+00:00", "kind": "readme", "missing": false, "url": "https://github.com/GENIVI/CANdevStudio"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:03:44.361762+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:03:44.361762+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:03:44.361762+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T06:35:25.962806+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "5067e5ee38806b08ea7d6877bc62340195dde6d9ce12c5749944fb37875ce465", "fetched_at": "2026-08-28T04:03:44.361762+00:00", "kind": "readme", "missing": false, "url": "https://github.com/GENIVI/CANdevStudio"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:03:44.361762+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:03:44.361762+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T06:35:25.962806+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "5067e5ee38806b08ea7d6877bc62340195dde6d9ce12c5749944fb37875ce465", "fetched_at": "2026-08-28T04:03:44.361762+00:00", "kind": "readme", "missing": false, "url": "https://github.com/GENIVI/CANdevStudio"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T06:35:25.962806+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "5067e5ee38806b08ea7d6877bc62340195dde6d9ce12c5749944fb37875ce465", "fetched_at": "2026-08-28T04:03:44.361762+00:00", "kind": "readme", "missing": false, "url": "https://github.com/GENIVI/CANdevStudio"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T06:35:25.962806+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "5067e5ee38806b08ea7d6877bc62340195dde6d9ce12c5749944fb37875ce465", "fetched_at": "2026-08-28T04:03:44.361762+00:00", "kind": "readme", "missing": false, "url": "https://github.com/GENIVI/CANdevStudio"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T06:35:25.962806+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "5067e5ee38806b08ea7d6877bc62340195dde6d9ce12c5749944fb37875ce465", "fetched_at": "2026-08-28T04:03:44.361762+00:00", "kind": "readme", "missing": false, "url": "https://github.com/GENIVI/CANdevStudio"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 32, "longevity": 100, "rhythm": 8}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 3390, "days_push": 408, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 37, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}