{"adoption": {"forks": 97, "observed_at": "2026-08-28T04:05:18.927515+00:00", "stars": 1664}, "canonical_url": "https://ross.abutalabs.com/products/paddler", "card": {"archived": false, "artifact_type": "service", "description": "Open-source LLM/VLM load balancer and serving platform for self-hosting LLMs (and VLMs) at scale 🏓🦙 Alternative to projects like llm-d, Docker Model Runner, etc but with less moving parts and simple deployments built around ggml ecosystem. Runs on CPU and GPU.", "domain": ["large-language-models", "self-hosted", "artificial-intelligence", "infrastructure-as-code"], "enriched": true, "function": ["llm-inference", "load-testing", "monitoring", "http-server", "api-framework", "self-hosted"], "health_score": 96, "homepage": "https://paddler.intentee.com", "language": "Rust", "license": "Apache-2.0", "license_family": "permissive", "maturity": "active", "member_repos": ["intentee/paddler"], "name": "intentee/paddler", "platform": ["windows", "cli", "self-hosted"], "pushed_at": "2026-07-19T19:36:21+00:00", "repo": "intentee/paddler", "stars": 1664, "tags": ["llamacpp", "load-balancer", "llmops", "openai-compatible", "embeddings", "autoscaling", "rust", "devops", "linux", "macos", "docker", "gpu"], "topics": ["ai", "llamacpp", "llm", "llmops", "load-balancer"], "urls": [], "use_cases": ["self-host llms on my own servers", "load balance llama.cpp inference across multiple hosts", "scale llm inference from zero with autoscaling", "run open source models for privacy-sensitive data", "reduce llm costs compared to per-token api pricing", "serve embeddings and chat completions with openai-compatible api", "monitor and manage llm deployments via web panel"], "what_it_is": "Paddler is an open-source LLM/VLM load balancer and serving platform built around the llama.cpp (ggml) ecosystem, packaged as a single Rust binary with a balancer and agent components. It supports CPU and GPU inference, dynamic agent scaling, model swapping, request buffering, a web admin panel, and observability metrics for self-hosting LLMs at scale.", "when_to_avoid": ["you need a managed cloud LLM service without infrastructure to operate", "you require a complex multi-model orchestration platform with many moving parts", "you need inference engines beyond the ggml/llama.cpp ecosystem", "you need a fully mature enterprise product with long-term support"], "when_to_choose": ["you want self-hosted LLM inference with simple single-binary deployment", "you need LLM-aware load balancing and scale-from-zero with request buffering", "privacy, compliance, or predictable cost requires keeping inference on your own infrastructure", "you want built-in llama.cpp engine with CPU, CUDA, Metal, or Vulkan support"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/paddler", "repo": "intentee/paddler", "role": "main", "score": 87}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:05:18.927515+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T03:44:29.066859+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "063d9497b3ce40f1d58ef5f32a0753d9871b31576793d42f0a55937d44e61254", "fetched_at": "2026-08-28T04:05:18.927515+00:00", "kind": "readme", "missing": false, "url": "https://github.com/intentee/paddler"}, {"content_hash": "120f53db4f85a33b26516f24abaa55ddeb4433b12b435fe2080b6516ed14964f", "fetched_at": "2026-08-29T11:16:40.151751+00:00", "kind": "homepage", "missing": false, "url": "https://paddler.intentee.com"}, {"content_hash": "f804bc3c526207c266a02e68a82b07f7ad2a0ae3c530a833829beda444ec05a0", "fetched_at": "2026-08-29T11:16:40.160216+00:00", "kind": "site_page", "missing": false, "url": "https://paddler.intentee.com/docs/introduction/what-is-paddler"}, {"content_hash": "f78060e82d26aacf45aa1cfa4b60defa88b51a2ca630c7e3f1779da337597a5f", "fetched_at": "2026-08-29T11:16:40.162257+00:00", "kind": "site_page", "missing": false, "url": "https://paddler.intentee.com/docs/introduction/installation"}, {"content_hash": "72a4507672e79f4f45121e676862705481bc4d1c972d342366b73913e15d9276", "fetched_at": "2026-08-29T11:16:40.164071+00:00", "kind": "registry_crates", "missing": false, "url": "https://crates.io/api/v1/crates/paddler"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:05:18.927515+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T03:44:29.066859+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "063d9497b3ce40f1d58ef5f32a0753d9871b31576793d42f0a55937d44e61254", "fetched_at": "2026-08-28T04:05:18.927515+00:00", "kind": "readme", "missing": false, "url": "https://github.com/intentee/paddler"}, {"content_hash": "120f53db4f85a33b26516f24abaa55ddeb4433b12b435fe2080b6516ed14964f", "fetched_at": "2026-08-29T11:16:40.151751+00:00", "kind": "homepage", "missing": false, "url": "https://paddler.intentee.com"}, {"content_hash": "f804bc3c526207c266a02e68a82b07f7ad2a0ae3c530a833829beda444ec05a0", "fetched_at": "2026-08-29T11:16:40.160216+00:00", "kind": "site_page", "missing": false, "url": "https://paddler.intentee.com/docs/introduction/what-is-paddler"}, {"content_hash": "f78060e82d26aacf45aa1cfa4b60defa88b51a2ca630c7e3f1779da337597a5f", "fetched_at": "2026-08-29T11:16:40.162257+00:00", "kind": "site_page", "missing": false, "url": "https://paddler.intentee.com/docs/introduction/installation"}, {"content_hash": "72a4507672e79f4f45121e676862705481bc4d1c972d342366b73913e15d9276", "fetched_at": "2026-08-29T11:16:40.164071+00:00", "kind": "registry_crates", "missing": false, "url": "https://crates.io/api/v1/crates/paddler"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T03:44:29.066859+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "063d9497b3ce40f1d58ef5f32a0753d9871b31576793d42f0a55937d44e61254", "fetched_at": "2026-08-28T04:05:18.927515+00:00", "kind": "readme", "missing": false, "url": "https://github.com/intentee/paddler"}, {"content_hash": "120f53db4f85a33b26516f24abaa55ddeb4433b12b435fe2080b6516ed14964f", "fetched_at": "2026-08-29T11:16:40.151751+00:00", "kind": "homepage", "missing": false, "url": "https://paddler.intentee.com"}, {"content_hash": "f804bc3c526207c266a02e68a82b07f7ad2a0ae3c530a833829beda444ec05a0", "fetched_at": "2026-08-29T11:16:40.160216+00:00", "kind": "site_page", "missing": false, "url": "https://paddler.intentee.com/docs/introduction/what-is-paddler"}, {"content_hash": "f78060e82d26aacf45aa1cfa4b60defa88b51a2ca630c7e3f1779da337597a5f", "fetched_at": "2026-08-29T11:16:40.162257+00:00", "kind": "site_page", "missing": false, "url": "https://paddler.intentee.com/docs/introduction/installation"}, {"content_hash": "72a4507672e79f4f45121e676862705481bc4d1c972d342366b73913e15d9276", "fetched_at": "2026-08-29T11:16:40.164071+00:00", "kind": "registry_crates", "missing": false, "url": "https://crates.io/api/v1/crates/paddler"}], "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:05:18.927515+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:05:18.927515+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:05:18.927515+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T03:44:29.066859+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "063d9497b3ce40f1d58ef5f32a0753d9871b31576793d42f0a55937d44e61254", "fetched_at": "2026-08-28T04:05:18.927515+00:00", "kind": "readme", "missing": false, "url": "https://github.com/intentee/paddler"}, {"content_hash": "120f53db4f85a33b26516f24abaa55ddeb4433b12b435fe2080b6516ed14964f", "fetched_at": "2026-08-29T11:16:40.151751+00:00", "kind": "homepage", "missing": false, "url": "https://paddler.intentee.com"}, {"content_hash": "f804bc3c526207c266a02e68a82b07f7ad2a0ae3c530a833829beda444ec05a0", "fetched_at": "2026-08-29T11:16:40.160216+00:00", "kind": "site_page", "missing": false, "url": "https://paddler.intentee.com/docs/introduction/what-is-paddler"}, {"content_hash": "f78060e82d26aacf45aa1cfa4b60defa88b51a2ca630c7e3f1779da337597a5f", "fetched_at": "2026-08-29T11:16:40.162257+00:00", "kind": "site_page", "missing": false, "url": "https://paddler.intentee.com/docs/introduction/installation"}, {"content_hash": "72a4507672e79f4f45121e676862705481bc4d1c972d342366b73913e15d9276", "fetched_at": "2026-08-29T11:16:40.164071+00:00", "kind": "registry_crates", "missing": false, "url": "https://crates.io/api/v1/crates/paddler"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:05:18.927515+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:05:18.927515+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T03:44:29.066859+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "063d9497b3ce40f1d58ef5f32a0753d9871b31576793d42f0a55937d44e61254", "fetched_at": "2026-08-28T04:05:18.927515+00:00", "kind": "readme", "missing": false, "url": "https://github.com/intentee/paddler"}, {"content_hash": "120f53db4f85a33b26516f24abaa55ddeb4433b12b435fe2080b6516ed14964f", "fetched_at": "2026-08-29T11:16:40.151751+00:00", "kind": "homepage", "missing": false, "url": "https://paddler.intentee.com"}, {"content_hash": "f804bc3c526207c266a02e68a82b07f7ad2a0ae3c530a833829beda444ec05a0", "fetched_at": "2026-08-29T11:16:40.160216+00:00", "kind": "site_page", "missing": false, "url": "https://paddler.intentee.com/docs/introduction/what-is-paddler"}, {"content_hash": "f78060e82d26aacf45aa1cfa4b60defa88b51a2ca630c7e3f1779da337597a5f", "fetched_at": "2026-08-29T11:16:40.162257+00:00", "kind": "site_page", "missing": false, "url": "https://paddler.intentee.com/docs/introduction/installation"}, {"content_hash": "72a4507672e79f4f45121e676862705481bc4d1c972d342366b73913e15d9276", "fetched_at": "2026-08-29T11:16:40.164071+00:00", "kind": "registry_crates", "missing": false, "url": "https://crates.io/api/v1/crates/paddler"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:05:18.927515+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:05:18.927515+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:05:18.927515+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T03:44:29.066859+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "063d9497b3ce40f1d58ef5f32a0753d9871b31576793d42f0a55937d44e61254", "fetched_at": "2026-08-28T04:05:18.927515+00:00", "kind": "readme", "missing": false, "url": "https://github.com/intentee/paddler"}, {"content_hash": "120f53db4f85a33b26516f24abaa55ddeb4433b12b435fe2080b6516ed14964f", "fetched_at": "2026-08-29T11:16:40.151751+00:00", "kind": "homepage", "missing": false, "url": "https://paddler.intentee.com"}, {"content_hash": "f804bc3c526207c266a02e68a82b07f7ad2a0ae3c530a833829beda444ec05a0", "fetched_at": "2026-08-29T11:16:40.160216+00:00", "kind": "site_page", "missing": false, "url": "https://paddler.intentee.com/docs/introduction/what-is-paddler"}, {"content_hash": "f78060e82d26aacf45aa1cfa4b60defa88b51a2ca630c7e3f1779da337597a5f", "fetched_at": "2026-08-29T11:16:40.162257+00:00", "kind": "site_page", "missing": false, "url": "https://paddler.intentee.com/docs/introduction/installation"}, {"content_hash": "72a4507672e79f4f45121e676862705481bc4d1c972d342366b73913e15d9276", "fetched_at": "2026-08-29T11:16:40.164071+00:00", "kind": "registry_crates", "missing": false, "url": "https://crates.io/api/v1/crates/paddler"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:05:18.927515+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:05:18.927515+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T03:44:29.066859+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "063d9497b3ce40f1d58ef5f32a0753d9871b31576793d42f0a55937d44e61254", "fetched_at": "2026-08-28T04:05:18.927515+00:00", "kind": "readme", "missing": false, "url": "https://github.com/intentee/paddler"}, {"content_hash": "120f53db4f85a33b26516f24abaa55ddeb4433b12b435fe2080b6516ed14964f", "fetched_at": "2026-08-29T11:16:40.151751+00:00", "kind": "homepage", "missing": false, "url": "https://paddler.intentee.com"}, {"content_hash": "f804bc3c526207c266a02e68a82b07f7ad2a0ae3c530a833829beda444ec05a0", "fetched_at": "2026-08-29T11:16:40.160216+00:00", "kind": "site_page", "missing": false, "url": "https://paddler.intentee.com/docs/introduction/what-is-paddler"}, {"content_hash": "f78060e82d26aacf45aa1cfa4b60defa88b51a2ca630c7e3f1779da337597a5f", "fetched_at": "2026-08-29T11:16:40.162257+00:00", "kind": "site_page", "missing": false, "url": "https://paddler.intentee.com/docs/introduction/installation"}, {"content_hash": "72a4507672e79f4f45121e676862705481bc4d1c972d342366b73913e15d9276", "fetched_at": "2026-08-29T11:16:40.164071+00:00", "kind": "registry_crates", "missing": false, "url": "https://crates.io/api/v1/crates/paddler"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T03:44:29.066859+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "063d9497b3ce40f1d58ef5f32a0753d9871b31576793d42f0a55937d44e61254", "fetched_at": "2026-08-28T04:05:18.927515+00:00", "kind": "readme", "missing": false, "url": "https://github.com/intentee/paddler"}, {"content_hash": "120f53db4f85a33b26516f24abaa55ddeb4433b12b435fe2080b6516ed14964f", "fetched_at": "2026-08-29T11:16:40.151751+00:00", "kind": "homepage", "missing": false, "url": "https://paddler.intentee.com"}, {"content_hash": "f804bc3c526207c266a02e68a82b07f7ad2a0ae3c530a833829beda444ec05a0", "fetched_at": "2026-08-29T11:16:40.160216+00:00", "kind": "site_page", "missing": false, "url": "https://paddler.intentee.com/docs/introduction/what-is-paddler"}, {"content_hash": "f78060e82d26aacf45aa1cfa4b60defa88b51a2ca630c7e3f1779da337597a5f", "fetched_at": "2026-08-29T11:16:40.162257+00:00", "kind": "site_page", "missing": false, "url": "https://paddler.intentee.com/docs/introduction/installation"}, {"content_hash": "72a4507672e79f4f45121e676862705481bc4d1c972d342366b73913e15d9276", "fetched_at": "2026-08-29T11:16:40.164071+00:00", "kind": "registry_crates", "missing": false, "url": "https://crates.io/api/v1/crates/paddler"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T03:44:29.066859+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "063d9497b3ce40f1d58ef5f32a0753d9871b31576793d42f0a55937d44e61254", "fetched_at": "2026-08-28T04:05:18.927515+00:00", "kind": "readme", "missing": false, "url": "https://github.com/intentee/paddler"}, {"content_hash": "120f53db4f85a33b26516f24abaa55ddeb4433b12b435fe2080b6516ed14964f", "fetched_at": "2026-08-29T11:16:40.151751+00:00", "kind": "homepage", "missing": false, "url": "https://paddler.intentee.com"}, {"content_hash": "f804bc3c526207c266a02e68a82b07f7ad2a0ae3c530a833829beda444ec05a0", "fetched_at": "2026-08-29T11:16:40.160216+00:00", "kind": "site_page", "missing": false, "url": "https://paddler.intentee.com/docs/introduction/what-is-paddler"}, {"content_hash": "f78060e82d26aacf45aa1cfa4b60defa88b51a2ca630c7e3f1779da337597a5f", "fetched_at": "2026-08-29T11:16:40.162257+00:00", "kind": "site_page", "missing": false, "url": "https://paddler.intentee.com/docs/introduction/installation"}, {"content_hash": "72a4507672e79f4f45121e676862705481bc4d1c972d342366b73913e15d9276", "fetched_at": "2026-08-29T11:16:40.164071+00:00", "kind": "registry_crates", "missing": false, "url": "https://crates.io/api/v1/crates/paddler"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T03:44:29.066859+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "063d9497b3ce40f1d58ef5f32a0753d9871b31576793d42f0a55937d44e61254", "fetched_at": "2026-08-28T04:05:18.927515+00:00", "kind": "readme", "missing": false, "url": "https://github.com/intentee/paddler"}, {"content_hash": "120f53db4f85a33b26516f24abaa55ddeb4433b12b435fe2080b6516ed14964f", "fetched_at": "2026-08-29T11:16:40.151751+00:00", "kind": "homepage", "missing": false, "url": "https://paddler.intentee.com"}, {"content_hash": "f804bc3c526207c266a02e68a82b07f7ad2a0ae3c530a833829beda444ec05a0", "fetched_at": "2026-08-29T11:16:40.160216+00:00", "kind": "site_page", "missing": false, "url": "https://paddler.intentee.com/docs/introduction/what-is-paddler"}, {"content_hash": "f78060e82d26aacf45aa1cfa4b60defa88b51a2ca630c7e3f1779da337597a5f", "fetched_at": "2026-08-29T11:16:40.162257+00:00", "kind": "site_page", "missing": false, "url": "https://paddler.intentee.com/docs/introduction/installation"}, {"content_hash": "72a4507672e79f4f45121e676862705481bc4d1c972d342366b73913e15d9276", "fetched_at": "2026-08-29T11:16:40.164071+00:00", "kind": "registry_crates", "missing": false, "url": "https://crates.io/api/v1/crates/paddler"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 93, "longevity": 61, "rhythm": 93}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 858, "days_push": 45, "days_rel": 45, "gap_med": 26, "n_releases_24m": 18}, "score": 87, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}