{"adoption": {"forks": 1746, "observed_at": "2026-08-28T04:11:30.399816+00:00", "stars": 20760}, "canonical_url": "https://ross.abutalabs.com/products/omlx", "card": {"archived": false, "artifact_type": "application", "description": "LLM inference server with continuous batching & SSD caching for Apple Silicon — managed from the macOS menu bar", "domain": ["large-language-models", "artificial-intelligence", "developer-tools", "self-hosted", "machine-learning"], "enriched": true, "function": ["llm-inference", "http-server", "caching", "api-framework", "chat-interface", "mcp"], "health_score": 100, "homepage": "https://omlx.ai", "language": "Python", "license": "Apache-2.0", "license_family": "permissive", "maturity": "active", "member_repos": ["jundot/omlx"], "name": "jundot/omlx", "platform": ["python", "cli"], "pushed_at": "2026-08-26T04:12:56+00:00", "repo": "jundot/omlx", "stars": 20760, "tags": ["mlx", "apple-silicon", "kv-cache", "continuous-batching", "menu-bar-app", "openai-compatible", "anthropic-api", "local-llm", "ssd-caching", "homebrew", "macos", "web-server"], "topics": ["apple-silicon", "inference-server", "llm", "macos", "mlx", "openai-api"], "urls": [], "use_cases": ["run local llm server on apple silicon mac", "serve mlx models with openai-compatible api", "speed up claude code with local llm backend", "persist kv cache across llm requests", "manage llm inference server from macos menu bar", "host multiple llm models with automatic memory eviction", "self-host anthropic api compatible endpoint"], "what_it_is": "oMLX is a native macOS menu bar application and LLM inference server built on Apple's MLX framework, featuring continuous batching and two-tier (RAM + SSD) KV cache persistence. It exposes OpenAI- and Anthropic-compatible APIs so local models work as drop-in backends for tools like Claude Code and Cursor.", "when_to_avoid": ["you need inference on Linux, Windows, or non-Apple-Silicon hardware", "you require CUDA or multi-GPU cluster serving at scale", "you need model architectures not supported by MLX", "you want a headless server without macOS"], "when_to_choose": ["you have an Apple Silicon Mac and want fast local LLM serving with minimal setup", "you use coding agents like Claude Code or Cursor and want low time-to-first-token on repeated prefixes", "you want a native menu bar app with dashboard, auto-updates, and multi-model serving", "you need OpenAI and Anthropic drop-in API compatibility with tool calling and MCP support"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/omlx", "repo": "jundot/omlx", "role": "main", "score": 78}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:11:30.399816+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T16:58:33.061574+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "bfb48e1c64bfccb783f516300956d746ed66f78e27e961f116ad514281946b17", "fetched_at": "2026-08-28T04:11:30.399816+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jundot/omlx"}, {"content_hash": "35977f038451754acf1819d747fd3394556bf6f3b0ae556aaaefe644826c10a6", "fetched_at": "2026-08-29T07:57:09.896527+00:00", "kind": "homepage", "missing": false, "url": "https://omlx.ai"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:11:30.399816+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T16:58:33.061574+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "bfb48e1c64bfccb783f516300956d746ed66f78e27e961f116ad514281946b17", "fetched_at": "2026-08-28T04:11:30.399816+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jundot/omlx"}, {"content_hash": "35977f038451754acf1819d747fd3394556bf6f3b0ae556aaaefe644826c10a6", "fetched_at": "2026-08-29T07:57:09.896527+00:00", "kind": "homepage", "missing": false, "url": "https://omlx.ai"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T16:58:33.061574+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "bfb48e1c64bfccb783f516300956d746ed66f78e27e961f116ad514281946b17", "fetched_at": "2026-08-28T04:11:30.399816+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jundot/omlx"}, {"content_hash": "35977f038451754acf1819d747fd3394556bf6f3b0ae556aaaefe644826c10a6", "fetched_at": "2026-08-29T07:57:09.896527+00:00", "kind": "homepage", "missing": false, "url": "https://omlx.ai"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:11:30.399816+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:11:30.399816+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:11:30.399816+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T16:58:33.061574+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "bfb48e1c64bfccb783f516300956d746ed66f78e27e961f116ad514281946b17", "fetched_at": "2026-08-28T04:11:30.399816+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jundot/omlx"}, {"content_hash": "35977f038451754acf1819d747fd3394556bf6f3b0ae556aaaefe644826c10a6", "fetched_at": "2026-08-29T07:57:09.896527+00:00", "kind": "homepage", "missing": false, "url": "https://omlx.ai"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:11:30.399816+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:11:30.399816+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T16:58:33.061574+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "bfb48e1c64bfccb783f516300956d746ed66f78e27e961f116ad514281946b17", "fetched_at": "2026-08-28T04:11:30.399816+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jundot/omlx"}, {"content_hash": "35977f038451754acf1819d747fd3394556bf6f3b0ae556aaaefe644826c10a6", "fetched_at": "2026-08-29T07:57:09.896527+00:00", "kind": "homepage", "missing": false, "url": "https://omlx.ai"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:11:30.399816+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:11:30.399816+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:11:30.399816+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T16:58:33.061574+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "bfb48e1c64bfccb783f516300956d746ed66f78e27e961f116ad514281946b17", "fetched_at": "2026-08-28T04:11:30.399816+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jundot/omlx"}, {"content_hash": "35977f038451754acf1819d747fd3394556bf6f3b0ae556aaaefe644826c10a6", "fetched_at": "2026-08-29T07:57:09.896527+00:00", "kind": "homepage", "missing": false, "url": "https://omlx.ai"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:11:30.399816+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:11:30.399816+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T16:58:33.061574+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "bfb48e1c64bfccb783f516300956d746ed66f78e27e961f116ad514281946b17", "fetched_at": "2026-08-28T04:11:30.399816+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jundot/omlx"}, {"content_hash": "35977f038451754acf1819d747fd3394556bf6f3b0ae556aaaefe644826c10a6", "fetched_at": "2026-08-29T07:57:09.896527+00:00", "kind": "homepage", "missing": false, "url": "https://omlx.ai"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T16:58:33.061574+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "bfb48e1c64bfccb783f516300956d746ed66f78e27e961f116ad514281946b17", "fetched_at": "2026-08-28T04:11:30.399816+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jundot/omlx"}, {"content_hash": "35977f038451754acf1819d747fd3394556bf6f3b0ae556aaaefe644826c10a6", "fetched_at": "2026-08-29T07:57:09.896527+00:00", "kind": "homepage", "missing": false, "url": "https://omlx.ai"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T16:58:33.061574+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "bfb48e1c64bfccb783f516300956d746ed66f78e27e961f116ad514281946b17", "fetched_at": "2026-08-28T04:11:30.399816+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jundot/omlx"}, {"content_hash": "35977f038451754acf1819d747fd3394556bf6f3b0ae556aaaefe644826c10a6", "fetched_at": "2026-08-29T07:57:09.896527+00:00", "kind": "homepage", "missing": false, "url": "https://omlx.ai"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T16:58:33.061574+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "bfb48e1c64bfccb783f516300956d746ed66f78e27e961f116ad514281946b17", "fetched_at": "2026-08-28T04:11:30.399816+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jundot/omlx"}, {"content_hash": "35977f038451754acf1819d747fd3394556bf6f3b0ae556aaaefe644826c10a6", "fetched_at": "2026-08-29T07:57:09.896527+00:00", "kind": "homepage", "missing": false, "url": "https://omlx.ai"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 99, "longevity": 14, "rhythm": 87}, "computed_at": "2026-09-03T02:39:23.370411+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 201, "days_push": 7, "days_rel": 9, "gap_med": 0.0, "n_releases_24m": 97}, "score": 78, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}