{"adoption": {"forks": 169, "observed_at": "2026-08-28T04:04:09.926718+00:00", "stars": 1260}, "canonical_url": "https://ross.abutalabs.com/products/pyspark-style-guide", "card": {"archived": false, "artifact_type": "learning-resource", "description": "This is a guide to PySpark code style presenting common situations and the associated best practices based on the most frequent recurring topics across the PySpark repos we've encountered.", "domain": ["big-data", "developer-tools", "tutorials"], "enriched": true, "function": ["documentation", "developer-tools"], "health_score": 45, "homepage": null, "language": "Python", "license": "MIT", "license_family": "permissive", "maturity": "active", "member_repos": ["palantir/pyspark-style-guide"], "name": "palantir/pyspark-style-guide", "platform": ["python"], "pushed_at": "2025-09-08T18:43:48+00:00", "repo": "palantir/pyspark-style-guide", "stars": 1260, "tags": ["pyspark", "style-guide", "code-style", "spark", "best-practices", "clean-code", "data-engineering"], "topics": ["octo-correct-managed"], "urls": [], "use_cases": ["how to write clean pyspark code", "pyspark column selection best practices", "pyspark code style guide", "best way to reference columns in spark dataframes", "pyspark coding conventions for teams", "learn pyspark idioms for large data pipelines"], "what_it_is": "An opinionated style guide for PySpark code from Palantir, presenting common situations and best practices drawn from recurring patterns across many PySpark repositories. It is documentation rather than software, aimed at helping Python developers write maintainable Spark code.", "when_to_avoid": ["you need runnable tooling, linters, or formatters rather than prose guidance", "you work with Scala or Java Spark rather than the PySpark API", "you need a general Python style guide rather than Spark-specific advice"], "when_to_choose": ["you are writing or reviewing PySpark code and want opinionated best practices", "you are standardizing code style across a team's Spark repositories", "you are an experienced Python developer new to Spark's JVM-influenced patterns"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/pyspark-style-guide", "repo": "palantir/pyspark-style-guide", "role": "main", "score": 51}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:04:09.926718+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T05:04:24.144084+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2cbd09eb8b459c7ae009001e787ce8ec9dc08b829be58ec09da788a65c8a5b2e", "fetched_at": "2026-08-28T04:04:09.926718+00:00", "kind": "readme", "missing": false, "url": "https://github.com/palantir/pyspark-style-guide"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:04:09.926718+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T05:04:24.144084+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2cbd09eb8b459c7ae009001e787ce8ec9dc08b829be58ec09da788a65c8a5b2e", "fetched_at": "2026-08-28T04:04:09.926718+00:00", "kind": "readme", "missing": false, "url": "https://github.com/palantir/pyspark-style-guide"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T05:04:24.144084+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2cbd09eb8b459c7ae009001e787ce8ec9dc08b829be58ec09da788a65c8a5b2e", "fetched_at": "2026-08-28T04:04:09.926718+00:00", "kind": "readme", "missing": false, "url": "https://github.com/palantir/pyspark-style-guide"}], "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:09.926718+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:04:09.926718+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:04:09.926718+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T05:04:24.144084+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2cbd09eb8b459c7ae009001e787ce8ec9dc08b829be58ec09da788a65c8a5b2e", "fetched_at": "2026-08-28T04:04:09.926718+00:00", "kind": "readme", "missing": false, "url": "https://github.com/palantir/pyspark-style-guide"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:04:09.926718+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:04:09.926718+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T05:04:24.144084+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2cbd09eb8b459c7ae009001e787ce8ec9dc08b829be58ec09da788a65c8a5b2e", "fetched_at": "2026-08-28T04:04:09.926718+00:00", "kind": "readme", "missing": false, "url": "https://github.com/palantir/pyspark-style-guide"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:04:09.926718+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:04:09.926718+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:04:09.926718+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T05:04:24.144084+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2cbd09eb8b459c7ae009001e787ce8ec9dc08b829be58ec09da788a65c8a5b2e", "fetched_at": "2026-08-28T04:04:09.926718+00:00", "kind": "readme", "missing": false, "url": "https://github.com/palantir/pyspark-style-guide"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:04:09.926718+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:04:09.926718+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T05:04:24.144084+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2cbd09eb8b459c7ae009001e787ce8ec9dc08b829be58ec09da788a65c8a5b2e", "fetched_at": "2026-08-28T04:04:09.926718+00:00", "kind": "readme", "missing": false, "url": "https://github.com/palantir/pyspark-style-guide"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T05:04:24.144084+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2cbd09eb8b459c7ae009001e787ce8ec9dc08b829be58ec09da788a65c8a5b2e", "fetched_at": "2026-08-28T04:04:09.926718+00:00", "kind": "readme", "missing": false, "url": "https://github.com/palantir/pyspark-style-guide"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T05:04:24.144084+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2cbd09eb8b459c7ae009001e787ce8ec9dc08b829be58ec09da788a65c8a5b2e", "fetched_at": "2026-08-28T04:04:09.926718+00:00", "kind": "readme", "missing": false, "url": "https://github.com/palantir/pyspark-style-guide"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T05:04:24.144084+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2cbd09eb8b459c7ae009001e787ce8ec9dc08b829be58ec09da788a65c8a5b2e", "fetched_at": "2026-08-28T04:04:09.926718+00:00", "kind": "readme", "missing": false, "url": "https://github.com/palantir/pyspark-style-guide"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 41, "longevity": 100, "rhythm": 35}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": ["no_releases"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 2148, "days_push": 359, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 51, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}