{"adoption": {"forks": 253, "observed_at": "2026-08-28T04:10:24.105441+00:00", "stars": 8667}, "canonical_url": "https://ross.abutalabs.com/products/jc", "card": {"archived": false, "artifact_type": "cli-tool", "description": "CLI tool and python library that converts the output of popular command-line tools, file-types, and common strings to JSON, YAML, or Dictionaries. This allows piping of output to tools like jq and simplifying automation scripts.", "domain": ["developer-tools", "parsers"], "enriched": true, "function": ["parser", "serialization", "cli", "developer-tools"], "health_score": 99, "homepage": null, "language": "Python", "license": "MIT", "license_family": "permissive", "maturity": "active", "member_repos": ["kellyjonbrazil/jc"], "name": "kellyjonbrazil/jc", "platform": ["windows", "python", "cli"], "pushed_at": "2026-08-26T19:28:00+00:00", "repo": "kellyjonbrazil/jc", "stars": 8667, "tags": ["json-conversion", "yaml", "shell-scripting", "command-output-parsing", "jq", "python-library", "command-line", "automation", "linux", "macos"], "topics": ["parsers", "json", "linux", "command-line", "serialize", "convert", "scripting", "shell-scripting", "bash", "cli", "python", "command-line-tool", "command-line-interface", "bash-scripting", "python-library", "yaml"], "urls": [], "use_cases": ["convert command output to json in shell scripts", "pipe dig or ls output to jq", "parse linux command output in python", "make bash scripts easier to parse tool output", "convert config file types to yaml or json", "use command output parsing in ansible playbooks"], "what_it_is": "A CLI tool and Python library that converts the output of popular command-line tools, file types, and common strings into JSON, YAML, or Python dictionaries. It enables piping command output to tools like jq and simplifies parsing in automation scripts.", "when_to_avoid": ["you need to parse formats or commands not in jc's supported parser list", "you need extremely high-performance parsing of huge data streams", "you only work with already-structured output like JSON APIs"], "when_to_choose": ["you need structured JSON from CLI tool output for scripting or automation", "you want a Python library with parsers for many command outputs and file types", "you pipe command output into jq or similar JSON tools"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/jc", "repo": "kellyjonbrazil/jc", "role": "main", "score": 87}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:10:24.105441+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T17:25:37.929887+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b02ba1bcd0908ceabbd571fe5406bac49da37e3037e66f2649f040851986e32e", "fetched_at": "2026-08-28T04:10:24.105441+00:00", "kind": "readme", "missing": false, "url": "https://github.com/kellyjonbrazil/jc"}, {"content_hash": "15ca40284fefbf6eec7800a516ffc57e596414e6e7a32d17364ec1a2411c8d9b", "fetched_at": "2026-08-29T08:25:59.720041+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/jc/json"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:10:24.105441+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T17:25:37.929887+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b02ba1bcd0908ceabbd571fe5406bac49da37e3037e66f2649f040851986e32e", "fetched_at": "2026-08-28T04:10:24.105441+00:00", "kind": "readme", "missing": false, "url": "https://github.com/kellyjonbrazil/jc"}, {"content_hash": "15ca40284fefbf6eec7800a516ffc57e596414e6e7a32d17364ec1a2411c8d9b", "fetched_at": "2026-08-29T08:25:59.720041+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/jc/json"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T17:25:37.929887+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b02ba1bcd0908ceabbd571fe5406bac49da37e3037e66f2649f040851986e32e", "fetched_at": "2026-08-28T04:10:24.105441+00:00", "kind": "readme", "missing": false, "url": "https://github.com/kellyjonbrazil/jc"}, {"content_hash": "15ca40284fefbf6eec7800a516ffc57e596414e6e7a32d17364ec1a2411c8d9b", "fetched_at": "2026-08-29T08:25:59.720041+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/jc/json"}], "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:10:24.105441+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:10:24.105441+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:10:24.105441+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T17:25:37.929887+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b02ba1bcd0908ceabbd571fe5406bac49da37e3037e66f2649f040851986e32e", "fetched_at": "2026-08-28T04:10:24.105441+00:00", "kind": "readme", "missing": false, "url": "https://github.com/kellyjonbrazil/jc"}, {"content_hash": "15ca40284fefbf6eec7800a516ffc57e596414e6e7a32d17364ec1a2411c8d9b", "fetched_at": "2026-08-29T08:25:59.720041+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/jc/json"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:10:24.105441+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:10:24.105441+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T17:25:37.929887+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b02ba1bcd0908ceabbd571fe5406bac49da37e3037e66f2649f040851986e32e", "fetched_at": "2026-08-28T04:10:24.105441+00:00", "kind": "readme", "missing": false, "url": "https://github.com/kellyjonbrazil/jc"}, {"content_hash": "15ca40284fefbf6eec7800a516ffc57e596414e6e7a32d17364ec1a2411c8d9b", "fetched_at": "2026-08-29T08:25:59.720041+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/jc/json"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:10:24.105441+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:10:24.105441+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:10:24.105441+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T17:25:37.929887+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b02ba1bcd0908ceabbd571fe5406bac49da37e3037e66f2649f040851986e32e", "fetched_at": "2026-08-28T04:10:24.105441+00:00", "kind": "readme", "missing": false, "url": "https://github.com/kellyjonbrazil/jc"}, {"content_hash": "15ca40284fefbf6eec7800a516ffc57e596414e6e7a32d17364ec1a2411c8d9b", "fetched_at": "2026-08-29T08:25:59.720041+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/jc/json"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:10:24.105441+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:10:24.105441+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T17:25:37.929887+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b02ba1bcd0908ceabbd571fe5406bac49da37e3037e66f2649f040851986e32e", "fetched_at": "2026-08-28T04:10:24.105441+00:00", "kind": "readme", "missing": false, "url": "https://github.com/kellyjonbrazil/jc"}, {"content_hash": "15ca40284fefbf6eec7800a516ffc57e596414e6e7a32d17364ec1a2411c8d9b", "fetched_at": "2026-08-29T08:25:59.720041+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/jc/json"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T17:25:37.929887+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b02ba1bcd0908ceabbd571fe5406bac49da37e3037e66f2649f040851986e32e", "fetched_at": "2026-08-28T04:10:24.105441+00:00", "kind": "readme", "missing": false, "url": "https://github.com/kellyjonbrazil/jc"}, {"content_hash": "15ca40284fefbf6eec7800a516ffc57e596414e6e7a32d17364ec1a2411c8d9b", "fetched_at": "2026-08-29T08:25:59.720041+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/jc/json"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T17:25:37.929887+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b02ba1bcd0908ceabbd571fe5406bac49da37e3037e66f2649f040851986e32e", "fetched_at": "2026-08-28T04:10:24.105441+00:00", "kind": "readme", "missing": false, "url": "https://github.com/kellyjonbrazil/jc"}, {"content_hash": "15ca40284fefbf6eec7800a516ffc57e596414e6e7a32d17364ec1a2411c8d9b", "fetched_at": "2026-08-29T08:25:59.720041+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/jc/json"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T17:25:37.929887+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b02ba1bcd0908ceabbd571fe5406bac49da37e3037e66f2649f040851986e32e", "fetched_at": "2026-08-28T04:10:24.105441+00:00", "kind": "readme", "missing": false, "url": "https://github.com/kellyjonbrazil/jc"}, {"content_hash": "15ca40284fefbf6eec7800a516ffc57e596414e6e7a32d17364ec1a2411c8d9b", "fetched_at": "2026-08-29T08:25:59.720041+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/jc/json"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 99, "longevity": 100, "rhythm": 65}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 2514, "days_push": 7, "days_rel": 76, "gap_med": 165, "n_releases_24m": 4}, "score": 87, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}