{"adoption": {"forks": 226, "observed_at": "2026-08-28T04:04:50.564971+00:00", "stars": 1478}, "canonical_url": "https://ross.abutalabs.com/products/libpg_query", "card": {"archived": false, "artifact_type": "library", "description": "C library for accessing the PostgreSQL parser outside of the server environment", "domain": ["databases", "parsers", "developer-tools"], "enriched": true, "function": ["parser", "developer-tools"], "health_score": 99, "homepage": null, "language": "C", "license": "BSD-3-Clause", "license_family": "permissive", "maturity": "active", "member_repos": ["pganalyze/libpg_query"], "name": "pganalyze/libpg_query", "platform": ["windows", "cross-platform", "c"], "pushed_at": "2026-08-25T16:47:02+00:00", "repo": "pganalyze/libpg_query", "stars": 1478, "tags": ["postgresql", "sql-parser", "parse-tree", "sql-linting", "query-analysis", "linux", "macos"], "topics": [], "urls": [], "use_cases": ["parse postgres sql queries into a parse tree", "validate sql syntax without running a postgres server", "build a sql linter or formatter for postgresql", "tokenize sql queries for syntax highlighting", "analyze or rewrite postgres queries programmatically", "build language bindings for the postgres parser"], "what_it_is": "libpg_query is a C library that exposes PostgreSQL's actual SQL parser so applications can parse SQL queries and obtain the internal PostgreSQL parse tree outside the server. It also exposes the PostgreSQL lexer for tokenizing queries, and serves as the base for language bindings like pg_query.go, pglast, and pgsql-parser.", "when_to_avoid": ["you need a generic SQL parser for multiple dialects rather than PostgreSQL specifically", "you need to execute queries, not just parse them", "you want a pure high-level-language parser without a C build dependency"], "when_to_choose": ["you need PostgreSQL-exact parsing behavior for SQL analysis, linting, or rewriting", "you are building a tool in C or a binding on top of the PostgreSQL grammar", "you cannot run or embed a full PostgreSQL server just to parse queries"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/libpg_query", "repo": "pganalyze/libpg_query", "role": "main", "score": 90}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:04:50.564971+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T04:34:22.031659+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "63ba886fccad4c36d615208328231559ae47bdf266bc1f4ad60eaf66d9dc0d64", "fetched_at": "2026-08-28T04:04:50.564971+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pganalyze/libpg_query"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:04:50.564971+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T04:34:22.031659+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "63ba886fccad4c36d615208328231559ae47bdf266bc1f4ad60eaf66d9dc0d64", "fetched_at": "2026-08-28T04:04:50.564971+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pganalyze/libpg_query"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T04:34:22.031659+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "63ba886fccad4c36d615208328231559ae47bdf266bc1f4ad60eaf66d9dc0d64", "fetched_at": "2026-08-28T04:04:50.564971+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pganalyze/libpg_query"}], "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:50.564971+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:04:50.564971+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:04:50.564971+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T04:34:22.031659+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "63ba886fccad4c36d615208328231559ae47bdf266bc1f4ad60eaf66d9dc0d64", "fetched_at": "2026-08-28T04:04:50.564971+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pganalyze/libpg_query"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:04:50.564971+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:04:50.564971+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T04:34:22.031659+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "63ba886fccad4c36d615208328231559ae47bdf266bc1f4ad60eaf66d9dc0d64", "fetched_at": "2026-08-28T04:04:50.564971+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pganalyze/libpg_query"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:04:50.564971+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:04:50.564971+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:04:50.564971+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T04:34:22.031659+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "63ba886fccad4c36d615208328231559ae47bdf266bc1f4ad60eaf66d9dc0d64", "fetched_at": "2026-08-28T04:04:50.564971+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pganalyze/libpg_query"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:04:50.564971+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:04:50.564971+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T04:34:22.031659+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "63ba886fccad4c36d615208328231559ae47bdf266bc1f4ad60eaf66d9dc0d64", "fetched_at": "2026-08-28T04:04:50.564971+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pganalyze/libpg_query"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T04:34:22.031659+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "63ba886fccad4c36d615208328231559ae47bdf266bc1f4ad60eaf66d9dc0d64", "fetched_at": "2026-08-28T04:04:50.564971+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pganalyze/libpg_query"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T04:34:22.031659+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "63ba886fccad4c36d615208328231559ae47bdf266bc1f4ad60eaf66d9dc0d64", "fetched_at": "2026-08-28T04:04:50.564971+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pganalyze/libpg_query"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T04:34:22.031659+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "63ba886fccad4c36d615208328231559ae47bdf266bc1f4ad60eaf66d9dc0d64", "fetched_at": "2026-08-28T04:04:50.564971+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pganalyze/libpg_query"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 99, "longevity": 100, "rhythm": 72}, "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": 4043, "days_push": 8, "days_rel": 105, "gap_med": 71.0, "n_releases_24m": 7}, "score": 90, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}