{"adoption": {"forks": 281, "observed_at": "2026-08-28T04:09:13.235391+00:00", "stars": 5223}, "canonical_url": "https://ross.abutalabs.com/products/pathpicker", "card": {"archived": false, "artifact_type": "cli-tool", "description": "PathPicker accepts a wide range of input -- output from git commands, grep results, searches -- pretty much anything. After parsing the input, PathPicker presents you with a nice UI to select which files you're interested in. After that you can open them in your favorite editor or execute arbitrary commands.", "domain": ["developer-tools", "version-control"], "enriched": true, "function": ["cli", "terminal-ui", "developer-tools", "file-system", "parser"], "health_score": 20, "homepage": "https://facebook.github.io/PathPicker/", "language": "Python", "license": "MIT", "license_family": "permissive", "maturity": "maintenance", "member_repos": ["facebook/PathPicker"], "name": "facebook/PathPicker", "platform": ["cli", "python", "cross-platform"], "pushed_at": "2024-09-05T13:30:40+00:00", "repo": "facebook/PathPicker", "stars": 5223, "tags": ["file-selector", "pipe-tool", "tui", "editor-integration", "shell-utility", "command-line", "macos", "linux"], "topics": [], "urls": [], "use_cases": ["select files from git status or git diff output to edit", "pick files from grep results and open them in an editor", "interactively choose files from find output to run a command on", "add selected files to version control from bash output", "batch open files mentioned in build or test output"], "what_it_is": "PathPicker (fpp) is a Python-based command line utility that parses piped input (git output, grep results, find listings) for file paths and presents an interactive terminal UI to select them. Selected files can then be opened in your $EDITOR or used in an arbitrary shell command.", "when_to_avoid": ["you need a GUI file picker or mouse-driven interface", "you are not comfortable with terminal-based workflows", "you need Windows-native support without a POSIX-like environment"], "when_to_choose": ["you frequently select files out of terminal output like git status, grep, or find", "you want a fast keyboard-driven file picker inside the shell", "you want to pipe any command's output into an interactive selector"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/pathpicker", "repo": "facebook/PathPicker", "role": "main", "score": 23}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:09:13.235391+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T18:00:08.220760+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "dfc7501bdc5a719ca6dff15d7591ed70122c584abd96a6807148d3309e5d575f", "fetched_at": "2026-08-28T04:09:13.235391+00:00", "kind": "readme", "missing": false, "url": "https://github.com/facebook/PathPicker"}, {"content_hash": "f4d7b437a6c7293f17bb907e3824010ce37f31aa4ec5dba0b4fbdba551736719", "fetched_at": "2026-08-29T08:55:01.674673+00:00", "kind": "homepage", "missing": false, "url": "https://facebook.github.io/PathPicker/"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:09:13.235391+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T18:00:08.220760+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "dfc7501bdc5a719ca6dff15d7591ed70122c584abd96a6807148d3309e5d575f", "fetched_at": "2026-08-28T04:09:13.235391+00:00", "kind": "readme", "missing": false, "url": "https://github.com/facebook/PathPicker"}, {"content_hash": "f4d7b437a6c7293f17bb907e3824010ce37f31aa4ec5dba0b4fbdba551736719", "fetched_at": "2026-08-29T08:55:01.674673+00:00", "kind": "homepage", "missing": false, "url": "https://facebook.github.io/PathPicker/"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T18:00:08.220760+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "dfc7501bdc5a719ca6dff15d7591ed70122c584abd96a6807148d3309e5d575f", "fetched_at": "2026-08-28T04:09:13.235391+00:00", "kind": "readme", "missing": false, "url": "https://github.com/facebook/PathPicker"}, {"content_hash": "f4d7b437a6c7293f17bb907e3824010ce37f31aa4ec5dba0b4fbdba551736719", "fetched_at": "2026-08-29T08:55:01.674673+00:00", "kind": "homepage", "missing": false, "url": "https://facebook.github.io/PathPicker/"}], "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:09:13.235391+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:09:13.235391+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:09:13.235391+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T18:00:08.220760+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "dfc7501bdc5a719ca6dff15d7591ed70122c584abd96a6807148d3309e5d575f", "fetched_at": "2026-08-28T04:09:13.235391+00:00", "kind": "readme", "missing": false, "url": "https://github.com/facebook/PathPicker"}, {"content_hash": "f4d7b437a6c7293f17bb907e3824010ce37f31aa4ec5dba0b4fbdba551736719", "fetched_at": "2026-08-29T08:55:01.674673+00:00", "kind": "homepage", "missing": false, "url": "https://facebook.github.io/PathPicker/"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:09:13.235391+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:09:13.235391+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T18:00:08.220760+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "dfc7501bdc5a719ca6dff15d7591ed70122c584abd96a6807148d3309e5d575f", "fetched_at": "2026-08-28T04:09:13.235391+00:00", "kind": "readme", "missing": false, "url": "https://github.com/facebook/PathPicker"}, {"content_hash": "f4d7b437a6c7293f17bb907e3824010ce37f31aa4ec5dba0b4fbdba551736719", "fetched_at": "2026-08-29T08:55:01.674673+00:00", "kind": "homepage", "missing": false, "url": "https://facebook.github.io/PathPicker/"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:09:13.235391+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:09:13.235391+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:09:13.235391+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T18:00:08.220760+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "dfc7501bdc5a719ca6dff15d7591ed70122c584abd96a6807148d3309e5d575f", "fetched_at": "2026-08-28T04:09:13.235391+00:00", "kind": "readme", "missing": false, "url": "https://github.com/facebook/PathPicker"}, {"content_hash": "f4d7b437a6c7293f17bb907e3824010ce37f31aa4ec5dba0b4fbdba551736719", "fetched_at": "2026-08-29T08:55:01.674673+00:00", "kind": "homepage", "missing": false, "url": "https://facebook.github.io/PathPicker/"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:09:13.235391+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:09:13.235391+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T18:00:08.220760+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "dfc7501bdc5a719ca6dff15d7591ed70122c584abd96a6807148d3309e5d575f", "fetched_at": "2026-08-28T04:09:13.235391+00:00", "kind": "readme", "missing": false, "url": "https://github.com/facebook/PathPicker"}, {"content_hash": "f4d7b437a6c7293f17bb907e3824010ce37f31aa4ec5dba0b4fbdba551736719", "fetched_at": "2026-08-29T08:55:01.674673+00:00", "kind": "homepage", "missing": false, "url": "https://facebook.github.io/PathPicker/"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T18:00:08.220760+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "dfc7501bdc5a719ca6dff15d7591ed70122c584abd96a6807148d3309e5d575f", "fetched_at": "2026-08-28T04:09:13.235391+00:00", "kind": "readme", "missing": false, "url": "https://github.com/facebook/PathPicker"}, {"content_hash": "f4d7b437a6c7293f17bb907e3824010ce37f31aa4ec5dba0b4fbdba551736719", "fetched_at": "2026-08-29T08:55:01.674673+00:00", "kind": "homepage", "missing": false, "url": "https://facebook.github.io/PathPicker/"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T18:00:08.220760+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "dfc7501bdc5a719ca6dff15d7591ed70122c584abd96a6807148d3309e5d575f", "fetched_at": "2026-08-28T04:09:13.235391+00:00", "kind": "readme", "missing": false, "url": "https://github.com/facebook/PathPicker"}, {"content_hash": "f4d7b437a6c7293f17bb907e3824010ce37f31aa4ec5dba0b4fbdba551736719", "fetched_at": "2026-08-29T08:55:01.674673+00:00", "kind": "homepage", "missing": false, "url": "https://facebook.github.io/PathPicker/"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T18:00:08.220760+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "dfc7501bdc5a719ca6dff15d7591ed70122c584abd96a6807148d3309e5d575f", "fetched_at": "2026-08-28T04:09:13.235391+00:00", "kind": "readme", "missing": false, "url": "https://github.com/facebook/PathPicker"}, {"content_hash": "f4d7b437a6c7293f17bb907e3824010ce37f31aa4ec5dba0b4fbdba551736719", "fetched_at": "2026-08-29T08:55:01.674673+00:00", "kind": "homepage", "missing": false, "url": "https://facebook.github.io/PathPicker/"}], "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": 4142, "days_push": 727, "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}}