Skip to content

student: add mapping/census stack (sf + tidycensus)#14

Merged
davidkane9 merged 1 commit into
mainfrom
add-mapping-stack
Jul 2, 2026
Merged

student: add mapping/census stack (sf + tidycensus)#14
davidkane9 merged 1 commit into
mainfrom
add-mapping-stack

Conversation

@davidkane9

Copy link
Copy Markdown
Contributor

Bakes sf and tidycensus (which pulls in tigris) into the student image so census-tract mapping works out of the box. The base image already ships the GDAL/PROJ/GEOS/udunits system libs for exactly this — this PR adds the R layer on top.

  • Smoke test loads sf/tidycensus/tigris and runs an offline st_sample() on a CRS-tagged polygon, verifying the geospatial linkage end to end.
  • Interactive maps need nothing further: the already-baked leaflet draws sf objects over free CARTO tiles (no Mapbox token).
  • Live tidycensus queries require a free per-student Census API key (now mandatory upstream — the API rejects keyless requests).
  • Docs updated (CLAUDE.md student section, README student tooling list); commit-trailer convention updated to name the current model.

Validation build on this branch: green across base/dev/student — https://github.com/PPBDS/devcontainers/actions/runs/28596767852

🤖 Generated with Claude Code

Bake sf and tidycensus (which pulls in tigris) into the student image so
census-tract mapping works out of the box — base already ships the
GDAL/PROJ/GEOS/udunits system libs for exactly this. Smoke test loads all
three and runs an offline st_sample() on a CRS-tagged polygon to verify
the geospatial linkage end to end. Interactive maps use the already-baked
leaflet over free CARTO tiles (no Mapbox token needed).

Also update the commit-trailer convention to name the current model.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings July 2, 2026 14:27
@davidkane9
davidkane9 merged commit 2709a11 into main Jul 2, 2026
3 checks passed
@davidkane9
davidkane9 deleted the add-mapping-stack branch July 2, 2026 14:27

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds an R geospatial “mapping / census” layer to the student devcontainer image so students can do census-tract mapping out of the box (leveraging the base image’s preinstalled GDAL/PROJ/GEOS/udunits system libraries), and updates docs to reflect the new capabilities and key requirements.

Changes:

  • Install sf and tidycensus in the student image via pak, with a build-time smoke test that loads sf/tidycensus/tigris and runs an offline sf geometry operation.
  • Document the new mapping/census tooling in README.md and the student image section of CLAUDE.md.
  • Update the documented commit-trailer convention example to be model-agnostic (names the current Claude model used).

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated no comments.

File Description
student/Dockerfile Installs sf + tidycensus and adds an sf smoke test to validate geospatial functionality in the built image.
README.md Adds the mapping/census tooling to the student image feature list, including the Census API key requirement.
CLAUDE.md Documents the student image’s mapping/census stack and updates the commit trailer convention example.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants