{"adoption": {"forks": 161, "observed_at": "2026-08-28T04:04:55.057488+00:00", "stars": 1506}, "canonical_url": "https://ross.abutalabs.com/products/pprows", "card": {"archived": false, "artifact_type": "application", "description": "It Can Calculate how many lines of code you write on Mac ; 在Mac上计算你写了多少行代码", "domain": ["developer-tools", "operating-systems"], "enriched": true, "function": ["developer-tools", "file-system"], "health_score": 20, "homepage": null, "language": "Objective-C", "license": "GPL-3.0", "license_family": "copyleft", "maturity": "maintenance", "member_repos": ["jkpang/PPRows"], "name": "jkpang/PPRows", "platform": [], "pushed_at": "2021-10-20T16:06:21+00:00", "repo": "jkpang/PPRows", "stars": 1506, "tags": ["code-lines-counter", "objective-c", "macapp", "drag-and-drop", "macos", "desktop"], "topics": ["codelines", "mac-osx", "macapp"], "urls": [], "use_cases": ["count how many lines of code I wrote on Mac", "count lines of code in a project folder", "count code lines excluding the Pods folder", "count lines for specific file types like swift or java", "count non-empty lines of code"], "what_it_is": "PPRows is a macOS desktop application that counts the number of lines of code in files or folders you drag onto its window. It supports multiple file types, custom ignore folders, and optional skipping of empty lines.", "when_to_avoid": ["you need line counting on Linux or Windows", "you need CI-based or automated code metrics like cloc or scc", "you need detailed statistics beyond line counts"], "when_to_choose": ["you want a quick drag-and-drop line counter on macOS", "you need to exclude folders like Pods or vendor directories", "you want to filter by specific source file extensions"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/pprows", "repo": "jkpang/PPRows", "role": "main", "score": 23}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:04:55.057488+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T04:32:39.283472+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "39ebd41cacab1b328a36110bb0ffbec450c737741a7d5b17ec1017064c008a0e", "fetched_at": "2026-08-28T04:04:55.057488+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jkpang/PPRows"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:04:55.057488+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T04:32:39.283472+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "39ebd41cacab1b328a36110bb0ffbec450c737741a7d5b17ec1017064c008a0e", "fetched_at": "2026-08-28T04:04:55.057488+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jkpang/PPRows"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T04:32:39.283472+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "39ebd41cacab1b328a36110bb0ffbec450c737741a7d5b17ec1017064c008a0e", "fetched_at": "2026-08-28T04:04:55.057488+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jkpang/PPRows"}], "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:55.057488+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:04:55.057488+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:04:55.057488+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T04:32:39.283472+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "39ebd41cacab1b328a36110bb0ffbec450c737741a7d5b17ec1017064c008a0e", "fetched_at": "2026-08-28T04:04:55.057488+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jkpang/PPRows"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:04:55.057488+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:04:55.057488+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T04:32:39.283472+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "39ebd41cacab1b328a36110bb0ffbec450c737741a7d5b17ec1017064c008a0e", "fetched_at": "2026-08-28T04:04:55.057488+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jkpang/PPRows"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:04:55.057488+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:04:55.057488+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:04:55.057488+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T04:32:39.283472+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "39ebd41cacab1b328a36110bb0ffbec450c737741a7d5b17ec1017064c008a0e", "fetched_at": "2026-08-28T04:04:55.057488+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jkpang/PPRows"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:04:55.057488+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:04:55.057488+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T04:32:39.283472+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "39ebd41cacab1b328a36110bb0ffbec450c737741a7d5b17ec1017064c008a0e", "fetched_at": "2026-08-28T04:04:55.057488+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jkpang/PPRows"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T04:32:39.283472+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "39ebd41cacab1b328a36110bb0ffbec450c737741a7d5b17ec1017064c008a0e", "fetched_at": "2026-08-28T04:04:55.057488+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jkpang/PPRows"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T04:32:39.283472+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "39ebd41cacab1b328a36110bb0ffbec450c737741a7d5b17ec1017064c008a0e", "fetched_at": "2026-08-28T04:04:55.057488+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jkpang/PPRows"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T04:32:39.283472+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "39ebd41cacab1b328a36110bb0ffbec450c737741a7d5b17ec1017064c008a0e", "fetched_at": "2026-08-28T04:04:55.057488+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jkpang/PPRows"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "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": 3469, "days_push": 1778, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 23, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}