Repository navigation
Releases: vdplabs/pantry
Releases · vdplabs/pantry
Release list
v0.5.4
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 servev0.5.3
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
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 512x512v0.5.1
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_musicscaffold only - Drop hardcoded
/Volumes/T7 Shieldpaths; HF discovery viaHF_HUB_CACHE/HF_HOME/ default hub /PANTRY_DATA pullreuses shared HF snapshots and does not create empty weights dirs- Whisper/image weight resolution uses
resolve_weights_path - Hide non-chat demos from
/v1/modelsunless?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 passedv0.5.0 — Speech-to-Text (mlx-whisper) & Real Image Generation (mflux)
Track 3: Real Modalities on Apple Silicon Metal
1. Local Speech-to-Text (/v1/audio/transcriptions)
- Implemented OpenAI-compatible
POST /v1/audio/transcriptionsendpoint (multipart/form-data) supportingjson,verbose_json,text,vtt, andsrtformats. - Added
MLXWhisperRuntimefor real on-device dictation viamlx-whisperwith Metal GPU acceleration. - Added
EchoAudioTranscriptionRuntimefor fast, zero-weight offline tests. - Curated
vdplabs.whisper-tiny.compact.v1and registered aliaseswhisper-1,whisper-compact, andtranscribe-compact. - Added
pantry transcribe <audio-file>CLI command.
2. Real Image Generation (/v1/images/generations)
- Implemented
MFluxImageRuntimepowering real FLUX.1 (schnell/dev) and SD-Turbo image generation on Apple Silicon Metal with 8-bit/4-bit quantization. - Retained deterministic
EchoImageRuntimefor zero-weight smoke testing. - Curated
vdplabs.flux1-schnell.standard.v1with aliasesflux-schnell,image-standard, andflux. - Added
pantry image <prompt>CLI command.
3. Core Dependencies & Homebrew Packaging
- Added
python-multipartto dependencies for robust multipart upload handling in FastAPI. - Added optional extras
[whisper]and[mflux]. - Updated Homebrew tap formula
pantry.rb.
v0.4.1
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 exportingPYTHONPATHdirectly in the plist environment. - Aqua Session Enforcement: Explicitly declared
LimitLoadToSessionType = Aquawhen 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 serveto prevent silent collisions when the background service is already active on port 18787. - Launchctl Kickstart Fallback: Modernized service start/stop with
kickstart -kandkillwith graceful fallbacks.
Upgrade via Homebrew
brew update && brew upgrade pantry
pantry service installv0.4.0
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): Realprompt_tokens,completion_tokens, andtotal_tokensreturned in/v1/chat/completionsnon-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 withUIElementaccessory 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 pantryOr via pip:
pip install --upgrade "git+https://github.com/vdplabs/pantry.git#egg=pantry[mac]"v0.3.4
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.