Skip to content

Releases: vdplabs/pantry

v0.5.4

Choose a tag to compare

@vdparikh vdparikh released this 04 Sep 23:38

pantry v0.5.4 — warm images + reasoning guards

  • Image: do not gut mflux models with MemorySaver; keep one shared runtime so second Sink generates work; mark Loaded in the menu bar; skip harsh swap refuse when the model is already warm; map preflight errors to HTTP 503.
  • Reasoning: compact R1 distill capped at 1024 tokens; stronger section-loop detection; clearer preamble.
# restart serve after upgrade
pantry serve

v0.5.3

Choose a tag to compare

@vdparikh vdparikh released this 04 Sep 21:11

pantry v0.5.3 — Metal cold-start auto-retry

On 16 GB Apple Silicon, the first Z-Image denoise step often times out while Metal compiles shaders. The second run works. pantry now retries once automatically after a GPU timeout.

pantry image \"…\" --model image-standard --size 512x512
# may print: Metal cold-start timeout — retrying once…

v0.5.2

Choose a tag to compare

@vdparikh vdparikh released this 04 Sep 20:54

pantry v0.5.2 — Z-Image that fits 16 GB (when swap is clear)

Fixes

  • image-standard → filipstrand/Z-Image-Turbo-mflux-4bit (no on-the-fly bf16 quant)
  • Recognize mflux transformer/ weight trees as ready (fixes false “weights missing”)
  • Pull into shared HF cache once; image uses local model_path (no second download)
  • Enable mflux low-RAM (MemorySaver + VAE tiling + cache cap)
  • Refuse image generation when swap ≥ ~2 GB with an actionable error

Retry on 16 GB Macs

pantry unload
sysctl vm.swapusage   # used should be near 0 (reboot if stuck)
pantry pull vdplabs.z-image-turbo.standard.v1
pantry image "a cozy mountain cabin" --model image-standard --size 512x512

v0.5.1

Choose a tag to compare

@vdparikh vdparikh released this 04 Sep 20:33

pantry v0.5.1 — core-rationale honesty

Aligns multimodal catalog, shared-cache discovery, and docs with pantry’s founding pillars.

Fixes

  • Remove fake MAGNeT sine-wave music runtime; music is honest echo_music scaffold only
  • Drop hardcoded /Volumes/T7 Shield paths; HF discovery via HF_HUB_CACHE / HF_HOME / default hub / PANTRY_DATA
  • pull reuses shared HF snapshots and does not create empty weights dirs
  • Whisper/image weight resolution uses resolve_weights_path
  • Hide non-chat demos from /v1/models unless ?demos=true
  • Soften oversold “100% Metal reclaim” claims for worker isolation
  • Add vdplabs.z-image-turbo.standard.v1 (image-standard)
  • Honesty regression tests

Verify

pytest   # 99 passed

v0.5.0 — Speech-to-Text (mlx-whisper) & Real Image Generation (mflux)

Choose a tag to compare

@vdparikh vdparikh released this 04 Sep 18:12

Track 3: Real Modalities on Apple Silicon Metal

1. Local Speech-to-Text (/v1/audio/transcriptions)

  • Implemented OpenAI-compatible POST /v1/audio/transcriptions endpoint (multipart/form-data) supporting json, verbose_json, text, vtt, and srt formats.
  • Added MLXWhisperRuntime for real on-device dictation via mlx-whisper with Metal GPU acceleration.
  • Added EchoAudioTranscriptionRuntime for fast, zero-weight offline tests.
  • Curated vdplabs.whisper-tiny.compact.v1 and registered aliases whisper-1, whisper-compact, and transcribe-compact.
  • Added pantry transcribe <audio-file> CLI command.

2. Real Image Generation (/v1/images/generations)

  • Implemented MFluxImageRuntime powering real FLUX.1 (schnell/dev) and SD-Turbo image generation on Apple Silicon Metal with 8-bit/4-bit quantization.
  • Retained deterministic EchoImageRuntime for zero-weight smoke testing.
  • Curated vdplabs.flux1-schnell.standard.v1 with aliases flux-schnell, image-standard, and flux.
  • Added pantry image <prompt> CLI command.

3. Core Dependencies & Homebrew Packaging

  • Added python-multipart to dependencies for robust multipart upload handling in FastAPI.
  • Added optional extras [whisper] and [mflux].
  • Updated Homebrew tap formula pantry.rb.

v0.4.1

Choose a tag to compare

@vdparikh vdparikh released this 04 Sep 17:45

pantry v0.4.1

Patch release fixing LaunchAgent background service execution under Homebrew and macOS launchd.

Fixes

  • Service Executable & PYTHONPATH Resolution: Fixed launchd service failing on startup with ModuleNotFoundError: No module named 'pantry' by automatically resolving to public wrapper binaries and exporting PYTHONPATH directly in the plist environment.
  • Aqua Session Enforcement: Explicitly declared LimitLoadToSessionType = Aqua when the menu bar is enabled to guarantee attachment to the macOS graphical login session.
  • Port Conflict Protection: Added pre-flight port binding check to pantry serve to prevent silent collisions when the background service is already active on port 18787.
  • Launchctl Kickstart Fallback: Modernized service start/stop with kickstart -k and kill with graceful fallbacks.

Upgrade via Homebrew

brew update && brew upgrade pantry
pantry service install

v0.4.0

Choose a tag to compare

@vdparikh vdparikh released this 04 Sep 16:57

pantry v0.4.0

Major feature and hardening release with embeddings, worker process isolation, LaunchAgent service management, exact token usage, tool calling, and expanded curated catalog.

What's New in v0.4.0

  • Exact Token Usage (usage): Real prompt_tokens, completion_tokens, and total_tokens returned in /v1/chat/completions non-streaming JSON and terminal streaming SSE chunks.
  • Embeddings Endpoint (POST /v1/embeddings): OpenAI-compatible vector embeddings with unit normalization and Echo/MLX embed runtimes.
  • Worker Subprocess Isolation (--worker-isolation): Runs inference in an isolated worker subprocess (spawn), guaranteeing 100% Metal cache and Mach virtual memory reclaim upon /v1/unload.
  • Service Management CLI (pantry service): First-class macOS LaunchAgent management (pantry service install, start, stop, status, uninstall) configured with UIElement accessory activation policy (status bar only, clean Dock).
  • Tool / Function Calling: Host-owned <tools> prompting and <tool_call> extraction conforming to OpenAI tool call schemas.
  • Expanded Curated Catalog: Starter manifests for Llama 3.2 1B & 3B, Qwen 2.5 Coder 1.5B, DeepSeek-R1 Distill Qwen 1.5B, and embeddings, plus remote sync via pantry catalog update.

Install or Upgrade

brew tap vdplabs/tap
brew update && brew upgrade pantry

Or via pip:

pip install --upgrade "git+https://github.com/vdplabs/pantry.git#egg=pantry[mac]"

v0.3.4

Choose a tag to compare

@vdparikh vdparikh released this 04 Sep 13:08

pantry v0.3.4

Local Apple Silicon model host (usable alpha).

  • Capability resolve + shared library under `PANTRY_HOME` / `PANTRY_DATA`
  • OpenAI-compatible HTTP + SSE (MLX chat)
  • Menu bar + Metal memory watchdog
  • Daemon `load` / `unload`, CORS, flexible chat `content` shapes

```bash
brew tap vdplabs/tap && brew install pantry
```

See README Status for ships-today vs roadmap.