Skip to content
CAI
Software that uses CAICheck a score

kevinschaich/h3-pyspark

59.2

Adequate · 21 September 2026

796

lines of production code

Python

primary language

4

measurements over time

CAI band scale
CAI trend line
CAI lens gauges

What this system is

This system is a spatial analysis library built on PySpark that indexes and traverses geometric shapes using the H3 hexagonal grid system. It provides functions to convert geometries into H3 cells and calculate distinct neighbor cells within a specified distance. The implementation includes robust null handling and supports GeoJSON output for spatial boundaries.

Features

Added spatial indexing and traversal functions for H3

The \h3-pyspark\ library introduces new capabilities for spatial analysis. Users can now index geometries (Point, LineString, Polygon, and their Multi-variants) into H3 cells using the \index\_shape\ function, which handles complex shapes by densifying lines and checking intersections. Additionally, a \k\_ring\_distinct\ function is added to compute the distinct set of cells within a specified distance from input cells. All new and existing UDFs now explicitly handle null inputs by returning null, and the \h3\_to\_geo\_boundary\ function has been updated to optionally return a valid GeoJSON string.

_src/h3\pyspark · high confidence

Test coverage

Organized and expanded test suite for H3 spatial functions

Tests for H3 indexing, traversal, and core library functions have been reorganized into the root-level \tests/\ directory. This includes new dedicated test files for indexing (\test\_indexing.py\) and traversal (\test\_traversal.py\), alongside a refactored \test\_core.py\ that now explicitly verifies handling of null inputs in UDFs.

tests · high confidence

Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.

How this codebase got here

This is the PUBLIC form of this artifact. Findings are listed in full, but the details of SECURITY findings — which rule fired, in which file, on which line, and how to fix it — are deliberately withheld, and any secret-scanner results are excluded entirely. Where detail is absent here it was REMOVED FOR PUBLICATION; it is not missing from the analysis. The complete artifact is available from the repository owner.

Score

  • CAI 58 → 59 (+1.0)
  • Rubric changed (rubric-2026.08.19 → rubric-2026.09.15) — scores are not directly comparable.

Lenses

  • Code Health 100 → 100 (+0.0)
  • Architecture 69 → 69 (+0.0)
  • Maturity 49 → 49 (+0.0)
  • Readiness 50 → 55 (+5.2)
  • Security 100 → 95 (-4.8)

Resolved (5)

  • Coverage not included — suite not readable by the collector
  • Dependency hygiene not measured — dependency manifest found but not parsed for hygiene
  • No exposed public API
  • Test reliability not included
  • dormant codebase — no living knowledge left to concentrate

New (11)

  • Dependency hygiene PARTLY measured — Python dependencies read, no exact pin to grade for currency
  • Documentation: no installation or build instructions (README.md)
  • Documentation: no usage examples (README.md)
  • High: security finding (details withheld)
  • High: security finding (details withheld)
  • High: security finding (details withheld)
  • Medium: security finding (details withheld)
  • Medium: security finding (details withheld)
  • No dependency advisory monitoring
  • Workflow token permissions not restricted
  • bus factor 1 — one contributor carries this repository

Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.

Survey your own repository

kevinschaich/h3-pyspark was measured the same way every project in this corpus was: the same rubric, at a pinned commit, with the result published in full. Point a surveyor at a repository you know and see whether you agree with it.

About this page

  • The score is its most recent published measurement, taken on 21 September 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
  • Measured at commit dffe8e1dea5d99b0b121cc9282f650a2a262ae72 — the exact code this score is about.
  • Scored under rubric-2026.09.15 — the same rubric and the same method as every other entry in this index.
  • Measured by watchdog.canine.dev using codehealth-analyzer preprod-fa71c66cabd8.