Reference
Base images
The two Python base images, what is in them, and how their versions work.
Python slowapps build on one of two images from slowapp-base. Both contain the Python SDK (slowapp_kit), the checking tools (slowapp_sdk) and the fonts, at /opt/slowapp.
| Image | Contents | Use it for |
|---|---|---|
ghcr.io/mike-anderson/slowapp-python | Debian trixie-slim, Python 3, Pillow, the SDK, fonts | most apps |
ghcr.io/mike-anderson/slowapp-python-sci | everything above, plus numpy, SciPy, Shapely, contourpy and tifffile | maps, weather, numeric work |
- Platforms:
linux/arm/v7(the Slowboard 1085),linux/arm64andlinux/amd64. The libraries come from Debian packages, because PyPI has few 32-bit ARM wheels. - Layers:
-sciis built on the slim image’s exact digest, so a hub that runs both kinds of app stores the shared layers once. - Threads: numeric libraries are limited to one thread (
OPENBLAS_NUM_THREADS=1,OMP_NUM_THREADS=1). - Contract: both carry the label
org.slowboard.contract=3and setSLOWAPP_CONTRACT=3. - Fonts in
/opt/slowapp/fonts: DejaVu Sans, DejaVu Sans Bold, DejaVu Sans Condensed, DejaVu Sans Condensed Bold and Alfa Slab One. Load them withkit.font(name, size).
Versions
Both images are released together from a Git tag vX.Y.Z, and tagged X.Y.Z, X.Y and X. There is no latest.
- Patch: a rebuild or a fix. A monthly rebuild cuts one so Debian’s security updates arrive.
- Minor: something added to the SDK or the checking tools, or a new library.
- Major: a new contract version.
Pin your base
Pin both the version and the digest in your Dockerfile, copied from the latest release. For 1.2.0:
FROM ghcr.io/mike-anderson/slowapp-python:1.2.0@sha256:5cc196d93d9960643d51eac7a49f46fe4eb9a1c4f68deba0f60579ea9559a532
FROM ghcr.io/mike-anderson/slowapp-python-sci:1.2.0@sha256:8199b8ab24ff99ee4791e3dd06b724244dec0b293af3fc9c7e6fca9046db8e43
Dependabot opens a pull request when a new version is released.