Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ Everything lives in the single root `Dockerfile`. Its layer order mirrors the ol
- Modeling stack from the CURRENT P3M snapshot: `tidymodels`, `bonsai`, engines (`xgboost`, `lightgbm`, `randomForest`, `ranger`, `glmnet`), `catboost` (pinned GitHub release binary, amd64), `brms` (+ explicit `BH`/`RcppEigen`/`RcppParallel` — rstan binary installs skip its LinkingTo deps, but runtime Stan compilation needs them).
- Inference-reporting + presentation set: `gt`, `marginaleffects`, `patchwork`, `easystats` — used pervasively in the primer book and tutorials but only Suggests in primer.tutorials (pak doesn't install Suggests).
- Package-development set (the old dev image): `devtools`, `pkgdown`, `roxygen2`, `testthat`, `usethis`.
- Course packages from GitHub source (`PPBDS/tutorial.helpers`, `PPBDS/vscode.tutorials`, `PPBDS/misc.tutorials`, `PPBDS/primer/primer.tutorials` — note the subdir path), installed **as rstudio** with `upgrade = TRUE` (see the xfun ABI note in the Dockerfile). These are ALSO refreshed on every Codespace create by codespace-starter's postCreateCommand — add new course packages in BOTH places.
- Course packages from GitHub source (`PPBDS/tutorial.helpers`, `PPBDS/vscode.tutorials`, `PPBDS/misc.tutorials`, `PPBDS/primer.tutorials` — split out of the primer repo 2026-07 so installs stop downloading the 183 MB primer tarball; don't point it back at the subdir), installed **as rstudio** with `upgrade = TRUE` (see the xfun ABI note in the Dockerfile). These are ALSO refreshed on every Codespace create by codespace-starter's postCreateCommand — add new course packages in BOTH places.
- Interactive viz + Shinylive (R: `plotly`, `leaflet`, `DT`, `crosstalk`, `shiny`, `shinylive`).
- Mapping/census stack: `sf`, `tidycensus` (+`tigris`), `mapgl` (token-free WebGL maps via `maplibre()` + CARTO styles), `crsuggest`, `idbr`. Live tidycensus/idbr queries need each student's free Census API key (the API rejects keyless requests). `mapboxapi` deliberately excluded (needs per-student Mapbox account).
- Python data-science stack via `uv` into a group-writable venv at `/opt/venv` from a fully pinned lockfile (`requirements.lock`, compiled from `requirements.txt` — edit the .txt and recompile to bump). System CPython, seeded pip, default `python` on PATH, registered "Python (data science)" Jupyter kernel; Quarto runs Python docs via the jupyter engine, so reticulate is not needed (RETICULATE_PYTHON is still set).
Expand Down
9 changes: 6 additions & 3 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -298,8 +298,11 @@ RUN R -q -e 'pak::pkg_install(c("devtools", "pkgdown", "roxygen2", "testthat", "
# create via codespace-starter's postCreateCommand; baking them here pre-
# installs the whole dependency tree (so that refresh is a quick update, not
# a cold build) and leaves a working fallback if GitHub is unreachable. Note
# primer.tutorials lives in a SUBDIR of the primer repo, hence the
# "PPBDS/primer/primer.tutorials" path. Add further "PPBDS/<name>" entries
# primer.tutorials was SPLIT OUT of the primer repo (2026-07): as a subdir
# install ("PPBDS/primer/primer.tutorials") every install downloaded the
# full ~183 MB primer tarball — book, class exercises — to deliver a ~4 MB
# package, at every image build AND every Codespace create. Do not point
# this back at the subdir path. Add further "PPBDS/<name>" entries
# (in BOTH places) when the syllabus needs them.
#
# upgrade = TRUE forces pak to pull the latest version of every
Expand All @@ -311,7 +314,7 @@ RUN R -q -e 'pak::pkg_install(c( \
"PPBDS/tutorial.helpers", \
"PPBDS/vscode.tutorials", \
"PPBDS/misc.tutorials", \
"PPBDS/primer/primer.tutorials" \
"PPBDS/primer.tutorials" \
), upgrade = TRUE)'

# Smoke test 1: every baked-in package and the learnr/knitr/rmarkdown
Expand Down