Skip to content

v0.24.0

Choose a tag to compare

@mortenoh mortenoh released this 29 Apr 10:18
· 23 commits to main since this release
v0.24.0
7eedc66

Migration-path fix release on top of 0.23.0.

Highlights

  • chapkit mlproject migrate: Dockerfile now installs chapkit via uv sync (#53). After the chapkit-images split into base + -cli variants, the chapkit-{py,r,r-inla}:latest tags no longer ship chapkit pre-installed - migrated projects need to install it themselves. The generated Dockerfile now mirrors the chapkit init scaffold:
    • uv sync --frozen --no-dev --no-install-project against the generated pyproject.toml + uv.lock.
    • ARG BASE_PLATFORM=linux/amd64 + FROM --platform=... for chapkit-r-inla (INLA is amd64-only); chapkit-py / chapkit-r stay multi-arch.
    • CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "8000"] instead of python main.py, so server flags are visible in the Dockerfile.
    • Floor-pin in the generated pyproject.toml bumped to chapkit>=0.23.0.
  • make test for migrated projects now goes through Docker (#53). make test builds the image, runs the container, drives chapkit test --url against it, then tears down. Required for R models (the host doesn't have R + the renv packages) and exercises the same image that ships downstream for Python ones too.
  • Scaffolded Dockerfile uses BASE_PLATFORM build arg (#52). Apple Silicon / arm64 hosts can override --build-arg BASE_PLATFORM=linux/arm64 for chapkit-r instead of being pinned to amd64.
  • chapkit-images base/-cli rename documented across CHAPKIT.md / READMEs (#51).
  • bench-memory script for scaffolded templates, with progress reporting and KeyboardInterrupt handling. Ports the previous bash version to Python and surfaces results via rich.Table.

Compatibility

  • No breaking API changes.
  • Migrated projects from 0.22.x / 0.23.x re-migrate cleanly. Existing migrated projects can adopt the new Dockerfile by copying the updated Dockerfile_migrate.jinja2 output (or re-running chapkit mlproject migrate against the original MLproject).