{"adoption": {"forks": 46, "observed_at": "2026-08-28T04:04:58.774507+00:00", "stars": 1529}, "canonical_url": "https://ross.abutalabs.com/products/pyp", "card": {"archived": false, "artifact_type": "cli-tool", "description": "Easily run Python at the shell! Magical, but never mysterious.", "domain": ["developer-tools"], "enriched": true, "function": ["cli", "developer-tools", "parser", "interpreter"], "health_score": 66, "homepage": null, "language": "Python", "license": "MIT", "license_family": "permissive", "maturity": "active", "member_repos": ["hauntsaninja/pyp"], "name": "hauntsaninja/pyp", "platform": ["cli", "windows", "cross-platform", "python"], "pushed_at": "2026-01-04T22:43:42+00:00", "repo": "hauntsaninja/pyp", "stars": 1529, "tags": ["shell-scripting", "python-one-liners", "awk-replacement", "sed-replacement", "pipe-processing", "ast-transformation", "command-line", "automation", "linux", "macos"], "topics": ["python", "shell", "awk", "cli", "command-line"], "urls": [], "use_cases": ["process each line of shell input with python", "replace awk with python one-liners", "parse  from curl in the shell", "filter lines with python regex", "sum numbers from stdin with python", "add line numbers to file output", "run python snippets in shell pipelines"], "what_it_is": "pyp is a command-line tool that lets you run Python one-liners in the shell, replacing common utilities like awk, sed, cut, and jq. It statically analyzes your code to detect undefined variables and transforms the AST to automatically handle input lines, imports, and printing.", "when_to_avoid": ["you need maximum performance for large data processing jobs", "your team only knows shell scripting and not python", "you need a full scripting environment rather than one-liners"], "when_to_choose": ["you want python's expressiveness in shell pipelines instead of awk/sed", "you need quick one-off text or  transformations at the command line", "you want automatic imports and printing without boilerplate"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/pyp", "repo": "hauntsaninja/pyp", "role": "main", "score": 50}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:04:58.774507+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T04:31:28.115105+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0b3fffca8d155038a26da1ae435aa97f86b906e0df718328c188905b5c50566b", "fetched_at": "2026-08-28T04:04:58.774507+00:00", "kind": "readme", "missing": false, "url": "https://github.com/hauntsaninja/pyp"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:04:58.774507+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T04:31:28.115105+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0b3fffca8d155038a26da1ae435aa97f86b906e0df718328c188905b5c50566b", "fetched_at": "2026-08-28T04:04:58.774507+00:00", "kind": "readme", "missing": false, "url": "https://github.com/hauntsaninja/pyp"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T04:31:28.115105+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0b3fffca8d155038a26da1ae435aa97f86b906e0df718328c188905b5c50566b", "fetched_at": "2026-08-28T04:04:58.774507+00:00", "kind": "readme", "missing": false, "url": "https://github.com/hauntsaninja/pyp"}], "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:58.774507+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:04:58.774507+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:04:58.774507+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T04:31:28.115105+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0b3fffca8d155038a26da1ae435aa97f86b906e0df718328c188905b5c50566b", "fetched_at": "2026-08-28T04:04:58.774507+00:00", "kind": "readme", "missing": false, "url": "https://github.com/hauntsaninja/pyp"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:04:58.774507+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:04:58.774507+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T04:31:28.115105+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0b3fffca8d155038a26da1ae435aa97f86b906e0df718328c188905b5c50566b", "fetched_at": "2026-08-28T04:04:58.774507+00:00", "kind": "readme", "missing": false, "url": "https://github.com/hauntsaninja/pyp"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:04:58.774507+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:04:58.774507+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:04:58.774507+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T04:31:28.115105+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0b3fffca8d155038a26da1ae435aa97f86b906e0df718328c188905b5c50566b", "fetched_at": "2026-08-28T04:04:58.774507+00:00", "kind": "readme", "missing": false, "url": "https://github.com/hauntsaninja/pyp"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:04:58.774507+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:04:58.774507+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T04:31:28.115105+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0b3fffca8d155038a26da1ae435aa97f86b906e0df718328c188905b5c50566b", "fetched_at": "2026-08-28T04:04:58.774507+00:00", "kind": "readme", "missing": false, "url": "https://github.com/hauntsaninja/pyp"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T04:31:28.115105+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0b3fffca8d155038a26da1ae435aa97f86b906e0df718328c188905b5c50566b", "fetched_at": "2026-08-28T04:04:58.774507+00:00", "kind": "readme", "missing": false, "url": "https://github.com/hauntsaninja/pyp"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T04:31:28.115105+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0b3fffca8d155038a26da1ae435aa97f86b906e0df718328c188905b5c50566b", "fetched_at": "2026-08-28T04:04:58.774507+00:00", "kind": "readme", "missing": false, "url": "https://github.com/hauntsaninja/pyp"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T04:31:28.115105+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0b3fffca8d155038a26da1ae435aa97f86b906e0df718328c188905b5c50566b", "fetched_at": "2026-08-28T04:04:58.774507+00:00", "kind": "readme", "missing": false, "url": "https://github.com/hauntsaninja/pyp"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 60, "longevity": 100, "rhythm": 8}, "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": 2333, "days_push": 241, "days_rel": 615, "gap_med": null, "n_releases_24m": 1}, "score": 50, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}