{"adoption": {"forks": 262, "observed_at": "2026-08-28T04:06:16.861882+00:00", "stars": 2125}, "canonical_url": "https://ross.abutalabs.com/products/penlight", "card": {"archived": false, "artifact_type": "library", "description": "A set of pure Lua libraries focusing on input data handling (such as reading configuration files), functional programming (such as map, reduce, placeholder expressions,etc), and OS path management.  Much of the functionality is inspired by the Python standard libraries.", "domain": ["developer-tools", "programming-languages", "files"], "enriched": true, "function": ["parser", "configuration-management", "file-system", "templating", "cli", "data-science"], "health_score": 79, "homepage": "https://lunarmodules.github.io/Penlight/", "language": "Lua", "license": "MIT", "license_family": "permissive", "maturity": "stable", "member_repos": ["lunarmodules/Penlight"], "name": "lunarmodules/Penlight", "platform": ["lua", "cross-platform"], "pushed_at": "2026-08-15T09:13:03+00:00", "repo": "lunarmodules/Penlight", "stars": 2125, "tags": ["lua", "functional-programming", "standard-library-extension", "luarocks", "string-manipulation", "table-utilities", "path-handling", "automation"], "topics": ["lua", "luajit", "penlight", "lua-library", "luarocks", "lua-modules"], "urls": [], "use_cases": ["read configuration files in lua", "functional programming helpers like map and reduce in lua", "manipulate file paths and directories in lua", "parse command-line arguments for a lua script", "pretty-print lua tables", "extended string operations like split in lua", "list comprehensions and iterator pipelines in lua"], "what_it_is": "Penlight is a set of pure Lua libraries providing generally useful modules for input data handling, functional programming, and OS path management, inspired by the Python standard library. It includes extended string and table operations, iterators, OOP class support, config file reading, argument parsing, and templating.", "when_to_avoid": ["you need high-performance numeric computing or vectorized operations", "you are working outside the Lua ecosystem", "you need async or concurrency primitives, which Penlight does not provide"], "when_to_choose": ["you want a batteries-included standard library extension for Lua", "you need Python-like list, string, and table utilities in Lua", "you want pure-Lua dependencies with no C bindings", "you need config file parsing or usage-text-driven argument parsing in Lua"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/penlight", "repo": "lunarmodules/Penlight", "role": "main", "score": 76}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:06:16.861882+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T02:52:40.837639+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a9283680f91baa4af94bb78c9b3363c054104594a2105d28a3519a80c2d9d9f3", "fetched_at": "2026-08-28T04:06:16.861882+00:00", "kind": "readme", "missing": false, "url": "https://github.com/lunarmodules/Penlight"}, {"content_hash": "9be3ded3c9f1f57214f9d845fba89c5c444401847e38f710fd5ac670b2cfb486", "fetched_at": "2026-08-29T10:32:34.423692+00:00", "kind": "homepage", "missing": false, "url": "https://lunarmodules.github.io/Penlight/"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:06:16.861882+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T02:52:40.837639+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a9283680f91baa4af94bb78c9b3363c054104594a2105d28a3519a80c2d9d9f3", "fetched_at": "2026-08-28T04:06:16.861882+00:00", "kind": "readme", "missing": false, "url": "https://github.com/lunarmodules/Penlight"}, {"content_hash": "9be3ded3c9f1f57214f9d845fba89c5c444401847e38f710fd5ac670b2cfb486", "fetched_at": "2026-08-29T10:32:34.423692+00:00", "kind": "homepage", "missing": false, "url": "https://lunarmodules.github.io/Penlight/"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T02:52:40.837639+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a9283680f91baa4af94bb78c9b3363c054104594a2105d28a3519a80c2d9d9f3", "fetched_at": "2026-08-28T04:06:16.861882+00:00", "kind": "readme", "missing": false, "url": "https://github.com/lunarmodules/Penlight"}, {"content_hash": "9be3ded3c9f1f57214f9d845fba89c5c444401847e38f710fd5ac670b2cfb486", "fetched_at": "2026-08-29T10:32:34.423692+00:00", "kind": "homepage", "missing": false, "url": "https://lunarmodules.github.io/Penlight/"}], "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:06:16.861882+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:06:16.861882+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:06:16.861882+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T02:52:40.837639+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a9283680f91baa4af94bb78c9b3363c054104594a2105d28a3519a80c2d9d9f3", "fetched_at": "2026-08-28T04:06:16.861882+00:00", "kind": "readme", "missing": false, "url": "https://github.com/lunarmodules/Penlight"}, {"content_hash": "9be3ded3c9f1f57214f9d845fba89c5c444401847e38f710fd5ac670b2cfb486", "fetched_at": "2026-08-29T10:32:34.423692+00:00", "kind": "homepage", "missing": false, "url": "https://lunarmodules.github.io/Penlight/"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:06:16.861882+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:06:16.861882+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T02:52:40.837639+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a9283680f91baa4af94bb78c9b3363c054104594a2105d28a3519a80c2d9d9f3", "fetched_at": "2026-08-28T04:06:16.861882+00:00", "kind": "readme", "missing": false, "url": "https://github.com/lunarmodules/Penlight"}, {"content_hash": "9be3ded3c9f1f57214f9d845fba89c5c444401847e38f710fd5ac670b2cfb486", "fetched_at": "2026-08-29T10:32:34.423692+00:00", "kind": "homepage", "missing": false, "url": "https://lunarmodules.github.io/Penlight/"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:06:16.861882+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:06:16.861882+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:06:16.861882+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T02:52:40.837639+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a9283680f91baa4af94bb78c9b3363c054104594a2105d28a3519a80c2d9d9f3", "fetched_at": "2026-08-28T04:06:16.861882+00:00", "kind": "readme", "missing": false, "url": "https://github.com/lunarmodules/Penlight"}, {"content_hash": "9be3ded3c9f1f57214f9d845fba89c5c444401847e38f710fd5ac670b2cfb486", "fetched_at": "2026-08-29T10:32:34.423692+00:00", "kind": "homepage", "missing": false, "url": "https://lunarmodules.github.io/Penlight/"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:06:16.861882+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:06:16.861882+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T02:52:40.837639+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a9283680f91baa4af94bb78c9b3363c054104594a2105d28a3519a80c2d9d9f3", "fetched_at": "2026-08-28T04:06:16.861882+00:00", "kind": "readme", "missing": false, "url": "https://github.com/lunarmodules/Penlight"}, {"content_hash": "9be3ded3c9f1f57214f9d845fba89c5c444401847e38f710fd5ac670b2cfb486", "fetched_at": "2026-08-29T10:32:34.423692+00:00", "kind": "homepage", "missing": false, "url": "https://lunarmodules.github.io/Penlight/"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T02:52:40.837639+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a9283680f91baa4af94bb78c9b3363c054104594a2105d28a3519a80c2d9d9f3", "fetched_at": "2026-08-28T04:06:16.861882+00:00", "kind": "readme", "missing": false, "url": "https://github.com/lunarmodules/Penlight"}, {"content_hash": "9be3ded3c9f1f57214f9d845fba89c5c444401847e38f710fd5ac670b2cfb486", "fetched_at": "2026-08-29T10:32:34.423692+00:00", "kind": "homepage", "missing": false, "url": "https://lunarmodules.github.io/Penlight/"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T02:52:40.837639+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a9283680f91baa4af94bb78c9b3363c054104594a2105d28a3519a80c2d9d9f3", "fetched_at": "2026-08-28T04:06:16.861882+00:00", "kind": "readme", "missing": false, "url": "https://github.com/lunarmodules/Penlight"}, {"content_hash": "9be3ded3c9f1f57214f9d845fba89c5c444401847e38f710fd5ac670b2cfb486", "fetched_at": "2026-08-29T10:32:34.423692+00:00", "kind": "homepage", "missing": false, "url": "https://lunarmodules.github.io/Penlight/"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T02:52:40.837639+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a9283680f91baa4af94bb78c9b3363c054104594a2105d28a3519a80c2d9d9f3", "fetched_at": "2026-08-28T04:06:16.861882+00:00", "kind": "readme", "missing": false, "url": "https://github.com/lunarmodules/Penlight"}, {"content_hash": "9be3ded3c9f1f57214f9d845fba89c5c444401847e38f710fd5ac670b2cfb486", "fetched_at": "2026-08-29T10:32:34.423692+00:00", "kind": "homepage", "missing": false, "url": "https://lunarmodules.github.io/Penlight/"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 97, "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": 6021, "days_push": 18, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 76, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}