Releases: PPBDS/devcontainers
Release list
v1.0.2 — silence easystats update nag
Disables easystats' on-attach CRAN version check and 'needs update' banner via Rprofile.site (easystats.quiet + an attach hook that preserves component auto-attach). library(easystats) now attaches the same ten packages, instantly and silently. Rebuild also refreshes all P3M binaries to current.
v1.0.1 — primer.tutorials from its own repo
primer.tutorials now installs from PPBDS/primer.tutorials instead of the primer repo subdir — image builds and Codespace-create refreshes stop transferring the ~183 MB primer tarball to deliver a ~4 MB package.
v1.0.0 — one image: ghcr.io/ppbds/devcontainer
Consolidates the base/dev/student trio into a single image, ghcr.io/ppbds/devcontainer, containing everything: the full student stack (course packages, modeling, mapping, viz, Python, Observable, AI CLIs) plus the package-development tooling formerly only in dev (devtools, pkgdown, roxygen2, testthat, usethis, qpdf).
Migration: replace ghcr.io/ppbds/devcontainers/student:0.x or ghcr.io/ppbds/devcontainers/dev:latest with ghcr.io/ppbds/devcontainer:1.0.0. The old packages keep their existing tags but receive no new versions.
v0.9.0 — inference-reporting + presentation set
Adds gt, marginaleffects, patchwork, and easystats to base (used throughout the primer book and tutorials but previously absent or only transitively installed). Also fixes root-created pkgdepends lock files poisoning non-root installs, and bakes libuv1-dev for fs ≥ 2.1.0.
v0.8.0 — Kyle Walker mapping toolkit
Rounds out the student image's mapping stack with mapgl (token-free WebGL vector maps via MapLibre + CARTO styles), crsuggest (CRS recommendations), and idbr (Census International Data Base, same Census API key as tidycensus). mapboxapi deliberately excluded — it needs a per-student Mapbox account.
v0.7.0 — mapping/census stack
Adds a mapping/census stack to the student image: sf + tidycensus (with tigris) for census-tract maps — static via ggplot2, interactive via the already-baked leaflet over free CARTO tiles. Live tidycensus queries need a free Census API key (mandatory upstream).
v0.6.3
Shared modeling stack in base
base (and therefore dev + student) now ships a modeling stack:
- tidymodels + the engine packages it doesn't bundle: xgboost, lightgbm, randomForest, ranger, glmnet
- bonsai (parsnip bridge for lightgbm + catboost)
- catboost v1.2.10 — not on CRAN; installed from its pinned linux-x86_64 GitHub release binary
- brms (Bayesian/Stan), with BH/RcppEigen/RcppParallel added explicitly so Stan models compile at runtime
Installed from the current P3M snapshot so versions are recent enough for the catboost engine. Smoke tests fit a catboost model and compile a brms/Stan model end-to-end.
Consume via ghcr.io/ppbds/devcontainers/student:0.6.3 (and dev:0.6.3).
v0.6.2
Silence pak's phantom 'Missing libnode-dev'
The V8 R package's binary (from Posit Package Manager) is statically linked and needs no system library, and NodeSource nodejs removes any distro libnode-dev anyway — but pak's sysreqs database still listed libnode-dev, so students saw a scary ✖ Missing 1 system package: libnode-dev on every install that pulled in V8 (gt, primer.tutorials, …). This adds a metadata-only package that Provides: libnode-dev, libv8-dev so pak's check passes; it ships no files and coexists with NodeSource nodejs. No change to what is actually linked. Dropped the dead libnode-dev apt line and fixed its false comment.
Consume via ghcr.io/ppbds/devcontainers/student:0.6.2.
v0.6.1
All 4 PPBDS course packages baked + refreshed
- The student image now bakes tutorial.helpers, vscode.tutorials, misc.tutorials, and primer.tutorials (subdir of the primer repo), all also refreshed to latest on each Codespace create via postCreateCommand.
- Bake
cmake; setPKG_SYSREQS=falseso pak relies on the baked system libs (nosudo aptat build/create/runtime). - Also includes (since 0.6.0): R-only + Python-only Quarto smoke tests, R-install consolidation, the requirements-lock staleness guard, and reticulate doc corrections.
Consume via ghcr.io/ppbds/devcontainers/student:0.6.1.
v0.6.0
Student image: Python + Observable + interactive viz/Shinylive
- Python data-science stack in a venv at
/opt/venv(uv, system python3, reticulate-unified, group-writable so students canpip install): numpy, pandas, matplotlib, seaborn, scikit-learn, statsmodels, jupyter, ipykernel — pinned viarequirements.lock. - Interactive web viz + Shinylive (static-hosting friendly): R plotly/leaflet/DT/crosstalk + Python plotly/altair/folium/itables; shiny+shinylive (R & Python) compile to WebAssembly.
- Observable Framework (
observableCLI); Quarto renders{ojs}out of the box.
Consume via ghcr.io/ppbds/devcontainers/student:0.6.0.